From for to While loop

5 views (last 30 days)
Astals on 24 Nov 2020
Edited: Astals on 24 Nov 2020
Hello! Could someone please help me to convert this for loop to a while loop?

Accepted Answer

Rik on 24 Nov 2020
Your original for-loop probably was incorrect. And why do you want a while loop? You already know how many iterations you want.
A = (1:10)';
B= rand(10,2);
C= A; C(:,2:3)= B;
Y= B(:,2);
X= B(:,1);
for i= 1:size(B,1)
% ^ are you sure that shouldn't be C instead?
C(i,4)= sin(C(i,3)/sin(C(i,2)));
In this case you can avoid the loop entirely:
C(:,4)=sin( C(:,3) ./ sin( C(:,2) ) );
And are you sure you mean this, and not this?
C(:,4)=sin( C(:,3) ) ./ sin( C(:,2) );

More Answers (1)

Steve Eddins
Steve Eddins on 24 Nov 2020
Here is one way to convert a typical MATLAB for loop to a while loop:
for i = 1:N
i = 1;
while i <= N
i = i+1;
Documentation links: for loop, while loop
Rik on 24 Nov 2020
Now deleted comment:
I tried that, but I couldn't get the whole matrix to show.

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!

Translated by