用MATLAB怎么将数据拟合成直线?

举个简单的例子:

x取1、2、3、4、5时y分别取3、6、8、11、15

告诉我MATLAB程序,我是菜鸟

matlab 自带有cftool toolbox。在command window里面输入 cftool,回车就能打开工具箱了。如下图:

可以看到左边有x data, y data, z data; 如果是二维拟合,那么只需要x,y, 三维拟合就需要增加z data。 点击中间的interpolant,下拉是拟合的方式选择:

种类非常之多,选择完之后,就可以看到拟合的公式,均方根误差,拟合出来的图。不同的拟合方式性能不一样,自己可以根据自己的需要选择。引导到这里,剩下的自己尝试下就能出结果了。举例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-09-04
函数polyfit用于多项式曲线拟合
p=polyfit(x,y,m)
其中, x, y为已知数据点向量, 分别表示横,纵坐标, m为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.
利用y0=polyval(p,x0),可求得多项式在x0处的值y0

源程序如下:
x=[1 2 3 4 5];
y=[3 6 8 11 15];
p=polyfit(x,y,1);
x0=1:7;
plot(x,y,'*',x0,polyval(p,x0));本回答被提问者和网友采纳