软件环境:MATLAB2013a
一、多项式拟合
多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小。
在MATLAB中,利用函数ployfit和ployval进行多项式拟合。
函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n)。其中x为自变量,y为因变量,n为多项式阶数。
polyval的输入可以是标量或矩阵,调用格式为
- pv = polyval(p,a)
- pv = polyval(p,A)
其中,p为多项式表示,a为标量,A为矩阵。当输入参数为M*N矩阵A时,函数返回值pv也是M*N矩阵,且pv(i,j) = polyval(p,A(i,j))。
1,多项式拟合示例:对ln(1+x)在[0,1]的采样数据作多项式拟合
(1)对ln(1+x)在[0,1]内采样得到观测数据x、y。
>> x = 0:0.1:1.0; >> y = log(1+x);
(2)调用函数polyfit对观测数据x、y作三阶多项式拟合。
>> P = polyfit(x,y,3)
运行结果如下:
P对应的多项式为0.1079 - 0.3974x + 0.9825x2 + 0.004x3.
(3)分别作拟合曲线和理论曲线
>> xi = 0:0.01:1.0; >> yi = polyval(P,xi); %多项式求值 >> plot(x,y,