e^x=1+x/1!+x^2/2!+x^3/3!+・・・
上記に基づき、e^xの値を計算するプログラムを作成する。forループ whileループ do-whileループ を使う時は、再帰関数によって実現する。仕様は以下の通り。
<<仕様>>
1.xの値を入力し、標準関数 exp() を用いて、比較のための e^x 値を求める。
2.上記式における項数を入力し、テイラー級数による e^x の近似値を求める。
以上です。
長々とすいません。
あまり知識がないので…。
教えて頂ければ幸いです。
テイラー級数
Re:テイラー級数
1+x/1!+x^2/2!+x^3/3!+・・・
の部分をプログラムにすればいいんです
無限級数ですが x^n/n! は0に収束するので適当に小さくなった時点で打ち切ればよいでしょう
具体的にはdouble型で計算するとして 1e-08 より小さくなったら終了でよいと思います。
whileループの例として
の部分をプログラムにすればいいんです
無限級数ですが x^n/n! は0に収束するので適当に小さくなった時点で打ち切ればよいでしょう
具体的にはdouble型で計算するとして 1e-08 より小さくなったら終了でよいと思います。
whileループの例として
double myexp(double x) { double EPS = 1e-08; double d = 1.0, s = 1.0, e = 1.0, diff; while (1) { d = ??; /* x^n */ s = ??; /* n! */ diff = d / s; /* x^n / n! */ e += diff; if(diff < EPS) { break; } } return e; }