多项式拟合
1 数表的拟合计算:
所谓拟合是指寻找一条平滑的曲线,最不失真地去表现测量数据。反过来说,对测量
的实验数据,要对其进行公式化处理,也就是用一种计算方法,构造一个函数来近似表达
数表的函数关系。由于函数构造方法的不同,有许多的逼近方法,机械设计中常用最小平
方逼近(最小二乘法理论)来实现曲线的拟合。根据该理论可推导出计算公式,而 MATLAB
在此数学基础上用一个函数命令
即可实现,命令格式为:
式中:
、
为已知数据,
为拟合多项式的阶次,
为返回所得多项式的系数向量,
通常多项式拟合中阶数越大,拟合的精度就越高。
例 1:在工程技术中,通过实验获得一组
实验数据如下表 1:
表 1 实验实测数据
下面程序分别设
,
进行一阶和二阶的拟合,结果如图 1 所示。
% 曲线拟合(Curve fitting)
x=[0,1,2,3,4,5,6,7,8,9]
y=[0.0,1.2,3.8,8.5,17.1,20.2,34.8,45.0,67.6,85.0]
%绘实验节点数据
plot(x,y,'*r')
hold on
grid
%绘一阶拟合曲线
p1=polyfit(x,y,1)
py1=polyval(p1,x)
plot(x,py1,'g')
hold on
grid
%绘二阶拟合曲线
p2=polyfit(x,y,2)