记得当时用的是:
用穷举法可以得到在k=2.605有最小的sse。python程序如下:
import math
theta=[0,0.15,0.2,0.25,0.4,0.5,0.6,0.7,0.75,0.85,1]
y=[0,0.016,0.03,0.045,0.1075,0.15,0.236,0.41,0.535,0.798,1]
y_hat=[]
all_sse=[]
def f(k,a):
return (math.exp(k*a)-1)/(math.exp(k)-1)
def get_sse(y,y_h):
sse=0
for i in range(len(y)):
sse=sse+(y[i]-y_h[i])**2
return sse
for k in range(26000,26200):
y_hat=[]
for v in theta:
y_hat.append(f(k/10000,v))
all_sse.append((get_sse(y,y_hat),k/10000))
print(min(all_sse))
拟合曲线:
|
实话说,能用硬件保证精度的仪器随时间的价值保有量远超过靠软件拟合的仪器价值高。因此,作为工程师还是以靠硬件提升性能作为第一要旨。
在范围内多取样点,一次线性不行,二次,三次都可以,反正按最小误 差值之和最小。做批量产品,最好自动样点的校正装置,这样可提高生产效率。可这样的成本远远超过用一个HCNR201.
如果那个电路都能保证精度,那21ic大概就只有1个人是有脑子的了。