根据以下帖子整理:
一、用函数方式实现曲线拟合
http://www.cnblogs.com/linkr/p/3632032.html
https://blog.csdn.net/sinat_20265495/article/details/50043833
如何确定拟合的多项式阶数的N?
https://blog.csdn.net/it_beecoder/article/details/78779385
二、cftool工具箱拟合
https://blog.csdn.net/laobai1015/article/details/77537145
https://blog.csdn.net/sinat_20265495/article/details/50043833
三、如何评价拟合曲线好坏?
https://blog.csdn.net/u012035588/article/details/38
https://wenda.so.com/q/1534573717211596730809
一、用函数方式实现曲线拟合
这里简单的记下两种常用的拟合方法。
1 多项式拟合(polyfit和polyval)
polyfit可以对数据进行拟合(自定义用几次多项式),返回相应的参数,然后用polyval生成拟合后的数据点,下面的例子中我们对抛物线y=3x2+6x+5进行拟合。
x = -5:0.1:5;
y = 3*x.^2+6*x + 5 + randn(size(x));
p = polyfit(x,y,2);
yy = polyval(p,x);
plot(x,y,'.');
hold on;
plot(x,yy,'r','LineWidth',2)
polyfit(x,y,2)中x表示自变量,y表示因变量,2表示用二次曲线(抛物线)进行拟合,得到的p其实是对应的参数估计值,yy为拟合数据点。另外在实验中还加了一个随机噪声。结果如图: