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 件のコメント
Stephen23
2021 年 9 月 26 日
@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 + ...
回答 (2 件)
Voss
2021 年 12 月 18 日
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
2021 年 12 月 18 日
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
カテゴリ
ヘルプ センター および File Exchange で Programming についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!