前言
还是跟之前一样,有部分命令写法可能混杂伪代码,但不妨碍理解
大家可能都学过《计算方法》/《数值分析》,里面很多的计算都可以很方便地用Matlab实现,
重点讲讲插值interpolation和拟合fitting
- 拟合 Fitting
- 插值 Interpolation
1. 拟合 Fitting
p = polyfit(x, y, 2) 多项式拟合,最后一个参数是多项式polynomial次数,p是项系数,p(1)是最高阶系数
z = polyval(p, x) 求拟合后的多项式的值z
s = sqrt(sum((z-y).^2)) 计算方均根误差
>> x = 0:0.05:1;
>> y = -x.^4+10*x.^2-x+10+rand(1,length(x));
>> plot(x,y,'x');hold on;
>> p = polyfit(x,y,2);
>> z = polyval(p,x);
>> plot(x,z,'r');hold off;grid on;
当然也可以直接使用应用程序里的拟合工具箱 Curve Fitting...