如何在matlab中用最小二乘法拟合的方式求解方程系数?

y=c1z1+c2z2+c3z3c1c2c3都是未知常系数,yz1z2z3都是已知数组。求问应该怎么求这个c1c2c3?... y=c1z1+c2z2+c3z3
c1c2c3都是未知常系数,
y z1 z2 z3都是已知数组。
求问应该怎么求这个c1c2c3?
展开
 我来答
lhmhz
高粉答主

2020-07-27 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16990

向TA提问 私信TA
展开全部
如何在matlab中用最小二乘法拟合的方式求解 y=c1*z1+c2*z2+c3*z3 方程系数(c1,c2,c3)?我们可以按下列方法来求解:
第一步,读取数据,z1、z2、z3和y,然后组成z数组向量,即z=[z1 z2 z3]
第二步,自定义拟合函数,即
func=@(c,z)c(1)*z(:,1)+c(2)*z(:,2)+c(3)*z(:,3)
第三步,确定c的初值,该值应根据函数来确定。
第四步,使用lsqcurvefit函数,求解拟合系数,即
c=lsqcurvefit(func,c0,z,y)
第五步,计算拟合值,y1=func(c,z);
第六步,利用相关系数公式,计算R^2,如R^2≈1,说明拟合正确。
更多追问追答
追问
还有点问题,这个第四步的c0是什么?
追答
c0是初值
倾意luo8
2020-07-27
知道答主
回答量:11
采纳率:0%
帮助的人:6016
展开全部
111111.11111111.1111111
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式