一.多项式拟合
多项式拟合是多项式运算的一个重要组成部分,在工程及科研工作中都等到了广泛的应用。其实现一方面可以由矩阵的除法求解超定方程来进行;另一方面在MATLAB 中还提供了专门的拟合函数polyfit,其常用调用格式如下:
polyfit(X,Y,n):其中X ,Y 为拟合数据,n 为拟合多项式的阶数。 [p,s]=polyfit (X ,Y ,n ):其中p 为拟合多项式系数常量,s 为拟合多项式系数常量的结构信息。
1.用5阶多项式对[0,pi/2]上的正弦函数进行最小二乘拟合。
x=0:pi/20:pi/2; y=sin(x);
a=polyfit(x,y,5); x1=0:pi/30:pi*2; y1=sin(x1);
y2=a(1)*x1.^5+a(2)*x1.^4+a(3)*x1.^3+a(4)*x1.^2+a(5)*x1+a(6); plot(x1,y1,'b-',x1,y2,'r*') legend('原曲线','拟合曲线') axis([0,7,-1.2,4])
1
2
3
4
5
6
7
-1-0.500.511.522.533.54
原曲线拟合曲线