[Matlab] LS(least squares)拟合3D平面

Posted lovebuzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Matlab] LS(least squares)拟合3D平面相关的知识,希望对你有一定的参考价值。

function [a,b,c,d]=get_LS_plane(data)
% a*x + b*y + c*z + d = 0
planeData=data;
% 协方差矩阵的SVD变换中,最小奇异值对应的奇异向量就是平面的方向
xyz0=mean(planeData,1);
centeredPlane=bsxfun(@minus,planeData,xyz0);
[~,~,V]=svd(centeredPlane);
a=V(1,3);
b=V(2,3);
c=V(3,3);
d=-dot([a b c],xyz0);

end

  

以上是关于[Matlab] LS(least squares)拟合3D平面的主要内容,如果未能解决你的问题,请参考以下文章

批量最小二乘算法(Least Square,LS)

如何在R里面实现偏最小二乘回归法partial least squares 回归

Least Squares & Nearest Neighbors

最小二乘法least square

最小二乘法(Least Squares)简介

当 scipy.optimize.minimize 可能用于相同的事情时,为啥 scipy.optimize.least_squares 存在?