[logo] Web連載「数学ガールの秘密ノート」
Share

第150回 シーズン15 エピソード10
波の広がり(後編)

書籍『数学ガールの物理ノート/波の重ね合わせ』

この記事は『数学ガールの物理ノート/波の重ね合わせ』として書籍化されています。

無料でWeb立ち読み アマゾンで購入

登場人物紹介

:数学が好きな高校生。

テトラちゃんの後輩。好奇心旺盛で根気強い《元気少女》。

ミルカさん:数学が好きな高校生。のクラスメート。長い黒髪の《饒舌才媛》。

瑞谷先生:司書の先生。定時になると下校時間を宣言する。

図書室

「ともかく、答えをまとめてみるよ」

解答1(?)

数列 an,bn を、 {an=1π02πf(x)cosnxdxbn=1π02πf(x)sinnxdx のように定めると、 f(x)=k=0(akcoskx+bksinkx) が成り立つ。

テトラ「……」

ミルカ「……」

「そうだ。具体例に進もうよ! 僕が具体例を持ってる。 先日、ユーリと遊んだときにちらちらと見えていた《波》だ。 この平らな波をフーリエ展開してみよう!」

ミルカ「ふむ、それもいいが、その前にやることがある」

「やること?」

ミルカ「この《解答1(?)》の誤りを一つ見つけること。フーリエ展開の可能性という話ではなく、単純な誤りを」

「単純な誤りがあるって?」

テトラ「……」

「収束条件ではないんだよね?」

ミルカ「フーリエ展開ができる f(x) の条件ではないし、 関数の収束条件でもない。もっと単純で、明白な誤りがある」

テトラ「あ、あのですね……《n の条件》でしょうか?」

ミルカ「テトラはそれを具体的に言う」

テトラ「あたしが計算していた定積分では、 mn も《1 以上の整数》という条件が付いていました。 でも、先ほどの先輩の解答1(?)では、 anbn に対する n に何も条件が付いていなかったので……」

「ちがうよ、テトラちゃん」

ミルカ「そこだよ、テトラ」

「あれ? 確かにさっきの解答では条件を付けなかったけど、 n0 以上の整数にして構わないはずだよ」

ミルカn=0 でも?」

「大丈夫。だって、 cosnx=cos0x=1 だし、 sinnx=sin0x=0 になるだけのことだから。 つまり、 n=0 のときは自動的に、 {a0=1π02πf(x)cos0xdx=1π02πf(x)dxb0=1π02πf(x)sin0xdx=0 になってくれる。つまり f(x) の定数項として、 a0 を作り出すことができるはず。 これは、 の交換や関数の収束を前提とすれば、 証明もできるはずだよ」

ミルカ「どんなふうに?」

「こんなふうに……ええと、要するに、 f(x)=k=0(akcoskx+bksinkx) に対して 1π02πf(x)dx という定積分を実行すればいいんだよ。それでちゃんと a0 が出てくるから」

テトラ「それは先ほどやったような……(第149回参照)」

「うん、さっきは一般的にさらっと書いたから、 n=0 のときを明示的にやってみればいいだけのこと。この定積分だね」

1π02π{k=0(akcoskx+bksinkx)}dx=

「これで k=0 の項だけを外に出して、 cos0x=1sin0x=0 を使う」

1π02π{k=0(akcoskx+bksinkx)}dx=1π02π{a0cos0x+b0sin0x+k=1(akcoskx+bksinkx)}dx=1π02π{a0+k=1(akcoskx+bksinkx)}dx

テトラ「……」

「次に、積分と和の交換。ここはほんとうはちゃんと証明が要るはずだけど」

=1π02πa0dx+1πk=1(02πakcoskx+bksinkxdx)

ミルカ「……」

「この の中は k 回振動する cossin だから、 0 から 2π まで積分したら結局 0 になる。残りは定数の積分だから……」

=1π02πa0dx+0 の中はすべて0=1π[a0x]02π=1π(a02πa00)=1π2πa0=2a0えっ!?

「えっ!?」

テトラ「定積分の結果、 a0 が出てくるはず……ですが?」

2a0 になってしまった……」

ミルカ「だから、そこが誤り。いま君が計算してくれたとおり、 n=0 のとき、同じ式ではフーリエ係数は得られない。 同じ式では 2 倍になってしまう。だから、フーリエ係数を求める式はこれが正しい。 a0 の分母に注意」

解答1

数列 an,bn を、 {a0=12π02πf(x)dxb0=0an=1π02πf(x)cosnxdx(n=1,2,3,)bn=1π02πf(x)sinnxdx のように定めると、 f(x)=k=0(akcoskx+bksinkx) が成り立つ。

「うわ、 a0 だけ違うのか! これは、意外な落とし穴だなあ……」

テトラ「条件を確認するのは大事なんですね……」

ミルカa0=1π02πf(x)dx のままで行くなら、 f(x)=a02+k=1(akcoskx+bksinkx) のように表す方法もある」

「なるほど」

矩形波のフーリエ展開

ミルカ「話が飛んでしまった。君がフーリエ展開したいといってた波があったね」

「そうそう。これはね、このあいだユーリと遊んでいたときに気になってた波なんだ。 sin1x1+sin3x3+sin5x5+ のように奇数 n を使って sinnxn の和を作ると、 こんなふうに四角い波っぽくなったんだよ」

ミルカ「ふむ」

「だから、こういう平らな波を考えてみたいんだ」

ミルカ「矩形波(くけいは)だね」

「矩形波? うん、だから、その矩形波のグラフを y=f(x) だと考えれば、 フーリエ展開の方法で sinnxn という形の項が出てくるんじゃないかって……そう思わない?」

ミルカ「それは確かに出てきそうだな」

「だよね」

テトラ「せ、先輩方! ただいま、テトラは置いてけぼりになりかけています! しばし、お待ちを! 頭を整理させてください」

  • あたしたちは波の重ね合わせが作る波のことを考えています。
  • 特に、サインカーブを作りだしている sincos という三角関数の重ね合わせに注目してきました。
  • もう少し正確には、 sinnxcosnx という関数です。
  • これは、 x0 から 2π まで動く間、 n 個の波を作る関数です。
  • それらを加えていって……ええと?

「係数を掛けた上で加えるんだね」

ミルカ「線型結合」

テトラ「あ、そうでした。そうでした」

  • a0cos0x+b0sin0x+a1cos1x+b1sin1x+ のように加えていきます。
  • 三角関数のそのような和が、波の重ね合わせとなって、ある一つの関数 f(x) になったとします。
  • それは、つまり、 f(x)=k=0(akcoskx+bksinkx) という形です。
  • f(x) をこのように表現するのがフーリエ展開です。
  • ここで大事になってくるのが a0,a1,a2,b0,b1,b2, という数列です。
  • この数列が f(x) を表すことになるからです。
  • それから、ええと、あとは……

「数列 anbn を求める方法だね」

ミルカ「フーリエ係数」

テトラ「ですね!」

  • フーリエ係数 anbn を求めるのに、先ほどの解答1のような定積分を使います。
  • (そうでした、そうでした。 mnm=n のときで cosmxcosnx や、 sinmxsinnx などの定積分を場合分けしました)

「そしてこれから、矩形波を実際に定積分して、ほんとうにフーリエ係数が求まるかを試してみようとしているわけだね」

テトラ「ふう……ようやく先輩方に追いつきましたっ!」

ミルカ「問題を立てると、こうなるな」

問題2

グラフが以下のようになる関数 y=f(x) がある。

f(x) が、 f(x)=k=0(akcoskx+bksinkx)

とフーリエ展開できると仮定して、 フーリエ係数 a0,a1,a2,,b0,b1,b2, を求めよ。

テトラ「……先輩、でも、こんなにがたがたになった関数の積分なんてできるんですか? あたしができる積分というのは、 x2exsinxcosx や……ぜんぶ、つながった関数なんですけれど」

「うん、そうだね。僕たちがふだん問題で解くのはつながった関数……連続関数のことが多いけど、 これは大丈夫。積分区間で分けて考えればいいんだよ。 ほら、たとえば、 x0 から π までの範囲では、 f(x)1 という《定数関数》になるよね?」

テトラ「……あっ、そうですね。定数関数の積分はあたしもできます! ははあ……ここにも《場合分け》が出てくるんですね」

「積分は結局は和なんだから、積分区間で足せばいいし」

ミルカ「まず、 f(x) を……」

「そうだね。まず f(x) を式で表さないと。やみくもに積分積分と言ってもばかりいてもしょうがないから。 グラフから、たとえばこんなふうに書けるね。 f(x)={12nπx<(2n+1)π1(2n+1)πx<2(n+1)π ただし、 n は整数」

テトラ「ちょっとお待ちください。 n=0 のときは 0x<πf(x)=1 で、 πx<2πf(x)=1 ですね……はい、わかりました。 これは《π の偶数倍》と《π の奇数倍》の範囲をつなぎあわせているんですね」

a0 から行くよ。これは一瞬だね」

a0=12π02πf(x)dx=12π(0πf(x)dx+π2πf(x)dx)積分区間を分けた=12π(0π1dx+π2π(1)dx)場合分けしたf(x)より=12π([x]0π+[x]π2π)積分した=12π(π0+(2π)(π))=0

ミルカ「ふむ。 f(x) は奇関数だから、 0 になるのは予想が付くな」

「なるほどね。偶関数である cosnx の係数は 0 になるわけだね」

ミルカ「もちろん、いまは計算練習をしているわけだから、それは検算用の考えになるけれど」

テトラ「あ、あの、 b0 も一瞬です!」

ミルカ0 だからな」

0 だからね」

テトラ「……です」

「じゃ、今度は n=1,2,3, のときの an を求めるよ。 基本はさっきと同じように積分区間を分けるんだけど、今度は cosnx が出てくるわけだよね」

an=1π02πf(x)cosnxdx=12π(0πf(x)cosnxdx+π2πf(x)cosnxdx)=12π(0πcosnxdx+π2π(cosnx)dx)=12π([sinnxn]0π+[sinnxn]π2π)=12π(00+(0)(0))=0

「うん、やはり予想通り 0 になったね」

テトラ「……先輩、この途中の式なんですが」

=12π(0πcosnxdx+π2π(cosnx)dx)

テトラ「これって、このようにマイナスを前に出すことができますよね?」

=12π(0πcosnxdxπ2πcosnxdx)

「うん、そうだね」

テトラ「だったら、同じ cosnx という関数を積分しているんですから、 0ππ2π という二つの積分区間を一つにまとめて 02π にしてもいいですよね。 つながっている区間で同じ関数を積分するんですから。 それなら、一気に 0 だと求められますよ!」

=12π(0πcosnxdxπ2πcosnxdx)=12π(02π(cosnxcosnx)dx)(?)=0

「ああなるほど……じゃない、それはだめだよ、テトラちゃん。 そんなことをしたら、二つの関数を別の区間まで伸ばして積分してることになるから」

テトラ「え……?」

ミルカ「それでは伝わらない。テトラの混乱は、一般的に書けばすぐ解ける。 いまテトラがやろうとした積分の操作はこれだ。こんなことはできない」

0πf(x)dxπ2πg(x)dx=02π(f(x)g(x))dx(?)

テトラ「あっ、そうですね。うっかりしました。 cosnx という同じ顔を見てしまったもので……」

ミルカ「ここまでで a0=a1=a2==0 が得られた。偶関数の成分はすべて 0 だ」

「いよいよ bn だね」

テトラ「あ、あたし、計算します! 式の途中までは先ほどと同じですから……」

bn=1π02πf(x)sinnxdx=12π(0πf(x)sinnxdx+π2πf(x)sinnxdx)=12π(0πsinnxdx+π2π(sinnx)dx)=12π([cosnxn]0π+[cosnxn]π2π)=12π(cosnπncos0nncos2nπn+cosnπn)=12π(cosnπn+1n+1ncosnπn)=12nπ(22cosnπ)=1nπ(1cosnπ)=1cosnπnπ=あ、あれれ……?

テトラ「あ、あれれ……? あたし、計算ミスしてます?」

「どうして、そう思ったの?」

テトラ「だって、 cos が出てしまいました。先輩、先ほど sinnxn になるとおっしゃってませんでしたか?  sin が出るはずなのに、 cos が出てきました!」

「テトラちゃん、テトラちゃん、落ち着いて。さっき僕がいった sinnxn というのは、 和の各項だから、係数には sin は出てこないよ。 sinnx の係数は 1n だね」

テトラ「だったら、なおさらです。 cos が出てきたら……」

ミルカ「テトラは cosnπ が三角関数に見えるのか」

無料で「試し読み」できるのはここまでです。 この続きをお読みになるには「読み放題プラン」へのご参加が必要です。

ひと月500円で「読み放題プラン」へご参加いただきますと、 447本すべての記事が読み放題になりますので、 ぜひ、ご参加ください。


参加済みの方/すぐに参加したい方はこちら

結城浩のメンバーシップで参加 結城浩のpixivFANBOXで参加

(2016年3月11日)

書籍『数学ガールの物理ノート/波の重ね合わせ』

この記事は『数学ガールの物理ノート/波の重ね合わせ』として書籍化されています。

書籍化にあたっては、加筆修正をたくさん行い、 練習問題や研究問題も追加しました。

どの巻からでも読み始められますので、 ぜひどうぞ!

無料でWeb立ち読み アマゾンで購入

[icon]

結城浩(ゆうき・ひろし) @hyuki


『数学ガール』作者。 結城メルマガWeb連載を毎週書いてます。 文章書きとプログラミングが好きなクリスチャン。2014年日本数学会出版賞受賞。

Twitter note 結城メルマガ Mastodon Bluesky Threads Home