import numpy as np from scipy.optimize import curve_fit # NXFT15XH103 data = np.array([ [-40,197338], [-35,149395], [-30,114345], [-25,88381], [-20,68915], [-15,54166], [-10,42889], [-5,34196], [0,27445], [5,22165], [10,18010], [15,14720], [20,12099], [25,10000], [30,8309], [35,6939], [40,5824], [45,4911], [50,4160], [55,3539], [60,3024], [65,2593], [70,2233], [75,1929], [80,1673], [85,1455], [90,1270], [95,1112], [100,976], [105,860], [110,759], [115,673], [120,598], [125,532], ]) T_K = data[:, 0] + 273.15 R = data[:, 1] def steinhart_hart(R, A, B, C): return 1 / (A + B * np.log(R) + C * (np.log(R))*(np.log(R))*(np.log(R))) params, _ = curve_fit(steinhart_hart, R, 1/T_K) A, B, C = params print(f"A: {A}, B: {B}, C: {C}")