1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

Python でテイラー級数を記述する方法

テイラー級数は、無限和を使用した関数の表現です。コンピューターは、三角関数、指数関数、またはその他の超越関数の値の近似値を、そのテイラー級数の有限数の項を合計することによって作成することがよくあります。Python でこのプロセスを再現できます。合計の項は、関数の連続する導関数に基づいているため、これらの導関数の値のパターンを特定して、級数の各項の式を記述する必要があります。次に、ループを使用して合計を累積し、ループの反復回数で近似の精度を制御します。

ステップ 1

各項がどのように計算されるかを理解するには、テイラー級数の定義を参照してください。級数の各項は通常「n」で索引付けされ、その値は表される関数の n 次導関数に関連付けられます。簡単にするために、最初の試行では "a" の値に 0 を使用します。テイラー級数のこの特別なバージョンは、マクローリン級数と呼ばれます。正弦関数を試してみてください。連続する導関数は簡単に決定できます。

ステップ 2

0 で評価された正弦関数の n 次導関数のいくつかの値を書き留めます。n が 0 の場合、値は 0 です。n が 1 の場合、値は 1 です。n が 2 の場合、値は 0 です。n が 3 の場合、値は -1 です。ここから、パターンが繰り返されるため、0 が乗算されるため、テイラー級数の偶数インデックス項はすべて無視されます。結果の級数の各項の式は次のとおりです。

(-1)^n/(2n+1)!*x^(2n+1)

「n」の代わりに「2n+1」を使用してシリーズを再インデックスし、インデックス自体を変更せずに偶数インデックスの用語を効果的に破棄します。 (-1)^n 係数は、連続する項の正と負の間の交替を説明します。この予備的な数学作業は無関係に思えるかもしれませんが、インデックスが常に 0 から始まり、1 ずつ増加する場合、Python コードを記述して他のテイラー系列で再利用するのははるかに簡単になります。

ステップ 3

Python インタープリターを開きます。次のコマンドを入力して、いくつかの変数を定義することから始めます。

合計 =0 x =.5236

「合計」変数は、各項が計算されるときにテイラー級数の合計を累積するために使用されます。変数 "x" は、正弦関数を近似する角度 (ラジアン) です。好きなように設定してください。

ステップ 4

次のコマンドで「math」モジュールをインポートして、「pow」および「factorial」関数にアクセスできるようにします。

数学をインポート

ステップ 5

「for」ループを開始し、「range」関数で反復回数を設定します。

for n in range(4):

これにより、インデックス変数 n がゼロから始まり、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 の値を使用すると、結果は .5 (pi/6 のサイン) に非常に近くなります。 x の値を変えたり、ループの反復回数を変えたりしてプロセスを再試行し、結果を「math.sin(x)」関数と比較して確認します。多くのコンピューターが正弦関数やその他の超越関数の値を計算するために使用するプロセスを Python で実装しました。

ヒント

「for」ループの 2 行目にコマンド「sum」をインデントして入力し、コードの実行時に現在の合計を取得します。これにより、級数の連続する各項が合計を関数の実際の値に近づける方法が明らかになります。