赞
踩
设有二次曲面:
其中,(x, y, z)为已知三维点坐标。
令:
解算系数矩阵A。
代码如下:
- function [aa,zfit] = Powerfit(data)
- X = data(:,1);
- Y = data(:,2);
- Z = data(:,3);
- clear data
- xfit2 = X.^2;
- yfit2 = Y.^2;
- xyfit = X.*Y;
- % 系数矩阵
- A = [xfit2, yfit2, xyfit, X, Y, ones(length(xfit2), 1)];
- aa = A\Z;
- zfit = aa(1)*X.^2+aa(2)*Y.^2+aa(3)*X.*Y+aa(4)*X+aa(5)*Y+aa(6);
- end
随机生成300个点进行拟合实验,结果如下:
其中红色“*”为随机生成的离散点,其较好地附着在曲面上。
测试数据与示例代码见:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。