0

对于 2D 空间,我使用了 lsqcurvefit。但是对于 3D 空间,我还没有找到任何简单的功能。

我试图适应的功能有这样的形式:

z = f(x,y) = a+b*x+c*e^(-y/d)

我想知道是否有任何工具箱或功能可以以最小二乘的方式拟合此类数据。或者可以以某种方式使用lsqcurvefit吗?

否则我想我必须自己写一些东西。回到理论阅读我猜。

所以,任何帮助将不胜感激。

谢谢。

4

1 回答 1

1

lsqcurvefit 应该能够处理问题中给出的函数。我现在没有办法验证此代码,但我相信它应该可以工作:

clear variables

f = @(p, x)(p(1)+p(2)*x(:, 1)+p(3)*e.^(-x(:, 2)/p(4)));

xydata = [ 0 0 ; 1 1 ; 2 2 ; 3 3 ];
zdata = [ 0 ; 1 ; 2 ; 3 ];

x = lsqcurvefit(f, [ 0 0 0 0 ], xydata, zdata);
于 2014-06-29T15:18:07.620 回答