While loop inside another While loop (While in While)

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 commentaire

Adam
Adam le 20 Jan 2017
Modifié(e) : Adam le 20 Jan 2017
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.

Connectez-vous pour commenter.

Réponses (1)

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 commentaires

Thank you very much. I have adjusted my code according to your example and it worked
is there another way to boost the nested while loop ? i mean while loop inside the while loop.
Batchtiar, could you explain your needs more?
@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 ?
Please start a new question for that, as it is quite different than the current topic.
Logan
Logan le 22 Fév 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
0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 2 0 2 1 2 2 2 3 2 4 3 0 3 1 3 2 3 3 3 4 4 0 4 1 4 2 4 3 4 4

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Commenté :

DGM
le 22 Fév 2023

Community Treasure Hunt

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

Start Hunting!

Translated by