how can i use several loops
1 次查看(过去 30 天)
显示 更早的评论
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) ?
0 个评论
采纳的回答
James Tursa
2019-5-9
编辑:James Tursa
2019-5-9
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?
0 个评论
更多回答(2 个)
gonzalo Mier
2019-5-9
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!