minimum value array issue
3 views (last 30 days)
Show older comments
I am using the following code line to get the minimum value of the matrix dn and the corresponding index of the minimum value
[TransmiterNode,ind]=min(dn(:));
what I want to do is on the next run of this code line I do not want the old minimum value to be considered
2 Comments
Accepted Answer
Guillaume
on 5 Sep 2014
If you know that all the values in dn are different:
%init
ind = [];
%for ...
dntemp = dn;
dntemp(ind) = [];
[TransmiterNode,ind]=min(dntemp(:));
%...
%end
If not:
%init
%TransmiterNode = NaN; %or any other unused value in dn
%for ...
dntemp = dn;
dntemp(find(TransmiterNode)) = [];
[TransmiterNode,ind]=min(dntemp(:));
%...
%end
More Answers (2)
per isakson
on 5 Sep 2014
Edited: per isakson
on 5 Sep 2014
Another approach, try
dn = [2 5 8 7 0 1];
[ dn_sorted, ix ] = sort( dn, 'ascend' );
ix contains the "positions" of the values in the original vector, dn
Rushikesh Tade
on 5 Sep 2014
Edited: Rushikesh Tade
on 5 Sep 2014
If removing of values is allowed :
[TransmiterNode,ind]=min(dn(:));
dn(ind)=[];
0 Comments
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!