Asked by Raghuram
on 15 Mar 2011

for a matrix [1 2 3 4 6 10 7 5 9] mXn matrix-- how is it that i can find the min or max element and then find the row number and the column number for further use in calculations

*No products are associated with this question.*

Answer by Jan Simon
on 15 Mar 2011

Accepted answer

data = rand(5, 3); [maxNum, maxIndex] = max(data(:)); [row, col] = ind2sub(size(data), maxIndex);

Another less compact approach finds the max values for each column at first:

data = rand(5, 3); [maxNumCol, maxIndexCol] = max(data); [maxNum, col] = max(maxNumCol); row = maxIndexCol(col);

Please read "help max" also.

Show 10 older comments

Raghuram
on 26 Mar 2011

I used the first method only this time

the code was

[minNum1, minIndex1] = min(f(:));

[row1, col1] = ind2sub(size(f(:)), minIndex1);

error:

??? Attempted to access pg(32,1); index out of bounds because size(pg)=[30,2].

Error in ==> PSO1stage5double at 155

pggbest(i)=pg(row1,col1);

is there any mistake in the code, the notations i mean

Walter Roberson
on 26 Mar 2011

Don't use size(f(:)), use size(f)

Raghuram
on 26 Mar 2011

yea it works now, thank you :)

Answer by Rajashree Jain
on 15 Mar 2011

[val row]=max(A(:));

[val col]=max(A(row,:));

[val row col];

Jan Simon
on 15 Mar 2011

This will not work. In the first line you can get e.g. the last element of A as maximum, then "row==numel(A)". Then "A(row, :)" will fail.

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 1 Comment

## Meryem (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/3221#comment_235306

You can have an answer with a few lines of code which is: