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」関数で反復回数を設定します。

範囲(4)のnの場合:

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

ステップ6

次のコマンドを入力して、連続する各項の値を「合計」に追加します。

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

コマンドがタブでインデントされていることに注意してください。これは、Pythonに「for」ループの一部であることを示します。 また、「^」と「!」の代わりに「pow」と「factorial」がどのように使用されているかに注意してください。 表記。 「+ =」代入演算子の右側の式は、手順2の式と同じですが、Python構文で記述されています。

ステップ7

「Enter」を押して空白行を追加します。 Pythonの場合、これは「for」ループの終了を示しているため、計算が実行されます。 コマンド「sum」を入力して、結果を表示します。 手順3で指定したxの値を使用した場合、結果はpi / 6の正弦である.5に非常に近くなります。 xの値とループの反復回数を変えてプロセスを再試行し、結果を「math.sin(x)」関数と照合します。 Pythonで、多くのコンピューターが正弦関数やその他の超越関数の値を計算するために使用するプロセスを実装しました。

ヒント

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