如何用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

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页