matlab 最小二乘法

M=K*x*x*y知道xyM的一组值,用MATLAB能求出K来吗?若能的话,求程序。。。谢谢啦!... M=K*x*x*y
知道x y M的一组值,用MATLAB能求出K来吗?若能的话,求程序。。。谢谢啦!
展开
 我来答
刘威108
2014-03-30 · TA获得超过128个赞
知道答主
回答量:110
采纳率:100%
帮助的人:110万
展开全部
假设已知 x(i),y(i)为1*n的数组 此时M(i)为n*n的数组
首先最小二乘法的方法是 求使观测值减去拟合后的值的平方和最小
这里只有K这一个参数 直接求一次对K的倒数等于0 就出来了K值
平方和可以写成 (M(i)-m(i))^2=(M(i)-K*x*x*y)对i 求和
上式对K求导
-2(M(i)-K*x*x*y)对i求和=0 这是个一元一次方程 可以直接求解
这里边可以继续化简 把系数合到一起

下边写一下程序 x(i) y(i) M(i)你自己输入
a=0;
b=0;
for i=1:n
for j=1:n
a= (x(i)^2)*y(j)+a
end
end
for i=1:n*n
b=M(i)+b;
end
K=roots([2*a -2*b ]);

这样就结束了
知者智者也
2014-03-30 · TA获得超过1837个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:542万
展开全部
呵呵,你这不是M关于x y 两个变量的函数吗,直接用曲面拟合工具箱,输入sftool 打开,图形界面很好用。
追问
额,谢谢你的回答。。。但实际上我MATLAB只会一些极其简单的应用。。。所以。。。你说的。。。我不太懂。。。好尴尬。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式