当前位置:   article > 正文

Matlab三维离散点曲面拟合_matlab三维离散点拟合曲面

matlab三维离散点拟合曲面

设有二次曲面:

z=ax2+by2+cxy+dx+ey

其中,(x, y, z)为已知三维点坐标。

令:

z=Ax=(abcde)[x2y2xyxy]

解算系数矩阵A。

代码如下:

  1. function [aa,zfit] = Powerfit(data)
  2. X = data(:,1);
  3. Y = data(:,2);
  4. Z = data(:,3);
  5. clear data
  6. xfit2 = X.^2;
  7. yfit2 = Y.^2;
  8. xyfit = X.*Y;
  9. % 系数矩阵
  10. A = [xfit2, yfit2, xyfit, X, Y, ones(length(xfit2), 1)];
  11. aa = A\Z;
  12. zfit = aa(1)*X.^2+aa(2)*Y.^2+aa(3)*X.*Y+aa(4)*X+aa(5)*Y+aa(6);
  13. end

随机生成300个点进行拟合实验,结果如下:

其中红色“*”为随机生成的离散点,其较好地附着在曲面上。

测试数据与示例代码见:

Matlab三维离散点的最小二乘二次曲面拟合

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/97139
推荐阅读
相关标签
  

闽ICP备14008679号