如何⽤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)matlab定义函数表达式
所以所求函数为 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