Local maxima in a matrix
Mostrar comentarios más antiguos
I need to locate the peaks and valleys of numbers given in a large matrix. I need to compare a value in the matrix with the 8 surrounding values to determine if it is either a peak (maximum) or a valley (minimum). The matrix that I am using is 100X100 and the coordinates of the value will then need to be displayed in a table. For example: [3 6 2 5; 4 9 1 5; 7 3 5 4] has a peak of 9 at (2,2) and a valley of 1 at (3,2). Any ideas would be greatly appreciated.
Respuesta aceptada
Más respuestas (1)
Azzi Abdelmalek
el 29 de Nov. de 2014
Editada: Azzi Abdelmalek
el 29 de Nov. de 2014
a=[3 6 2 5; 4 9 1 5; 7 3 5 4]
n=size(a);
[mina,idx1]=min(a(:))
[ii1,jj1]=ind2sub(n,idx1)
[maxa,idx2]=max(a(:))
[ii2,jj2]=ind2sub(n,idx2)
1 comentario
Mohammad Abouali
el 29 de Nov. de 2014
Editada: Mohammad Abouali
el 29 de Nov. de 2014
This is not the answer. This gives the global min/max. He is asking for local one.
Categorías
Más información sobre Descriptive Statistics en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!