【MATLAB】如何用最小二乘法拟合直线?

已知x和y之间是线性关系,且y=kx+b,某次实验测得数据为x=[123456];y=[2.13.96.18.210.312];如何用MATLAB画出拟合直线并求出k和b... 已知x和y之间是线性关系,且y=kx+b,某次实验测得数据为 x=[1 2 3 4 5 6];y=[2.1 3.9 6.1 8.2 10.3 12]; 如何用MATLAB画出拟合直线并求出k和b的值?最小二乘法。
非线性度也能求出来最好!
展开
 我来答
644792799
推荐于2017-09-10 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:517万
展开全部
x=[1 2 3 4 5 6];
y=[2.1 3.9 6.1 8.2 10.3 12];
nh1=polyfit(x,y,2);%这里是二次拟合,你也可以先画出大概图形 估计它是几次曲线然后再判断是1 2 还是3.。。等。
m=1:.5:6;%m是根据散点x来定的。
nh2=polyval(nh1,m);
plot(x,y,'+',m,nh2)

这是拟合图形

用最小二乘法求值就是用最小二乘法所导出的正规方程组的矩阵形式来求。
根据题意求一次拟合系数如下:

for i=1:6
for j=1:2
A(i,j)=i.^(j-1)
end
end
K=A'*A;
Final=K'*A'*y'
求出的第一个数为b,第二个是k
程序没运行过 大概思想是这样的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式