Finding index of a value in the matrix

9 visualizaciones (últimos 30 días)
Vinay Killamsetty
Vinay Killamsetty el 12 de Abr. de 2020
Comentada: Vinay Killamsetty el 13 de Abr. de 2020
I have a matrix "A" of size "n*2"
1st column--phase
2nd column--magnitude
I have to find the row index of a row which have particular phase (targetPhase) and maximum magnitude
I have used this code:
range=find( abs(A(:,1) - targetPhase) < 2 ); % targetPhase is the required phase
Index = set( find( max( abs(A(range,2) ) ) );
I know there is a mistake in second line
Could you please help to solve this problem with a short code

Respuesta aceptada

Thiago Henrique Gomes Lobato
Thiago Henrique Gomes Lobato el 12 de Abr. de 2020
This is probably the shortest you can get
range=find( abs(A(:,1) - targetPhase) < 2 ); % targetPhase is the required phase
[~,IndexMax] = max( abs(A(range,2) ) );
Index = range(IndexMax);

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by