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 日

0 投票

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

1 件のコメント

aya
aya 2014 年 9 月 5 日
thank you it's worked just I want it to

サインインしてコメントする。

その他の回答 (2 件)

per isakson
per isakson 2014 年 9 月 5 日
編集済み: per isakson 2014 年 9 月 5 日

0 投票

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 日

0 投票

If removing of values is allowed :
[TransmiterNode,ind]=min(dn(:));
dn(ind)=[];

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

質問済み:

aya
2014 年 9 月 5 日

コメント済み:

aya
2014 年 9 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by