minimum value array issue

3 次查看(过去 30 天)
aya
aya 2014-9-5
评论: aya 2014-9-5
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 个评论
per isakson
per isakson 2014-9-5
Please elaborate a bit. Possibly provide a small example.
aya
aya 2014-9-5
let's say dn=[2 5 8 7 0 1] for the first iteration the result of [TransmiterNode,ind]=min(dn(:)); would be TransmiterNode=0 -----> the value ind=5 ---------> the index
for the next iteration I want the next minimum value without considering the previous one

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2014-9-5
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

更多回答(2 个)

per isakson
per isakson 2014-9-5
编辑:per isakson 2014-9-5
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
  1 个评论
aya
aya 2014-9-5
its a good idea but it does not effective for may program

请先登录,再进行评论。


Rushikesh Tade
Rushikesh Tade 2014-9-5
编辑:Rushikesh Tade 2014-9-5
If removing of values is allowed :
[TransmiterNode,ind]=min(dn(:));
dn(ind)=[];

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by