资源简介
matlab中对三维点云利用最小二乘法进行平面拟合,该程序本人自己写的一个子程序
代码片段和文件信息
function [abcd]=PlaneFitting(s) %ABCD为平面方程系数,s为测量点阵求平面方程平面方程D=Ax+By+Cz
x=s(:1);%s的第1列x
y=s(:2);%s的第2列
z=s(:3);%s的第3列
so=mean(s1);%对xyz求均值
xo=so(:1);%x的均值
yo=so(:2);%y的均值
zo=so(:3);%z的均值
os=bsxfun(@minussso);%xyz与其均值之差
ox=os(:1);%x与其均值之差
oy=os(:2);%y与其均值之差
oz=os(:3);%z与其均值之差
oxox=sum(bsxfun(@timesoxox));
oyoy=sum(bsxfun(@timesoyoy));
ozoz=sum(bsxfun(@timesozoz));%xyz的方差
oxoy=sum(bsxfun(@timesoxoy));
oxoz=sum(bsxfun(@timesoxoz));
oyoz=sum(bsxfun(@timesoyoz));%xyz的互协方差
oxyz=[oxoxoxoyoxoz;oxoyoyoyoyoz;oxozoyozozoz];%xyz的协方差阵
% [VD]=eig(oxyz)%进行特征分解
% [~t]=min([abs([D(11)D(22)D(33)])])%最小特征值所对应的特征向量就是平面方程系数
% a=V(1t);
% b=V(2t);
% c=V(3t);
[USV]=svd(oxyz);% 协方差矩阵的SVD变换中,最小奇异值对应的奇异向量就是平面的方向
a=V(13);
b=V(23);
c=V(33);
d=a*xo+b*yo+c*zo;%输出平面方程系数
% % % n=size(s1);
% % % xx=x.*x;
% % % yy=y.*y;
% % % zz=z.*z;
% % % xy=x.*y;
% % % xz=x
相关资源
- 最小二乘法曲线拟合(MATLAB)
- 偏最小二乘分析matlab工具包
- 线性拟合仿真-最小二乘法、正交回归
- 最小二乘滤波算法正弦波
- TOA定位两步加权最小二乘MATLAB算法程
- matlab实现三维点云三角化
- Matlab 三维点云 三角化
- 基于多元线性回归的分析
- 各种最小二乘法总结算法+matlab源码
- MATLAB 三维点云重构Surface recostruction
- 各种最小二乘法汇总算例及MATLAB程序
- 简单的matlab实现的ransac平面拟合程序
- 最新版,最小二乘支持向量机2010年
- 最小二乘支持向量机matlab程序+使用教
- matlab delaunary 三维点云三角化
- 移动最小二乘法曲面拟合等步长采样
- 基于高斯球的三维点云精简,matlab实
- 最小二乘算法总结算法+程序
- 最小二乘支持向量机MATLAB程序附详细
- Image Deformation Using Moving Least Squares 移
- 各种最小二乘法汇总(算例及MATLAB程
- 偏最小二乘法资料和matlab程序
- matlab 最小二乘蒙特卡罗LMS美式期权定
- 偏最小二乘方法的MATLAB算法实现
- 偏最小二乘PLS和一些光谱预处理的m
- 递推最小二乘估计(RLS)及模型阶次
- 最小二乘 函数拟合 多项式 指数函数
- 最小二乘法电池参数辨识
- 最小二乘法的Matlab算法
- 数值分析 最小二乘拟合
评论
共有 条评论