X中每一行相对于X-Matlab中所有其他行的最近邻
有没有一种使用knnsearch matlab函数并返回的方法 X中每一行相对于X中所有其他行的最近邻? 我希望得到的输出类型与上面示例中的变量dd类似:X中每一行相对于X-Matlab中所有其他行的最近邻,matlab,knn,Matlab,Knn,有没有一种使用knnsearch matlab函数并返回的方法 X中每一行相对于X中所有其他行的最近邻? 我希望得到的输出类型与上面示例中的变量dd类似: X = [ 1 2 3 ; 4 3 5; 1 2 3; 1 2 3; 4 3 5; 5 2 1; 3 2 1; 3 5 1]; [rows,~] = size(X); for i = 1:rows for j = 1:rows d(i,j) = (norm(X(i,:)-X(j,:))); end
X = [ 1 2 3 ; 4 3 5; 1 2 3; 1 2 3; 4 3 5; 5 2 1; 3 2 1; 3 5 1];
[rows,~] = size(X);
for i = 1:rows
for j = 1:rows
d(i,j) = (norm(X(i,:)-X(j,:)));
end
d(1:size(d,1)+1:end) = nan;
[~,dd(i)] = min(d(i,:));
end
只需取
k=2
近邻,并放弃琐碎的解决方案。@fairr我认为你应该将其作为答案添加。只需取k=2
近邻,并放弃琐碎的解决方案。@fairr我认为你应该将其作为答案添加。