clc;
clear all;
close all;
% % 用mds对瑞士卷降维
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 瑞士卷的生成图
N=1000;
t=(3*pi/2)*(1+2*rand(1,N));
s=21*rand(1,N);
X=[t.*cos(t);s;t.*sin(t)];
plot3(X(1,:),X(2,:),X(3,:),'.')
%计算距离矩阵个
X=X'; %X行代表样本个数,1000*3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 其他数据
clc;
clear all;
close all;
load MAIN_data
MAIN_data1=MAIN_data(:,1:32);
MAIN_data2=MAIN_data(:,322:330);
MAIN_data=[MAIN_data1,MAIN_data2];
X=[MAIN_data(1:180,:);MAIN_data(541:720,:);MAIN_data(1081:1260,:);MAIN_data(1621:1800,:)]; %取信号小波包分解后的能量特征
[m,n]=size(X); %m是行,n是列数
D=zeros(m,m);
%计算样本之间的欧式距离
for i=1:m
for j=i:m
D(i,j)=norm(X(i,:)-X(j,:)); %n = norm(v) 返回向量v的2-范数或欧几里得范数。
D(j,i)=D(i,j); %一个距离矩阵是对称矩阵
end
end
%D为欧式距离矩阵
%计算矩阵中每行前k个值的位置并赋值(先按大小排列)
W1=zeros(m,m);
k=90;
for i=1:m
A=D(i,:);
t=sort(A(:)); %对每行进行排序后构成一个从小到大有序的列向量
[row,col]=find(A<=t(k),k); %找出每行前K个最小数的位置,row和col是行和列下标
for j=1:k
c=col(1,j);
W1(i,c)=D(i,c); %W1(i,c)=1;%给k近邻赋值为距离
end
end
for i=1:m
for j=1:m
if W1(i,j)==0&i~=j
W1(i,j)=inf;
end
end
end
%计算测地距离,Q是每个点到其他点的测地距离矩阵
[dist,mypath,Q]=myfloyd(W1,1,4);
dist
mypath
[col,rol]=size(mypath) %rol是mypath即路径长度
X1=[];
for i=1:rol
ding=mypath(1,i);
X1=[X1;X(ding,:)];
end
plot3(X(:,1),X(:,2),X(:,3),'.')
hold on
plot3(X1(:,1),X1(:,2),X1(:,3),'o-r')
计算测地距离的matlab代码
3星 · 超过75%的资源 需积分: 44 176 浏览量
2018-10-06
17:09:55
上传
评论 4
收藏 3KB ZIP 举报
NEONGOD111
- 粉丝: 4
- 资源: 7
最新资源
- Unity适用于Windows与移动平台双端的轮盘交互式提示菜单
- UE5/UE4超详细教程接入科大讯飞语音唤醒SDK并初始持久监听(10102错误码解决)
- 靠搬运古装剧解说视频,日收益200+,作品原创度90%以上,超详细教程-教程网盘链接提取码下载 .txt
- 2024最强数学建模之美赛攻略.md
- STM32单片机FPGA毕设电路原理论文报告一种机器人寻线控制系统
- STM32单片机FPGA毕设电路原理论文报告一种光电编码器位置检测系统研究与应用
- linux常用命令大全
- ACM题库,分类整理.md
- STM32单片机FPGA毕设电路原理论文报告一种高速折刀运动控制系统的设计与实现
- ZYWIFI0939C循迹、红外避障、遥控综合程序.plg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈