Create an array whose values depend on another array

5 visualizzazioni (ultimi 30 giorni)
If I have an array like
C = [1 2 3 4 5 2 4 5 6 7 6 2 5 7 8]
I would like to obtain another array where the value of :
1,4,7 are substitued with 1.
2,5 with 2
3,6,8 with 3
to obtain:
F = [1 2 3 1 2 2 1 2 3 1 3 2 2 1 3]
F should be a numeric vector and not a string or a character.
Which is the fastest and most efficient way?

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 26 Lug 2019
Modificato: KALYAN ACHARJYA il 26 Lug 2019
C=[1 2 3 4 5 2 4 5 6 7 6 2 5 7 8]
F=C;
idx=find(C==1 | C==4 | C==7);
F(idx)=1;
idx=find(C==2 | C==5);
F(idx)=2;
idx=find(C==3 | C==6 | C==8);
F(idx)=3;
F
Commad Window:
C =
1 2 3 4 5 2 4 5 6 7 6 2 5 7 8
F =
1 2 3 4 2 2 4 2 3 1 3 2 2 1 3
  5 Commenti

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by