Finding index of a value in the matrix

4 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by