回 帖 发 新 帖 刷新版面

主题:请教多元函数拟合问题



x=[2,3,4,5,5,5,6,6,7,7,8,22,22]
y=[18,15,8,3,4,6,8,15,12,18,12,6,8]
z=[2.062,1.685,1.444,1.445,1.371,1.298,1.333,1.352,1.299,1.288,1.269,1.342,1.208]


想求一个函数形式为z=ax^b+cy^d的表达式,怎样获得a,b,c,d
一元的可以用lsqcurvefit,多元的怎么办呢?

希望好心人给与指点,多谢了!!!

回复列表 (共3个回复)

沙发

==========================
一元的可以用lsqcurvefit,多元的怎么办呢?
==========================
多元也可以!!!!!

板凳

xdata=[2,3,4,5,5,5,6,6,7,7,8,22,22;18,15,8,3,4,6,8,15,12,18,12,6,8]';
zdata=[2.062,1.685,1.444,1.445,1.371,1.298,1.333,1.352,1.299,1.288,1.269,1.342,1.208]';
function y=myfun(beta,xdate)
   y=beta(1)*x(:,1).^beta(2)+beta(3)*x(:,2).^beta(4);

beta0=[1 1 1 1]
 lsqcurvefit(@myfun,beta0,xdata, zdata)

3 楼

[a,b,c,d]=[3.348065876,  -1.972425125,  1.281758395, -.1536809077e-1]

我来回复

您尚未登录,请登录后再回复。点此登录或注册