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 visualizzazione (ultimi 30 giorni)
My question is on that a==2 row what is the value of row of column b.

Risposta accettata

madhan ravi
madhan ravi il 22 Dic 2018
Modificato: madhan ravi il 22 Dic 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 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Function Creation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by