Ending an If Else loop
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Qwerty1
am 30 Okt. 2018
Erneut geöffnet: Star Strider
am 30 Okt. 2018
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 Kommentare
Akzeptierte Antwort
madhan ravi
am 30 Okt. 2018
Bearbeitet: madhan ravi
am 30 Okt. 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 Kommentar
madhan ravi
am 30 Okt. 2018
Bearbeitet: madhan ravi
am 30 Okt. 2018
Use preallocation for speed and efficiency, use I as an index in order to avoid overwriting
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!