A very simple while loop

3 次查看(过去 30 天)
Truman Cassady
Truman Cassady 2018-4-14
while tol<10E-6
E= M+e*sin(E)
n=n+1;
E = M + (M+e*sin(E))
tol(:,1)= E(n+1)-E(n)
end
If I don't assign an index to the E value in this loop how can I reference two values in the sequence. Everything works, but I just need clarification on the index values for the tol variable.

回答(1 个)

Walter Roberson
Walter Roberson 2018-4-14
while tol<10E-6
means the same thing as
while all(tol(:)<10E-6)
When you make tol a vector then all of the entries have to be true in order to proceed.
If you do not need a record of the tol values, then just assign tol = E(n+1)-E(n) ;
If you do need a record of the tol values, then use while tol(end)<10E-6
... Or probably, while abs(tol(end))>10E-6 since you probably want to stop when the you get close enough.
  1 个评论
Truman Cassady
Truman Cassady 2018-4-14
I posted an updated screen capture of my code. Thank you for responding to me on a Saturday btw. I can't correctly build a new tolerance value with each successive iteration.

请先登录,再进行评论。

类别

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