質問

私は、関数を解くための数値的に音のアルゴリズムを開発するためにテイラー級数を使用しようとしています。私はかなりしばらくの間、それをしてきたが、まだ運がなかったです。私は私が間違ってやっているかわからないんだけど。

関数である。

f(x)=1 + x - sin(x)/ln(1+x)   x~0

また:なぜ、精度の損失も、この機能で発生しますか。 xがゼロに近い場合、SIN(X)/ LN(1 + x)はxと同じ数であることにも近接していません。意義も失われている場合、私は表示されません。

これを解決するために、私は罪(x)およびLN(1 + X)である

のためのテイラー展開を使用する必要があることを信じます
x - x^3/3! + x^5/5! - x^7/7! + ...

x - x^2/2 + x^3/3 - x^4/4 + ...

それぞれ。私は、xと罪(x)は/ LN(1 + x)のコンポーネントを組み合わせること分母のように使用し、さらにはすべての3つを組み合わせることを試みたが、何も終わりで正しく動作するように思いません。すべてのヘルプは高く評価されます。

役に立ちましたか?

解決 6

問題の使用方法が正しいか - 。ちょうどあなたの電卓はラジアンモードであることを確認してください。

他のヒント

x ~ 0は、ln(1+x)も0に近い場合ので、精度の損失がで来ることができるので、あなたは非常に少ない数で割る羽目になる。コンピュータそれで非常に良いされていません; - )

あなたが直接ln(1+x)のためにテイラーシリーズを使用する場合は、

、あなたが用語の無限級数で割る羽目になるだろうから、痛みのようなものになるだろう。このような場合のために、私は通常ちょうど定義から全体として全体の機能のためのテイラー級数を計算することを好むます:

f(x) = f(0) + f'(0) x + f''(0) x/2 + f'''(0) x/6 + ...

あなたが買ってあげる、そこから
f(x) = 2 + 3x/2 - x^2/4 - x^3/24 - x^4/240 - 23x^5/1440 + 31x^6/2880 ...
私は、現時点では、より良い方法を考えることはできませんが、

(私のようなスティーブは言うだまさとMathematica ;-)にそれを接続し、このシリーズは、すぐにすべてのことを収束していない。

の編集の:私は質問を読み違えると思う - あなたがやろうとしているすべての関数の零点を見つけることであれば、テイラー級数を使用するよりも間違いなく良い方法があります。

これは宿題があるので、

、私は正しい方向にいくつかのポインタを与えることをしようとするつもりです。

ソリューション1

むしろTalyor級数近似を使用するよりも、単に求根アルゴリズムそのようなニュートン・ラプソン法、線形補間、または間隔二分として(あるいはそれらを組み合わせました)。彼らは、実装が非常に簡単で、開始値(S)のappropiate選択して、根は非常に迅速、正確な値に収束することができます。

解決策2

あなたが本当にそしてちょうど、(x)は罪を展開するLN(X)、および任意の他、何らかの理由テイラー級数近似を使用する必要がある場合。 (LN(X)で通じ乗算すると動作します、あなたのケースで分母を除去するため)。その後、多項方程式ソルバのいくつかの並べ替えを使用する必要があります。あなたは、精度の妥当な程度が必要な場合は、簡単な解析解を簡単にするつもりはないされることを意味し、第三または私は想像する第四の力を超えて移動する必要があります。ただし、一般的な解決のためにデュラン・ケルナー方法のようなものの中に見てみたいことがあります任意の順序の多項式。それでも、あなたは、このアプローチは、ちょうど合併症を引き起こすために起こっている高次項を使用する必要がある場合、私は間違いなく、解決策1をお勧めします。

願って助け...

私はあなたがxと(X + 1)LNに何が起こるかを見るために必要があると思う - 。> 0と、この関数は、x = 0付近でうまく動作しない理由が表示されます。

私は密接にこれに見ていないが、あなたは、いくつかのテイラーシリーズは非常に、非常にゆっくりと収束していることに注意する必要があります。

ただ、直接のfのテイラー級数を計算します。

マキシマには(X = 0〜約第4規約)私を与えます:

(%i1) f(x):=1 + x - sin(x)/log(1+x);
                                           - sin(x)
(%o1)                     f(x) := 1 + x + ----------
                                          log(1 + x)


(%i2) taylor(f(x),x,0,4);
                                2    3    4
                           x   x    x    x
(%o2)/T/                   - + -- + -- + --- + . . .
                           2   4    24   240
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top