採用された回答

Walter Roberson
Walter Roberson 2015 年 8 月 22 日

0 投票

[maxvals, maxidx] = max(YourMatrix, [], 2);
Now maxidx will be a vector of column numbers, one per row.

4 件のコメント

abduall hassn
abduall hassn 2015 年 8 月 22 日
Thanx brother but my problem i have index 364 from very index i want to select max value between five rows
Example
Index 1 the max value in colum 4
Index 2 the max value in colum 4
Index 3 the max value in colum 4
Index 4 the max value in colum 4
Index 5 the max value in colum 5
Index 6 the max value in colum 5
like this
Walter Roberson
Walter Roberson 2015 年 8 月 22 日
You have 364 values. You cannot break that up into groups of 5 without having a group of 4 left over.
If you had 365 values or some other multiple of 5, then
max( reshape(maxidx, 5, []) )
abduall hassn
abduall hassn 2015 年 8 月 23 日
編集済み: Walter Roberson 2015 年 8 月 23 日
Thanx alot brother
But i want to ask. Why u give 2?
And think u again
[maxvals, maxidx] = max(YourMatrix, [], 2);
Walter Roberson
Walter Roberson 2015 年 8 月 23 日
The 2 refers to dimension #2, the columns . The above functions equivalently to
for K = 1 : size(YourMatrix,1)
[maxvals(K,1), maxidx(K,1)] = max(YourMatrix(K,:),[]);
end
If you left out the 2, then the default would be to work along the first non-singular dimension, like
for K = 1 : size(YourMatrix,2)
[maxvals(1,K), maxidx(1,K)] = max(YourMatrix(:,K),[]);
end

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

その他の回答 (0 件)

カテゴリ

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

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by