Ending an If Else loop
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a simple script like the one below.
for A=[0:5]
if A==2
B=0;
else B=1;
C=A+B
end
end
I want the script to calculate the value of C for every A, but at the moment the formula for C is within the 'else' part of the loop. Therefore when A=2, no value of C is calculated. I know that I can put the statement within the 'if' part of the loop, but this is a simplified version and I have a much more complex if else loop with a larger statement so want to know if there is a better way.
Thanks.
0 commentaires
Réponse acceptée
madhan ravi
le 30 Oct 2018
Modifié(e) : madhan ravi
le 30 Oct 2018
A=[0:5]
B=zeros(1,numel(A)) % preallocation for doors and efficiency
C=zeros(1,numel(A))
for I = 1:numel(A)
if A(I)==2
B(I)=0;
else
B(I)=1;
C(I)=A(I)+B(I)
end
end
1 commentaire
madhan ravi
le 30 Oct 2018
Modifié(e) : madhan ravi
le 30 Oct 2018
Use preallocation for speed and efficiency, use I as an index in order to avoid overwriting
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!