| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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}")
|