finding nearest distance of a distinct value
1 次查看(过去 30 天)
显示 更早的评论
Hi, suppose I have a matrix as follows:
I =
1 1 5 1 1 1 8
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 5 2 1 1 1
1 1 1 1 1 5 1
1 1 1 1 1 1 1
I(3,4) is 1 . I need to know the distance and position of nearest 5 of this matrix from this 1. How to do this easily?Thanks in advance.
0 个评论
采纳的回答
Andrei Bobrov
2011-5-18
EDIT
[Hi Hj] = find(I~=1);
d = [Hi Hj I(I~=1) sqrt(sum(bsxfun(@minus,[Hi Hj],[3 4]).^2,2))];
ds = sortrows(d,4);
d5 = ds(ds(:,3)==5,:);
out = d5(1,:)
more
[Hi Hj] = find(I==5);
d = [Hi Hj sqrt(sum(bsxfun(@minus,[Hi Hj],[3 4]).^2,2))];
[~,jj] = min(d(:,3));
out = d(jj,:)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!