目录
需求
求解过程
3阶函数拟合函数效果图
进一步思考:
需求
????????PT100热电偶串入到电路中,只能测量电压V1和对应的温度值T,求T和V之间的公式,不确定是几阶的函数,运放的参数也未知。
求解过程
????????使用Python代码,用1,2,3阶的拟合函数来求解(4阶匹配效果很差),核心代码为;
a1=np.polyfit(x,y,1)#用1次多项式拟合x,y数组
a2=np.polyfit(x,y,2)#用2次多项式拟合x,y数组
a3=np.polyfit(x,y,3)#用3次多项式拟合x,y数组
得到的参数值a1,a2,a3分别是多项式函数的系数列表;
print(type(a1),len(a1),a1)
>> <class 'numpy.ndarray'> 2 [ 3.11336537 -255.86029543]
print(type(a3),len(a3),a3)
>> <class 'numpy.ndarray'> 4 [ 6.94410163e-04 -2.22107559e-01 2.66542503e+01 -1.08274828e+03]
计算拟合函数的计算结果和真实值的误差值:
error_rate=0
for i in range(len(y)):
error_rate=error_rate+abs(c3[i]-y[i])/y[i]
error_rate=(error_rate/len(y))*100
print("误差率为:",error_rate,"%")
3阶函数拟合函数效果图
? 结果显示在图上:
进一步思考:
? ? ? ?这个过程实际上就是半个继续学习的代码,只要把误差率最小作为目标,持续不断的寻找最佳权重值,就可以得到这个拟合函数,实现 输入源(被识别对象)和输出值(识别结果)的AI识别。简单点说,经过给出几个电压和温度的关系,下次你再告诉它电压,它就会告诉你温度是多少。
|