对于2D空间,我使用了 lsqcurvefit 。但是对于3D空间我还没有找到任何简单的功能。
我想要适合的功能有这样的形式:
z = f(x,y)= a + b * x + c * e ^( - y / d)
我想知道是否有任何工具箱或函数来拟合这种数据,至少是方形意义。或者可以以某种方式使用 lsqcurvefit 吗?
否则我想我必须自己写点东西。回到理论阅读我想。
所以,任何帮助都将受到赞赏。
感谢。
答案 0 :(得分: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);