• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: 模式识别  knn  

资源简介

KNN的MATLAB实现,基于特殊的SONAR数据,M文件,MATLAB源代码

资源截图

代码片段和文件信息

clear all
close all
clc
fid=fopen(‘fpcd.bin‘‘r‘);
orignaldata=fread(fid‘float32‘);%数据格式转换
pixelarray=reshape(orignaldata30720084);
a=pixelarray(:50);
b=reshape(a476800);
z_lvbo=b(3:);
z_lvbo1=reshape(z_lvbo320240);
  K = medfilt2(z_lvbo1);
  b(3:)=reshape(K176800);
for i=1:76800
   
        if b(3i)>0.535 || b(3i)<0.3
            b(3i)=0;
            b(2i)=0;
            b(1i)=0;
        end 
        
    
end
for i=1:76800
   
        if b(1i)>0.14
            b(3i)=0;
            b(1i)=0;
            b(2i)=0;
        end 
   
end
for i=1:76800
   
        if b(1i)<-0.2
            b(3i)=0;
            b(1i)=0;
            b(2i)=0;
        end 
   
end
for i=1:76800
   
        if b(2i)>0.14
            b(3i)=0;
            b(1i)=0;
            b(2i)=0;
        end 
   
end
x=b(1:);
y=b(2:);
z=b(3:);
x(find(x==0))=[];
y(find(y==0))=[];
z(find(z==0))=[];  
Lx=size(x2);
A=zeros(Lx3);
A(:1)=x(1:);
A(:2)=y(1:);
A(:3)=z(1:);
[idx dist] = knnsearch(AA‘dist‘‘euclidean‘‘k‘6);   % 寻找每一个三维点最近的4个点(除去其本身)
 b1=sum(dist2)/5; %%最近邻5个点的距离和
b2(:1)=b1(:1);

评论

共有 条评论