Approximera pi/4
Hej, har lite problem med a uppgiften, har skrivit följande kod och håller på och debuggar, efter första iterationen så är mitt värde på d=0.2146 vilket följer att villkoret i whilesatsen är falskt sant men ändå så stoppas loopen, vad är det som händer?
d=0;
tol=1e-5;
s=0;
n=0;
while d<tol
s=s+((-1)^n)/(2*n+1);
d=abs(s-pi/4);
n=n+1;
end
disp(d)
d är jättestort efter första varvet, så d<tol är falskt.
Rätt villkor är d>tol, men du får ordna så man kommer in i loopen första gången.
Laguna skrev:d är jättestort efter första varvet, så d<tol är falskt.
Rätt villkor är d>tol, men du får ordna så man kommer in i loopen första gången.
Använder jag debugg fel?
Laguna skrev:d är jättestort efter första varvet, så d<tol är falskt.
Rätt villkor är d>tol, men du får ordna så man kommer in i loopen första gången.
Jag ändrar d=1 så kommer vi in i loopen
Edit: Nya koden
d=1;
tol=1e-5;
s=0;
n=0;
while d>tol
s=s+((-1)^n)/(2*n+1);
d=abs(s-pi/4);
n=n+1;
end
disp(d)
disp(n)
Edit: Vi är klara här :D tack för hjälpen!