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
  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 日
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 Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by