A very simple while loop

2 visualizaciones (últimos 30 días)
Truman Cassady
Truman Cassady el 14 de Abr. de 2018
Comentada: Truman Cassady el 14 de Abr. de 2018
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.

Respuestas (1)

Walter Roberson
Walter Roberson el 14 de Abr. de 2018
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 comentario
Truman Cassady
Truman Cassady el 14 de Abr. de 2018
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by