Finding the indices of a max value of a matrix

148 views (last 30 days)
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!!

Answers (2)

Chaitanya Bidnur
Chaitanya Bidnur on 24 Jun 2020
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 Comment
Walter Roberson
Walter Roberson on 24 Jun 2020
max() in that form finds the maximum value per column, not per row.

Sign in to comment.


Walter Roberson
Walter Roberson on 24 Jun 2020
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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!