Is the following program correct

s=0;
n=input("no of terms");
x=input("put the value of x");
for i=0:n-1
s=(-1).^i*(x.^i)/(factorial(x));
end
disp(s)
;

1 Kommentar

Stephen23
Stephen23 am 26 Sep. 2021
@Deepak Singh: your code does not add to s, instead your code just returns the result of the last division.
You need to have something like s = s + ...

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Voss
Voss am 18 Dez. 2021

0 Stimmen

s=0;
n=input("no of terms");
x=input("put the value of x");
for i=0:2:2*(n-1)
s=s+(-1).^(i/2)*(x.^i)/(factorial(i));
end
disp(s)
Torsten
Torsten am 18 Dez. 2021

0 Stimmen

To avoid overflow in the x^i and factorial(i) terms, it is advisable to code it this way:
n = input("no of terms");
x = input("put the value of x");
summand = 1.0;
summe = 1.0;
for i = 1:n-1
summand = -summand * x/(2*i-1) * x/(2*i);
summe = summe + summand
end

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 26 Sep. 2021

Beantwortet:

am 18 Dez. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by