如何用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.1],想利用这七组数拟合出一条空间曲线,并求出这条曲线对应的函数表达式,z为函数x和y是自变量。谢谢!

使用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.20004.0000   12.0000    1.50007.0000    4.0000    2.300010.0000   10.0000    2.500013.0000    2.0000   11.000016.0000    8.0000    9.00000         0        386.1000x=D(:,1);y=D(:,2);z=D(:,3);T=[x y x.*y x.*x y.*y ones(7,1)]\zT =-30.7039

-87.5047

2.9042

0.6209

4.4429

386.1000

syms x y

z=vpa([x y x*y x*x y*y 1]*T,4)

所以所求函数为 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

  • 12
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值