how can i use several loops

2 vues (au cours des 30 derniers jours)
m m
m m le 9 Mai 2019
Modifié(e) : m m le 11 Mai 2019
Hi,
Can anyone explain to me how matlab read this loops
for k=1:nt-1
for i=1:nx
end (for i)
for i=nx:1
end (for i=nx:1)
end (for k)
- For example for k=1, matlab will start by i=1:nx (first loop for i)or it will pass to i=1 only.after, it will pass to i=nx (second loop) ?

Réponse acceptée

James Tursa
James Tursa le 9 Mai 2019
Modifié(e) : James Tursa le 9 Mai 2019
MATLAB will do all of the loops in the order it encounters them. So for the k=1 iteration it will do the i=1:nx loop in its entirety and then do the i=nx:1 loop in its entirety. Then it will do the k=2 iteration and do both inner loops in their entirety again. For every iteration of k, both inner loops will be done in their entirety.
Side Note: If nx>1, that i=nx:1 loop won't do anything. Maybe i=nx:-1:1 was meant?

Plus de réponses (2)

gonzalo Mier
gonzalo Mier le 9 Mai 2019
I will try to explain as best as I can. To do that, I will give values to the variables. nt = 4, nx = 5:
for k=1:3 ( = [1,2,3])
k is executed 3 times
disp(" k = "+k);
for i=1:5 ( = [1,2,3,4,5])
i is executed 5 times for each k (3*5 = 15 times)
disp(" i = "+i);
end
for j=5:1 ( = [])
Not executed as 5:1 is an empty vector.
To do it in the inverse way, you should write 5:-1:1
disp(" j = "+j);
end
end
So the output in the screen is:
k = 1
i = 1
i = 2
...
i = 5
k = 2
i = 1
i = 2
...
i = 5
k = 2
i = 1
i = 2
...
i = 5

m m
m m le 11 Mai 2019
Modifié(e) : m m le 11 Mai 2019
How can i do only the first iteration in the first loop, then pass to second loop and do the first iteration. is it possible?

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by