Finding the indices of a max value of a matrix
Mostra commenti meno recenti
I have a matrix(1001x251) and i need to find where the maximum value occurs in each row using a for loop and the find function. please help!!
3 Commenti
David Goodmanson
il 24 Giu 2020
Hi James,
take a look at the help information for max, specifically the two-output option
vikal kumar
il 24 Giu 2020
use this command
[max,idx]=max(m)
Walter Roberson
il 24 Giu 2020
[max,idx]=max(m, [], 2);
Risposte (2)
Chaitanya Bidnur
il 24 Giu 2020
0 voti
The function is max. To obtain the first maximum value you should do
[val, idx] = max(a);
val is the maximum value and idx is its index.
1 Commento
Walter Roberson
il 24 Giu 2020
max() in that form finds the maximum value per column, not per row.
Walter Roberson
il 24 Giu 2020
0 voti
When you are at the beginning of any row:
- if the row is empty, then the max for the row is empty
- otherwise, initialize a max_seen_so_far variable to the first element of the row. Then for the second element onward, compare the element to max_seen_so_far and replace max_seen_so_far with the element if the element is larger. You can keep track of where that maximum occurred.
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!