What is the function of flag in this code?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jimena Reyes Garces
am 31 Jan. 2019
Bearbeitet: Stephen23
am 31 Jan. 2019
clear all;close all;clc;
es=0.05*10^-3;
sum=0;
i=0;
ea=1;
x=input('Enter x: ');
flag=1;
while(abs(ea)>es)
prev=sum;
sum=sum+flag*(x^i)/factorial(i);
i=i+2;
ea=(sum-prev)/sum;
flag=0-flag;
end
sum
0 Kommentare
Akzeptierte Antwort
Stephen23
am 31 Jan. 2019
Bearbeitet: Stephen23
am 31 Jan. 2019
On each loop iteration the flag value changes sign, so it follows this pattern:
+1
-1
+1
-1
...
This has the effect of alternately adding or subtracting the following term:
+ (x^0)/factorial(0)
- (x^2)/factorial(2)
+ (x^4)/factorial(4)
- (x^6)/factorial(6)
...
This avoids the need to call two different plus and minus operators (but that would also be a perfectly viable approach).
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!