MATLAB Answers


Finding the row and column number in a matrix

Asked by Raghuram
on 15 Mar 2011
Latest activity Commented on by Meryem
on 4 Sep 2014

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

  1 Comment

on 4 Sep 2014

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

    %you have ndata matrix
    [r,c] = size(ndata);    %get row and column values of data matrix
    fprintf('\nRow of data matrix is: %d' ,r);      %print number of row
    fprintf('\nColumn of data matrix is: %d ' ,c);  %print number of column


No products are associated with this question.

3 Answers

Jan Simon
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.


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);

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

Error in ==> PSO1stage5double at 155

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

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

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];

  1 Comment

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.

Answer by Amey
on 15 Mar 2011

The first answer given by Jan Simon is absolutely right and the most efficient way to do it.


Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!