永发信息网

高手来看看MATLAB的直线拟合?

答案:4  悬赏:0  手机版
解决时间 2021-06-03 18:21
  • 提问者网友:缘字诀
  • 2021-06-03 05:50

x=[2 4 6 8];
y=[2 11 28 40];
n=length(x);
xhe=0;
yhe=0;
xhe2=0;
xy=0;
for i=1:4
xhe=xhe+x(i);
yhe=yhe+y(i);
xhe2=xhe2+x(i)^2;
xy=xy+x(i)*y(i);
d=[n xhe;xhe xhe2];
c=[yhe xy]/d
end
c;

plot(x,y,'r')

上面的程序高手来看看怎么样改正成直线拟合,我运行出来时折线??

在线等~~!

最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-06-03 07:23
x=[2 4 6 8];
y=[2 11 28 40];
n=length(x);
xhe=0;
yhe=0;
xhe2=0;
xy=0;
for i=1:4
xhe=xhe+x(i);
yhe=yhe+y(i);
xhe2=xhe2+x(i)^2;
xy=xy+x(i)*y(i);
d=[n xhe;xhe xhe2];
c=[yhe xy]/d;
end
c;
dly=polyfit(y,x,1);
plot(dly,'r')
全部回答
  • 1楼网友:woshuo
  • 2021-06-03 10:55
东西呢
  • 2楼网友:你哪知我潦倒为你
  • 2021-06-03 09:37

同学,你怎么自己编写最小二乘的程序的,并且还是不对的

里面的好多循环可以省略的。

有专用的拟合工具箱的

cftool

  • 3楼网友:街头电车
  • 2021-06-03 08:18

>> x=[2 4 6 8]; >> y=[2 11 28 40]; >> polyfit(x,y,1)

ans =

6.5500 -12.5000

直接这样就可以的。这个函数就是y=6.5500*x-12.5000

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯