How to call the row number of an element?

46 visualizaciones (últimos 30 días)
Varghese
Varghese el 3 de Ag. de 2022
Editada: Matt J el 3 de Ag. de 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?

Respuesta aceptada

Veronica Taurino
Veronica Taurino el 3 de Ag. de 2022
Editada: Veronica Taurino el 3 de Ag. de 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

Más respuestas (1)

Matt J
Matt J el 3 de Ag. de 2022
Editada: Matt J el 3 de Ag. de 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

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by