how to stop logical operators?

6 vues (au cours des 30 derniers jours)
kakato
kakato le 25 Nov 2013
Commenté : kakato le 25 Nov 2013
I need to create a program that calculates square root of 2 using loop. starting with t=0.5. I need to stop cycle (and print iteration number i) when the t(i) is same for approximation : if abs((t(i)-t(i+1)))<10^-6. Can anyone help me? please please please :)
t(1)=0.5
for i=1:10
t(i+1)=1/2*(t(i)+2/t(i));
if abs((t(i)-t(i+1)))<10^-6
[ i, t(i)]
else
end
end

Réponses (2)

Walter Roberson
Walter Roberson le 25 Nov 2013
if condition
break
end
  3 commentaires
Aviram Gelblum
Aviram Gelblum le 25 Nov 2013
t(1)=0.5;
t(2)=1/2*(t(1)+2/t(1));
i=1;
while abs((t(i)-t(i+1)))>=10^-6
t(i+2)=1/2*(t(i+1)+2/t(i+1));
i=i+1;
end
t=t(end-1);
kakato
kakato le 25 Nov 2013
Thanks a lot :)

Connectez-vous pour commenter.


Laurent
Laurent le 25 Nov 2013
Modifié(e) : Laurent le 25 Nov 2013
Instead of a for-loop, you can use a while loop. Something like this:
while abs((t(i)-t(i-1)))>10^-6
your calculations
i=i+1;
end
  1 commentaire
kakato
kakato le 25 Nov 2013
thank u :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by