hii我在A中有两个矩阵,BI想找到A矩阵的k个最近邻。我的matlab代码是:
A=[1 2 1;3 4 1;5 6 1;];
B=[11 12 2;13 4 2;15 16 2;17 18 2;1 2 2;3 4 2;5 6 2;];
[row,col]=size(A);
[row1,col1]=size(B);
dist=zeros(row,row1);
nnarray = zeros(row,row1);
k=5;
nnarray1 = zeros(row,k);
for i=1:row
for j=1:row1
dist(i,j)=sqrt(sum((A(i,:)-B(j,:)).^2));
end
[y,index]=sort(dist(i,:));
nnarray(i,:)=index';
end
nnarray 的输出矩阵是: //A 矩阵的最近邻
5 6 7 2 1 3 4
6 5 7 2 1 3 4
7 6 5 2 1 3 4
这里的输出对于 A 矩阵中的每个元素,我只有一个 NEAREST NEIGHBOR。但我想找到 A 中每个元素的 5 个最近邻居,即 A(1,1)、A(1,2) 等的 5 个最近邻居。
怎么做?我应该在哪里修改我的代码?