While loop inside another While loop (While in While)
Mostra commenti meno recenti
Hello everyone. I have faced with problem where I have to do two while loops simultaneously and I decided to put another one inside the existing while loop. Is there any other way or I am doing something wrong, or even it is impossible. Thank you!
1 Commento
You need to give more information on exactly what you are doing. 'Simultaneously' implies that the two while loops are (probably) independent of each other, but both happening at the same time. This obviously will not be achieved by nesting them, but maybe you just don't really mean 'simultaneously'.
Obviously nested while loops are possible. Do they do what you want? I have no idea. I there a better way? Again, I have no idea without knowing what you are trying to do.
Risposte (1)
Jorge Mario Guerra González
il 20 Gen 2017
I don't think there is a problem with the loops by themselves. You must have a problem with the logic, can you show the code you have. Here is an example of how to use a while into another while.
i=0;
while i<5
j=0;
while j<5
disp([i j]);
j=j+1;
end
i=i+1;
end
Also If you want to run them 'simultaneusly' I understand that as running them in parell, you can try to do domething like this.
parpool(4);
i=0;
spmd
while i<5
disp([labindex i]);
i=i+1;
end
end
7 Commenti
Kamran Abbasov
il 20 Gen 2017
Bachtiar Muhammad Lubis
il 24 Dic 2018
is there another way to boost the nested while loop ? i mean while loop inside the while loop.
Walter Roberson
il 24 Dic 2018
Batchtiar, could you explain your needs more?
Bachtiar Muhammad Lubis
il 28 Dic 2018
@Walter Roberson : i made code where i need to use while loop inside while loop, first ran the tes2_2.m worked properly, but the second time the tes2_2.m didn't show any output at all, even i couldn't terminate it operation.
i think the problem is in the while loop, can you help me how to solve this issue sir ?
Walter Roberson
il 28 Dic 2018
Please start a new question for that, as it is quite different than the current topic.
Logan
il 22 Feb 2023
Why did you need to use display [i j] in the first example?
The use of disp() was simply to demonstrate how the two values are being incremented as the execution progresses through both loops. j increments from 0 to 4 five times. Each time j recycles back to 0, i is incremented.
i=0;
while i<5
j=0;
while j<5
disp([i j]);
j=j+1;
end
i=i+1;
end
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!