线性拟合
已知如下图像的x,y坐标,x = [1.0, 1.5, 2.0, 2.5, 3.0],y = [0.9, 1.7, 2.2, 2.6, 3.0],如何用一条直线去拟合下列散点?
代码:
x = [1.0, 1.5, 2.0, 2.5, 3.0]';
y = [0.9, 1.7, 2.2, 2.6, 3.0]';
a = polyfit(x,y,1) % a会返回两个值,[斜率,x=0时y的值]
xi = 1:0.1:3;
yi = polyval(a,xi);
plot(x,y,'o',xi,yi);
拟合后的图像如下:
非线性拟合
普通非线性拟合:已知如下图像的x,y坐标,x = [1.0, 1.5, 2.0, 2.5, 3.0],y = [0.9, 1.7, 2.2, 2.6, 3.0],如何用一条曲线a*x+b*sin(x)+c去拟合下列散点?
代码:
x = [1.0, 1.5, 2.0, 2.5, 3.0]';
y =