1.2 部分和のグラフを描く

周期 $ 2\pi$ の関数 $ f$, $ g$

  $\displaystyle f(x):=\left\vert x\right\vert$   ( $ x\in[-\pi,\pi)$)$\displaystyle ,\quad g(x):= \left\{ \begin{array}[tb]{ll} -1 & \text{($x\in(-\p...
...)} \ 0 & \text{($x=0,-\pi$)} \ 1 & \text{($x\in(0,\pi)$)} \end{array} \right.$    

で定めるとき、$ f$$ g$ の Fourier 級数の部分和のグラフを描いてみよう。


講義ノート桂田 [1] にも書いてあるので、 そちらも参考にして下さい。 直リンを張っておくと、 https://m-katsurada.sakura.ne.jp/fourier/fourier-lecture-notes.pdf#page=16 (ずれるかもしれないけれど)


複数の関数を扱うので、 関数 $ \varphi$ の Fourier 級数を $ S[\varphi](x)$ と書くことにしよう。 つまり、 $ \varphi\colon\mathbb{R}\to\mathbb{C}$ を周期 $ 2\pi$ の関数とするとき、

$\displaystyle S[\varphi](x):=\frac{a_0[\varphi]}{2}+\sum_{n=1}^\infty
\left(a_n[\varphi]\cos nx+b_n[\varphi]\sin nx\right),
$

ただし

$\displaystyle \quad
a_n[\varphi]:=\frac{1}{\pi}\int_{-\pi}^\pi \varphi(x)\cos nx\;\Dx,\quad
b_n[\varphi]:=\frac{1}{\pi}\int_{-\pi}^\pi \varphi(x)\sin nx\;\Dx.
$

(関数を明記しようという方針なので、普通は単に $ a_n$, $ b_n$ と書くものを、 それぞれ $ a_n[\varphi]$, $ b_n[\varphi]$ と書いた。)

また、$ n$ 項までの部分和を $ S_n[\varphi](x)$ と表す。すなわち

$\displaystyle S_n[\varphi](x):=\frac{a_0[\varphi]}{2}+\sum_{k=1}^n
\left(a_k[\varphi]\cos kx+b_k[\varphi]\sin kx\right).
$

$ S[f]$, $ S[g]$ を自分で計算して求められるようにしておくべきだが、 ここは Mathematica の力を借りてみよう。

$ f$ は偶関数であるから $ b_n[f]=0$ である。$ a_n[f]$ を求めるには
f0[x_]:=Abs[x]
FourierCosCoefficient[f0[x],x,n]
FourierCosCoefficient[f0[x],x,0]
とすればよい。

FourierCosCoefficient[f0[x],x,n] とすると $ n\ne 0$ の場合の結果が得られ、 $ n=0$ については FourierCosCoefficient[f0[x],x,0] とする必要があるようだ。

これで $ n=0$ ならば $ \pi$, そうでなければ $ -\dfrac{\left(1+(-1)^{n-1}
\right)^2}{n^2\pi}$ が得られる。すなわち

$\displaystyle a_n[f]=
\left\{
\begin{array}[tb]{ll}
\pi& \text{($n=0$)} \\
...
...\mathbb{N}$ が存在するとき)}
\end{array} \right.
\end{array} \right.
$

一方、$ g$ は奇関数であるから $ a_n[g]=0$ である。$ b_n[g]$ を求めるには
g0[x_]:=Which[-Pi<x<0,-1,x==0||x==Pi,0,0<x<Pi,1]
FourierSinCoefficient[g0[x],x,n]
とすれば良い (場合分けで関数を定義するときは、 Which[] を使うのがお勧めである)。これから

$\displaystyle b_n[g]=\frac{2\left(1+(-1)^{n-1}\right)}{n\pi}
=\left\{
\begin{...
...=2k$ となる $k\in\mathbb{N}$ が存在するとき)}
\end{array} \right.
$

以上から

  $\displaystyle S[f](x) =\frac{\pi}{2}-\frac{4}{\pi}\left( \frac{\cos x}{1^2}+\frac{\cos 3x}{3^2}+\frac{\cos 5x}{5^2}+\cdots \right),$ (1)
  $\displaystyle S[g](x)=\frac{\pi}{4} \left( \frac{\sin x}{1}+\frac{\sin 3x}{3}+\frac{\sin 5x}{5}+\cdots \right).$ (2)

Mathematica で、 Fourier 級数の $ n$ 項までの部分和を計算する関数 sf[n,x], sg[n,x] を作ってみよう。

$ S[f]$, $ S[g]$ の部分和を計算する関数を定義
sf[n_, x_] := Pi/2 - 4/Pi Sum[Cos[k x]/k^2, {k, 1, n, 2}]
sg[n_, x_] := 4/Pi Sum[Sin[k x]/k, {k, 1, n, 2}]
{k, 1, n, 2} の最後の $ \textcolor{red}{2}$ は、 $ k$$ 2$ ずつ増やすことを意味する。

1変数関数であるから、 グラフを描くには Plot[] を用いれば良い。 周期 $ 2\pi$ なので、例えば $ [-\pi,\pi]$ の範囲で描けば十分であるが、 ここでは $ [-3\pi,3\pi]$ の範囲で描くことにする (そうすると、関数が連続であるかどうか、一目見て分かる)。 これは3周期分ということになる。

$ S[f]$, $ S[g]$ の部分和のグラフを $ [-3\pi,3\pi]$ で描く
g1=Plot[sf[10,x],{x,-3Pi,3Pi}]
g2=Plot[sg[10,x],{x,-3Pi,3Pi}]

桂田 祐史