Change the zeros to ones and the ones to zeros.
92 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Julen Vicente Pipaon
il 25 Feb 2021
Modificato: emjey
il 10 Gen 2023
I don´t know why my code to change the ones for zeros and the zeros to ones doesn´t work.
This is my code:
V = [ 1, 1, 1, 1, 0, 1, 0, 1]
V(V==0) = 1;
V(V==1) = 0;
C1 = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, V(2:8)]
0 Commenti
Risposta accettata
Steven Lord
il 25 Feb 2021
Let's look at V after the second and third steps:
V = [ 1, 1, 1, 1, 0, 1, 0, 1]
V(V==0) = 1
V(V==1) = 0
You want to record which elements of V were equal to 1 before replacing all the 0 values with 1.
V = [ 1, 1, 1, 1, 0, 1, 0, 1];
previousOnes = V == 1;
V(V == 0) = 1;
V(previousOnes) = 0
Or since you want to change 0 to 1 and vice versa, just subtract V from 1.
V = [ 1, 1, 1, 1, 0, 1, 0, 1];
newV = 1-V
Or use the not operator. Depending on what you want to do with it afterward you may need to convert it back to double by calling double() on it.
V = [ 1, 1, 1, 1, 0, 1, 0, 1]
newV2 = ~V
newV2D = double(newV2)
Vedere anche
Categorie
Scopri di più su Migrate GUIDE Apps 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!