Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Aug. 2015

0 Stimmen

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

4 Kommentare

abduall hassn
abduall hassn am 22 Aug. 2015
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
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 am 23 Aug. 2015
Bearbeitet: Walter Roberson am 23 Aug. 2015
Thanx alot brother
But i want to ask. Why u give 2?
And think u again
[maxvals, maxidx] = max(YourMatrix, [], 2);
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Error Handling finden Sie in Hilfe-Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by