Finding the row and column number in a matrix
287 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Raghuram
el 15 de Mzo. de 2011
Comentada: Meryem
el 4 de Sept. de 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 comentario
Meryem
el 4 de Sept. de 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
Respuesta aceptada
Jan
el 15 de Mzo. de 2011
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.
13 comentarios
Más respuestas (2)
Rajashree Jain
el 15 de Mzo. de 2011
[val row]=max(A(:));
[val col]=max(A(row,:));
[val row col];
1 comentario
Jan
el 15 de Mzo. de 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.
Amey
el 15 de Mzo. de 2011
The first answer given by Jan Simon is absolutely right and the most efficient way to do it.
0 comentarios
Ver también
Categorías
Más información sobre Multidimensional Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!