Pythonでテイラー級数を書く方法

著者: Marcus Baldwin
作成日: 20 六月 2021
更新日: 13 11月 2024
Anonim
意外と難しくない!Pythonのlambda式を中学生でもわかるように解説!
ビデオ: 意外と難しくない!Pythonのlambda式を中学生でもわかるように解説!

コンテンツ

テイラー級数は、無限和による関数の表現です。コンピュータは一般に、対応するTaylor級数の有限数の項によって三角関数、指数関数、またはその他の超越関数の値を近似します。そのプロセスをPythonで再現することができます。合計の項は関数の連続微分に基づいているため、系列の各項の式を書くには、値のパターンを識別する必要があります。その後、ループを使用して合計を累積し、反復の数で近似の精度を制御します。


説明書

Pythonでテイラー級数に近づく (Hemera Technologies / AbleStock.com / Getty Images)
  1. 各項の計算方法を理解するには、テイラー級数の定義を参照してください。それぞれは通常 "n"でインデックスされており、その値は表現される関数の "n"オーダーの導関数に関連しています。簡単にするために、最初の試行では "a"の値に0を使用してください。テイラーシリーズのこの特別版は "マクローリンシリーズ"と呼ばれています。連続微分は簡単に決定できるので、 "sine"関数を使用してください。

  2. 正弦関数の導関数 "n"のいくつかの値を0と評価して書きます。 "n"が0の場合、値は0になります。n= 1の場合、値は1になります。n= 2の場合、値は0になります。 n = 3の場合、値は-1になります。ここからパターンが繰り返されるので、Taylor級数内の偶数番の項はすべて0で乗算されるので、削除できます。結果として得られる級数の各項の式は次のようになります。

    (1n)2n +(2n + 1)

    シリーズのインデックスを再作成するために "n"の代わりに "2n + 1"を使用すると、インデックス自体を変更せずにインデックス用語でさえも効果的に排除できます。因数 "(-1)^ n"は連続する項の符号を変えることを可能にする。この数学のレッスンは奇妙に思えるかもしれませんが、インデックスが常に0から始まり、1ずつ増加する場合は、Pythonコードの作成と再利用がはるかに簡単になります。

  3. Pythonインタプリタを開きます。以下のコマンドを入力して変数を定義することから始めます。


    sum = 0x = .5236

    合計変数は、項計算の各繰り返しでテイラー級数の合計を累積するために使用されます。変数 "x"は、サイン関数を近似したい角度(ラジアン)です。必要に応じて別の値を設定してください。

  4. 以下のコマンドを使用して "math"モジュールをインポートして、 "pow"(power)および "factorial"(階乗)関数にアクセスします。

    インポート数学

  5. "for"ループを開き、 "range"関数との相互作用の量を確定します。

    範囲(4)のnの場合:

    これにより、インデックス変数nは0から始まり、4まで増加します。この反復回数の減少により、驚くほど正確な結果が得られます。ループはすぐには実行されず、反復するコードブロックを指定するまで開始されません。

  6. 次のコマンドを入力して、連続する各項の値を変数 "sum"に累積します。

    sum + = math.pow(-1、n)/ math.factorial(2)n + 1)math.pow(x、2 * n + 1)

    コマンドは、それが "for"ループの一部であることをPythonに示すために、その前にスペースが必要です。また、 "^"と "!"表記の代わりに "pow"と "factorial"関数が使用されていることにも注意してください。代入演算子 "+ ="の右側の式は、手順2の式と同じですが、Pythonの構文で書かれています。

  7. 空の行を追加するには[Enter]を押します。 Pythonはこれを "for"ループの終わりと解釈し、計算を実行します。結果を表示するには、 "sum"コマンドを入力してください。ステップ3で指定された "x"の値の場合、結果は0.5(pi / 6の正弦値)に非常に近くなります。 "x"とループの反復回数の値を変えてもう一度試して、結果を "math.sin(x)"関数と比較してください。正弦関数やその他の超越関数の値を計算するために多くのコンピューターが使用するのと同じプロセスをPythonで実装したところです。


どうやって

  • コードの実行結果が表示されるように、スペースを空けて "for"ループの2行目に "sum"コマンドを入力します。これは、系列の各連続項が関数の実際の値のプラスとマイナスをどのように近似するかを示します。