How to iterate this
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I need to iterate a series of equation for a problem. In particular I want to iterate them for 12 times. For the very first iteration I want to put two conditions (Lambda1dotZero=0 and Lambda=0); then from the second iteration onward Lambda1dotzero must be equal to the value of Lambda1dotZero of the previous iteration + a certain value DeltaOmega (which I know, and is constant). The same for Lambda, which from the second iteration onward, must be equal to that equation that you see in the loop (Lambda(m)=.....) + the value of Lambda of the previous iteration. Sorry but I am very new in Matlab, and this is the code that I wrote:
for m=1:1:12
while m==1;
Lambda1dotZero(m)=0;
Lambda(m)=0;
Lambda1dot(m)=Lambda2dot*t_days+Lambda1dotZero(m);
Lambda(m)=Lambda2dot*t_days^2/2+Lambda1dotZero(m)*t_days+Lambda(m);
end
while m>1;
Lambda1dotZero(m)=Lambda1dotZero(m-1)+DeltaOmega;
Lambda1dot(m)=Lambda2dot*t_days+Lambda1dotZero(m);
Lambda(m)=Lambda2dot*t_days^2/2+Lambda1dotZero(m)*t_days+Lambda(m-1);
end
end
When I run it, it doesn't give me errors but takes a long time without giving any results. Maybe I have created an infinite loop. I don't know. Many thanks to anyone who will help me.
Regards
Gian
0 commentaires
Réponse acceptée
Walter Roberson
le 10 Nov 2012
for m=1:1:12
if m==1
Lambda1dotZero(m)=0;
Lambda(m)=0;
Lambda1dot(m)=Lambda2dot*t_days+Lambda1dotZero(m);
Lambda(m)=Lambda2dot*t_days^2/2+Lambda1dotZero(m)*t_days+Lambda(m);
end
if m>1
Lambda1dotZero(m)=Lambda1dotZero(m-1)+DeltaOmega;
Lambda1dot(m)=Lambda2dot*t_days+Lambda1dotZero(m);
Lambda(m)=Lambda2dot*t_days^2/2+Lambda1dotZero(m)*t_days+Lambda(m-1);
end
end
Remember, a while loop executes its body until the condition is false and does not go on to the next section until then, but since m was not changing in the body, your while loop was infinite.
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!