| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import numpy as np
- from scipy.optimize import curve_fit
- # NXFT18XH103F05RL
- data = np.array([
- [-40,195652],
- [-35,148171],
- [-30,113347],
- [-25,87559],
- [-20,68237],
- [-15,53650],
- [-10,42506],
- [-5,33892],
- [0,27219],
- [5,22021],
- [10,17926],
- [15,14674],
- [20,12081],
- [25,10000],
- [30,8315],
- [35,6948],
- [40,5834],
- [45,4917],
- [50,4161],
- [55,3535],
- [60,3014],
- [65,2586],
- [70,2228],
- [75,1925],
- [80,1669],
- [85,1452],
- [90,1268],
- [95,1110],
- [100,974],
- [105,858],
- [110,758],
- [115,672],
- [120,596],
- [125,531],
- ])
- 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}")
|