バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia5-backnumber/
はじめに
前回はsin関数のマクローリン展開の説明。
ここらへんで一旦プログラムを書いてみる。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
【再掲】複素フーリエ級数に至る道

まずは複素フーリエ級数に至る道を再掲。
- テイラー級数
- マクローリン級数
- 指数関数のマクローリン展開
- cos(x)のマクローリン展開
- sin(x)のマクローリン展開
- オイラーの公式
- 複素フーリエ級数

今回は、sin(x)のマクローリン級数のプログラム化に向けての話。
マクローリン級数のプログラム化

マクローリン級数をプログラムで書くの?

そうそう。

確かに数式になっているから、プログラム化は可能な気はするが・・・。

まずは、前回のsin関数のマクローリン展開をみてみよう。
\(
\begin{eqnarray}
\displaystyle f(x)&=&f(0)+\frac{f^\prime(0)}{1!}x+\frac{f^\prime\prime(0)}{2!}x^2+\dots\\
\displaystyle &=&f(0)+\sum_{n=1}^\infty\frac{f^n(0)}{n!}x^n\\
\displaystyle \sin(x)&=&x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\dots\\
\displaystyle &=& \sum_{n=0}^\infty\frac{(-1)^n x^{2n+1}}{(2n+1)!}
\end{eqnarray}
\)

Σの部分をfor文でぶん回すだけだな。

まぁ、そういわれると問題無くできそうな気もしてくる。

あとは、nを0から5の間で変更して、
徐々に近似していく様子がわかるようになればOKだ。

そういえば、指数関数、cos関数、sin関数の近似していく様子をプロットしてたね。
あれと同じ出力をしてあげればよいってことか。
プログラムフロー

一応、プログラムフローを記載しておこう。
- プロット数、プロット範囲、x軸の定義
- nの次数列を定義
- 次数列に応じて以下を繰り返す
- sin関数のマクローリン級数を演算
- 演算結果をプロット

まぁ、提示した次数分の繰り返しもあるみたいだけど、
基本的には1直線に流れるプログラムってことか。

これをMATLAB、Python、Scilab、Juliaでやる。
まとめ

まとめだよ。
- sinのマクローリン級数をプログラムで記載してみる予定。
- プログラムフローを提示。
- 基本はfor文でぶん回すだけ。
バックナンバーはこちら。
マンガでわかるフーリエ解析
手を動かしてまなぶ フーリエ解析・ラプラス変換
物理数学 量子力学のためのフーリエ解析・特殊関数
単位が取れるフーリエ解析ノート
今日から使えるフーリエ変換 普及版 式の意味を理解し、使いこなす
コメント