数据拟合,又称曲线拟合,是通过求一个较为简单的函数去逼近一个复杂或未知的函数,即从一系列已知数据点[(x1,y1),(x2,y2),…,(xn,yn)]上得到一个解析函数y=f(x),得到的f(x)应当在原数据点xi上尽可能接近给定的yi值,但不必经过任何数据点。
MATLAB数据拟合的最优标准是采用最小二乘法,利用该方法求得的数据与实际数据之间的误差的平方和最小。
数据拟合是工程中经常用到的技术,MATLAB也为用户提供了曲线拟合工具箱,用户可使用polyfit函数来求得最小二乘拟合多项式的系数,再利用polyval函数按所得的多项式计算所给点的函数近似值。
polyfit函数的调用格式如下:
p=polyfit(x,y,n):找出拟合于数据的n阶多项式p(x)的系数。其中p(x)=p1xn+p2xn-1+…+pnx1+pn+1,n用于指定返回多项式的次数。
[p,S]=polyfit(x,y,n):返回多项式系数p和一个结构S,用于误差估计或预测。
[p,S,mu]=polyfit(x,y,n):将式(4-3)得到的取代x,找出多项式系数。
其中,u1=mean(x),即x的平均值;u2=std(x),即x的均方差;mu是一个由u1和u2组成的向量[u1,u2];是中心与缩放参数,以此为中心和缩放转换可以改进多项式和拟合算法的数组属性。
【例4.8】 已知某压力传感器的标定数据见表4.4,p为压力值,u为电压值,试调用多项式:u=ap3+bp2+cp+d,拟合其特性函数,绘制拟合曲线及标定点图。
表4.4 某压力传感器的标定数据(www.xing528.com)
在程序编辑窗口中编写以下语句,并以polyfit_example.m为名存入相应的子目录。
在MATLAB命令行窗口中输入下面的命令:
MATLAB会出现相应的结果:
拟合曲线及标定点如图4.6所示。
图4.6 拟合曲线及标定点
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。