2 部分和のグラフを描く

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

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

で定めるとき、$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$)} \\
...
...2k$\ となる $k\in\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{...
...)}\\
0 & \text{($n=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}]

桂田 祐史