如何用Matlab实现三维曲线的拟合,并求出曲线的函数表达式(方程)?

现有如下七组数据(x,y,z)=[1,6,9.2],[4,12,1.5],[7,4,2.3],[10,10,2.5],[13,2,11],[16,8,9][0,0,386... 现有如下七组数据(x,y,z)=[1,6,9.2],[4,12,1.5],[7,4,2.3],[10,10,2.5],[13,2,11],[16,8,9][0,0,386.1],想利用这七组数拟合出一条空间曲线,并求出这条曲线对应的函数表达式,z为函数x和y是自变量。 展开
 我来答
混在空气里
推荐于2019-11-15 · TA获得超过2258个赞
知道小有建树答主
回答量:10
采纳率:88%
帮助的人:1288
展开全部

使用griddata函数,可进行三维拟合,并求出任意点处的值,之前用过求电流温度和电阻率的函数拟合如下rq=griddata(i,t,r,iq,tq) 。

具体过程如下:

D=[[1,6,9.2];[4,12,1.5];[7,4,2.3];[10,10,2.5];[13,2,11];[16,8,9];[0,0,386.1]]
D =
1.0000    6.0000    9.2000
4.0000   12.0000    1.5000
7.0000    4.0000    2.3000
10.0000   10.0000    2.5000
13.0000    2.0000   11.0000
16.0000    8.0000    9.0000
0         0        386.1000
x=D(:,1);y=D(:,2);
z=D(:,3);
T=[x y x.*y x.*x y.*y ones(7,1)]\z
T =-30.7039

-87.5047

2.9042

0.6209

4.4429

386.1000


所以所求函数为 T(1)*x+T(2)*y+T(3).*x.*y+T(4)*x.^2+T(5)*y.^2+T(6)
即z=-30.7039x--87.5047y+2.9042xy+0.6209x^2+ 4.4429y^2+386.1000

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式