From for to While loop

3 次查看(过去 30 天)
Astals
Astals 2020-11-24
编辑: Astals 2020-11-24
Hello! Could someone please help me to convert this for loop to a while loop?

采纳的回答

Rik
Rik 2020-11-24
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) );

更多回答(1 个)

Steve Eddins
Steve Eddins 2020-11-24
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 个评论
Steve Eddins
Steve Eddins 2020-11-24
Can you show us specifically what you tried?
Rik
Rik 2020-11-24
Now deleted comment:
I tried that, but I couldn't get the whole matrix to show.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by