how to append values in a vector in for loop?

out=[0 1;1 3;2 5;3 5; 7 2; 8 1;9 1;11 4];
for i=1:8
if out(i,2)==max(out(:,2))
val=out(i,1)
end
end
The output i need is 2 and 3, but in my code the variable 'val' stores only 3. I want to store 2 and 3 in the vector 'val. Any one help me?

 採用された回答

Andrei Bobrov
Andrei Bobrov 2014 年 5 月 14 日
編集済み: Andrei Bobrov 2014 年 5 月 14 日

1 投票

out=[0 1;1 3;2 5;3 5; 7 2; 8 1;9 1;11 4];
k = 0;
for i=1:8
if out(i,2)==max(out(:,2))
k = k + 1;
val(k)=out(i,1);
end
end
or
val = out(out(:,2)==max(out(:,2)),1);

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2014 年 5 月 14 日

編集済み:

2014 年 5 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by