ployfit是matlab中基于最小二乘法的多项式拟合函数。最基础的用法如下:
C=polyfit(X,Y,N)
其中:
X : 需要拟合的点的横坐标
Y:需要拟合的点的纵坐标
N:以N阶多项式进行拟合
C:返回的N+1个拟合系数。
Y'=polyval(C,X')
其中:
C:N+1个拟合系数
Y':根据X'(横坐标)和拟合系数算出来的纵坐标
X=0:0.1:1;
Y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
C=polyfit(X,Y,2);
Z=polyval(C,X);
plot(X,Y,'r*',X,Z,'b');%n=2阶显示拟合结果
hold on
D=polyfit(X,Y,4);
M=polyval(D,X);
plot(X,M,'r')%n=4阶进行拟合的曲线结果
hold on
D=polyfit(X,Y,10);
M=polyval(D,X);
plot(X,M,'g')%n=10阶进行拟合的曲线结果
%经过上述实验n越大,即拟合阶数越大,曲线越接近离散点,但曲线越不平滑