MATLAB 数据拟合方法
曲线拟合也叫曲线逼近,与插值函数有些区别,其只要求拟合的曲线能合理地反映数据的基本趋势,并不要求曲线一定通过数据点。曲线拟合有几种不同的判别准则,如使偏差的绝对值之和最小、使偏差的最大绝对值最小和使偏差的平方和最小(即最小二乘法)。常用的方法是最后一种。
多项式拟合
将数据点按多项式的形式进行拟合,使用最小二乘法,可以确定多项式的系数。多项式拟合有指令语句和图形窗口两种方法:
1 多项式拟合指令
polyfit(X,Y,N)
:多项式拟合,返回降幂排列的多项式系数。
polyval(P,XI)
:计算多项式的值。
其中,
X
X
,是数据点的值;
N
N
是拟合的最高次幂;是返回的多项式系数;
XI
X
I
是要求的点的横坐标。例如,要对表1-2中的数据进行多项式拟合。数据如下:
x x | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
9 | 7 | 6 | 3 | -1 | 2 | 5 | 7 | 20 |
matlab代码:
%% 多项式拟合指令
x=[1 2 3 4 5 6 7 8 9];
y=[9 7 6 3 -1 2 5 7 20];
P=polyfit(x,y,3);
xi=0:.2:10;
yi=polyval(P,xi);
plot(xi,yi,x,y,'r*');
运行结果:
2 工具包拟合
具体步骤如下:
1. 打开工具包
2. 设置拟合参数,分别选择多项式1 、2、3