【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的值?最小二乘法。
非线性度也能求出来最好! 展开
非线性度也能求出来最好! 展开
1个回答
展开全部
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
程序没运行过 大概思想是这样的
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
程序没运行过 大概思想是这样的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
富港检测技术(东莞)有限公司_
2024-04-02 广告
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发...
点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询