数据拟合
程序员文章站
2024-03-24 23:02:10
...
使用MATLAB进行简单的数据拟合
1.使用MATLAB工具箱进行数据拟合
Matlab曲线拟合工具箱
运用Matlab拟合工具箱的命令为cftool
举例使用x=0:2*pi/100:2*pi-2*pi/100
100个数据点作为自变量,y=sin(x)
产生因变量,利用Linear Fitting进行拟合,结果如下:
2.使用函数进行拟合
polyfit(x,y,N)
这是一个运用多项式拟合的函数,使用该函数拟合出来的矩阵则是N阶多项式的系数矩阵,矩阵的维数和N有关。
具体而言,yy=polyfit(x,y,N)中第一个参数传递的是拟合数据的自变量,第二个参数是因变量,第三个参数是拟合多项式的阶数,我们可以给定不同的N,运用不同的多项式进行拟合。举个栗子:
x=0:2*pi/100:2*pi-2*pi/100;
y=sin(x);
yy=polyfit(x,y,5)
plot(x,yy(1)*x.^5+yy(2)*x.^4+yy(3)*x.^3+yy(4)*x.^2+yy(5)*x+yy(6))
其中,我们要如何判断阶数N呢,可以 写一个简单的误差判断程序:
for i=1:10
yy=polyfit(x,y,i);
Y=polyval(yy,x);
if sum((Y-y).^2)<0.01
c=i
break;
end
end
这是一种利用多项式进行拟合的方法。
polyfit函数只适合于形如y = a[k]*x^k + a[k-1]*x^(k-1) + … + a[1]*x + a[0]的完全的一元多项式的数据拟合。
上一篇: 动画效果_transition
下一篇: JAVA工具类之多图片合成与图片添加文字