From for to While loop

5 views (last 30 days)
Astals
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
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)));
end
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
...
end
i = 1;
while i <= N
...
i = i+1;
end
Documentation links: for loop, while loop
  2 Comments
Rik
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.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by