资源简介
提供测试用例,输入三维离散点空间坐标,可以直接获得最小二乘法的空间拟合直线,并可以求出每个离散点到空间直线的距离,方便剔除偏离较大的离散点

代码片段和文件信息
% 空间直线拟合,并求每个点到直线距离
% 读入已经存储在txt文件中每个点x y z 坐标,也可以直接读入二维数组,维数[点数*3]
clc;clear;close all;
lineData=importdata(‘3D.txt‘);
figure(‘Color‘[1 1 1]);
scatter3(lineData(:1) lineData(:2) lineData(:3));
xlabel ‘x‘;
ylabel ‘y‘;
zlabel ‘z‘;
%zlim([2.91e4 2.97e4]);
hold on;
% 拟合的直线必过所有坐标的算数平均值
xyz0=mean(lineData1);
% 协方差矩阵奇异变换,与拟合平面不同的是
% 所得直线的方向实际上与最大奇异值对应的奇异向量相同
centeredLine=bsxfun(@minuslineDataxyz0); %bsxfun函数是对矩阵中每个元素进行 减 操作
[USV]=svd(centeredLine); %以降序顺序返回矩阵的奇异值
direction=V(:1);
% 画图
t=-500:0.1:500;
xx=xyz0(1)+direction(1)*t;
yy=xyz0(2)+direction(2)*t;
zz=xyz0(3)+direction(3)*t;
plot3(xxyyzz)
%求三维空间一点到空间直线的距离,P为一点,Q1、Q2线上两点
[mn]=size(xx);
Q1(11)=xx(11); Q1(12)=yy(11); Q1(13)=zz(11);
Q2(11)=xx(1n); Q2(12)=yy(1n); Q2(13)=zz(1n);
P=zeros(13); [m1n1]=size(lineData); d=zeros(1m1);
for i=1:m1
P=lineData(i:);
d(1i) = norm(cross(Q2-Q1P-Q1))/norm(Q2-Q1);
end
figure(‘Color‘[1 1 1]);
x=1:m1;
plot(xd‘r.‘);
xlabel ‘行号‘;
ylabel ‘距离‘;
%取出所有行号
j=0;
for i=1:m1
if(d(1i)>10)
j=j+1;
hanghao(1j)=i;
end
end
%去除偏差较大的点,重新存储txt文件
[m2n2]=size(hanghao); count=0;
for k=1:n2
q=hanghao(1k);
for k1=q:m1-1
lineData(q:)=lineData(q+1:);
end
m1=m1-1;
count=count+1;
end
for k2=1:m1-count
lineData1(k2:)=lineData(k2:);
end
% save 3D-1.txt lineData1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1617 2019-01-21 16:48 nihe.m
文件 70928 2019-01-17 10:19 3D.txt
----------- --------- ---------- ----- ----
72545 2
- 上一篇:读取BMP信息并显示的MATLAB程序
- 下一篇:matlab实现模糊c均值聚类
相关资源
- 最小二乘法曲线拟合(MATLAB)
- 偏最小二乘分析matlab工具包
- 线性拟合仿真-最小二乘法、正交回归
- 最小二乘滤波算法正弦波
- TOA定位两步加权最小二乘MATLAB算法程
- 基于多元线性回归的分析
- 各种最小二乘法总结算法+matlab源码
- 各种最小二乘法汇总算例及MATLAB程序
- 最新版,最小二乘支持向量机2010年
- 最小二乘支持向量机matlab程序+使用教
- 移动最小二乘法曲面拟合等步长采样
- 最小二乘算法总结算法+程序
- 最小二乘支持向量机MATLAB程序附详细
- Image Deformation Using Moving Least Squares 移
- 各种最小二乘法汇总(算例及MATLAB程
- 偏最小二乘法资料和matlab程序
- matlab 最小二乘蒙特卡罗LMS美式期权定
- 偏最小二乘方法的MATLAB算法实现
- 偏最小二乘PLS和一些光谱预处理的m
- 递推最小二乘估计(RLS)及模型阶次
- 最小二乘 函数拟合 多项式 指数函数
- 最小二乘法电池参数辨识
- 最小二乘法的Matlab算法
- 数值分析 最小二乘拟合
- gps数据最小二乘拟合分析
- 偏最小二乘matlab算法及自己整理资料
- 利用Pisarenko谐波分解恢复理论推导谐
- 主成分回归于偏最小二乘回归
- 回归学习算法
- 递归最小二乘算法matlab程序
评论
共有 条评论