How to call the row number of an element?

43 vues (au cours des 30 derniers jours)
Varghese
Varghese le 3 Août 2022
Modifié(e) : Matt J le 3 Août 2022
suppose I find a value after applying some formula and then need to find the row/column in the matrix where the value appears.
How do I do this?

Réponse acceptée

Veronica Taurino
Veronica Taurino le 3 Août 2022
Modifié(e) : Veronica Taurino le 3 Août 2022
%[row,col] = find(__)
For example:
X = [1 0 2; 0 1 1; 0 0 4]
X = 3×3
1 0 2 0 1 1 0 0 4
[row,col] = find(X==4)
row = 3
col = 3

Plus de réponses (1)

Matt J
Matt J le 3 Août 2022
Modifié(e) : Matt J le 3 Août 2022
With find, but be mindful that direct logical indexing is often faster if you are seeking to modify the matrix. Compare:
%Replace all A(i,j)>=50 with 3
A=randi(100,5e3,5e3);
tic;
I=find(A>=50);
B0=A;
B0(I)=3;
toc
Elapsed time is 0.501259 seconds.
tic;
B=A;
B(A>=50)=3;
toc
Elapsed time is 0.301809 seconds.
isequal(B0,B)
ans = logical
1

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by