How to call the row number of an element?

14 views (last 30 days)
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?

Accepted Answer

Veronica Taurino
Veronica Taurino on 3 Aug 2022
Edited: Veronica Taurino on 3 Aug 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

More Answers (1)

Matt J
Matt J on 3 Aug 2022
Edited: Matt J on 3 Aug 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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!