关于matlab下用最小二乘法拟合曲面的问题

我在matlab下想对函数z=a(1)*x+a(2)*y+a(3)进行最小二乘拟合,数据为x=[1.523.033.274.20.93-4.2-3.27-3.03-1.5... 我在matlab下想对函数z=a(1)*x+a(2)*y+a(3)进行最小二乘拟合,数据为
x=[1.52 3.03 3.27 4.2 0.93 -4.2 -3.27 -3.03 -1.52];
y=[0.8 2.1 4.6 7.1 8.4 7.1 4.6 2.1 0.8];
z=[2.16 2.4 2.69 3.82 3.02 2.68 2.5 2.48 2.31];
查了不少资料,没有找到解决办法,还请各位多多帮忙。谢谢。
我是想实现曲面拟合,谢谢!
展开
 我来答
wacs5
推荐于2016-03-19 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2753万
展开全部
x=[1.52 3.03 3.27 4.2 0.93 -4.2 -3.27 -3.03 -1.52];
y=[0.8 2.1 4.6 7.1 8.4 7.1 4.6 2.1 0.8];
z=[2.16 2.4 2.69 3.82 3.02 2.68 2.5 2.48 2.31];
A=[x',y',ones(size(x'))];
a=A\z'

得到
a =
0.0592
0.1269
2.1371
就是说a(1)=0.0592
a(2)=0.1269
a(3)=2.371

原理:
我们可以把这题看成已知x,y,z,来求a(1),a(2),a(3)
由于表达式对于a(1),a(2),a(3)来说是线性的。
也就相当于求解三元一次方程组(只不过这里的方程数比未知数个数多)。这个可以用矩阵来解决。
你先看一下上面构造出来的A,然后再看一下A乘以[a1;a2;a3]这个列向量。
可能你就知道上面是什么意思了。
张庆0317
2008-09-28 · TA获得超过383个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:258万
展开全部
用命令rstool 自 己看帮助吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓杰_张
2012-12-17 · 超过10用户采纳过TA的回答
知道答主
回答量:30
采纳率:100%
帮助的人:25.5万
展开全部
这个拟合出来的是平面吧,怎么能是曲面拟合呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式