Finding index of a value in the matrix

9 vues (au cours des 30 derniers jours)
Vinay Killamsetty
Vinay Killamsetty le 12 Avr 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

Réponse acceptée

Thiago Henrique Gomes Lobato
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);

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by