Clear Filters
Clear Filters

if column a=[1;2;3;2;5;2], b=[1;2;3;4;5;6] how many rows have a==2, i use this [a]=find(a==2) .

1 view (last 30 days)
My question is on that a==2 row what is the value of row of column b.

Accepted Answer

madhan ravi
madhan ravi on 22 Dec 2018
Edited: madhan ravi on 22 Dec 2018
a=[1;2;3;2;5;2];
b=[1;2;3;4;5;6];
how_many_rows_have_2_in_a = nnz(a==2)
corresponding_b_value_when_a_is_2 = b(a==2)
Gives:
how_many_rows_have_2_in_a =
3
corresponding_b_value_when_a_is_2 =
2
4
6
If you still want to use find then:
how_many_rows_have_2_in_a = numel(find(a==2))
corresponding_b_value_when_a_is_2 = b(find(a==2))
Gives:
how_many_rows_have_2_in_a =
3
corresponding_b_value_when_a_is_2 =
2
4
6
Note : Logical indexing is efficient than find.
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!