フーリエ級数計算ツール:公式・係数の求め方・詳しい例題
フーリエ級数計算ツールは、周期関数をサインとコサインの無限和に分解し、複雑な繰り返し波形を、ひとつずつ理解できるシンプルな部品の集まりへと変えてくれます。どのフーリエ級数計算ツールも、内部で行っているのは同じ3つの積分 — 係数 a₀、aₙ、bₙ — の自動化にすぎず、公式さえ分かっていればどんな周期関数についても手計算できます。このガイドでは、フーリエ級数の公式、各係数の具体的な計算手順、完全に解いた3つの例題(矩形波、のこぎり波、放物線波)、偶関数と奇関数の対称性の違い、良い近似に実際どれだけの項が必要か、そして手計算を狂わせる最もよくあるミスまでを解説します。
目次
フーリエ級数計算ツールとは何か、どう動くのか?
フーリエ級数計算ツールは、周期関数 — 周期と呼ばれる一定の区間ごとに同じ形を繰り返す関数 — を受け取り、それを周波数がだんだん高くなるサイン波とコサイン波の無限和として書き直します。この考え方は、ジョゼフ・フーリエが熱の伝わり方を研究する中で最初に生み出したもので、どれほどギザギザで不連続な周期信号であっても、ほとんどの場合、滑らかでよく分かっている構成要素 — 定数項に加えて、基本周波数の1倍、2倍、3倍、4倍……の波 — から組み立てられる、というものです。 どのフーリエ級数計算ツールの裏側にも、元の関数の中に各周波数がどれだけ含まれているかを計算する3つの公式があります。これらはフーリエ係数と呼ばれ、a₀(平均値。DC成分と呼ばれることもあります)、aₙ(各コサイン波の量)、bₙ(各サイン波の量)です。これらの数値が求まれば、元の関数は f(x) = a₀/2 + Σ [aₙ cos(nx) + bₙ sin(nx)] として、n = 1, 2, 3, …… と無限大まで和をとる形で再構成されます。 エンジニアはフーリエ級数を電気信号・振動・音の解析に用い、物理学者は熱方程式や波動方程式を解くために使います。そして学生は微分積分学、微分方程式、信号処理の授業でこれに出会いますが、そこで扱われるのはたいてい同じ定番の関数 — 矩形波、のこぎり波、三角波 — であり、このガイドでもそれらを手計算で解いていきます。
f(x) = a₀/2 + Σₙ₌₁^∞ [aₙ cos(nx) + bₙ sin(nx)] — 素直な周期関数なら何でも、定数とサイン波・コサイン波の無限の積み重ねから再構成できる。
フーリエ級数の公式とは何か、どこから来るのか?
周期 2π をもつ関数 f(x)(他の周期へ一般化する前に、最初に習う標準的なケース)について、フーリエ級数の公式と3つの係数積分は次のとおりです。 f(x) = a₀/2 + Σₙ₌₁^∞ [aₙ cos(nx) + bₙ sin(nx)] a₀ = (1/π) ∫₋π^π f(x) dx aₙ = (1/π) ∫₋π^π f(x) cos(nx) dx bₙ = (1/π) ∫₋π^π f(x) sin(nx) dx これらの公式は、直交性と呼ばれる性質から導かれます。異なる2つのサイン波やコサイン波(周波数が異なるもの)を掛け合わせて1周期にわたって積分すると、結果は必ず 0 になります。波を自分自身と掛け合わせたときだけ、積分は 0 でない値になります。この性質のおかげで、f(x) の中に「隠れている」各周波数の量を、係数ひとつずつ正確に取り出せます。ベクトルの座標を各軸との内積で求められるのとまったく同じ理屈です。 周期が 2π ではなく一般の 2L である関数の場合は、cos(nx) と sin(nx) を cos(nπx/L) と sin(nπx/L) に置き換え、積分範囲と 1/π の係数を 1/L に変更します。論理も直交性のトリックも同一で、変わるのは周波数のスケーリングだけです。
直交性こそがすべてのトリック:m ≠ n のとき常に ∫₋π^π cos(mx)cos(nx) dx = 0 となり、これがまさに a₀、aₙ、bₙ をひとつずつ取り出せる理由。
フーリエ係数 a₀、aₙ、bₙ はどうやって求めるのか?
1周期上で関数が定義されてしまえば、フーリエ係数を手で求めるのは機械的な作業です。フーリエ級数計算ツールも、内部でまさにこれらの手順をたどっています。
1. ステップ1 — 周期を特定し、必要なら f(x) を区分的に書く
周期(2π、2L、その他の値)を判別し、1周期分にわたって f(x) を明示的に書き出します。教科書に出てくる多くの関数 — 矩形波やのこぎり波 — は区分的に定義されており、区間の部分ごとに異なる式をもちます。
2. ステップ2 — 1周期にわたって f(x) を積分し a₀ を求める
a₀ = (1/π) ∫₋π^π f(x) dx。これは1周期にわたる f(x) の平均値の2倍です。f(x) が奇関数(原点に関して対称)なら、正の面積と負の面積が打ち消し合うため、自動的に a₀ = 0 となります。
3. ステップ3 — f(x)cos(nx) を積分して aₙ を求める
aₙ = (1/π) ∫₋π^π f(x) cos(nx) dx。f(x) が多項式のときは通常、部分積分が必要になり、f(x) が区分的に定数のときは原始関数を直接求められます。f(x) が奇関数なら、すべての n について aₙ = 0 です — 奇関数はコサイン成分を含みません。
4. ステップ4 — f(x)sin(nx) を積分して bₙ を求める
bₙ = (1/π) ∫₋π^π f(x) sin(nx) dx。f(x) が偶関数(y軸に関して対称)なら、すべての n について bₙ = 0 です — 偶関数はサイン成分を含みません。
5. ステップ5 — 級数を組み立て、対称性を近道として確認する
a₀、aₙ、bₙ を f(x) = a₀/2 + Σ[aₙcos(nx) + bₙsin(nx)] に代入し直します。何かを積分し始める前に、f(x) が偶関数か奇関数かどちらでもないかを確認しておけば、どの係数が 0 になるかを事前に把握でき、作業量をおよそ半分に減らせます。
奇関数 → 残るのは bₙ だけ(純粋なサイン級数)。偶関数 → 残るのは a₀ と aₙ だけ(純粋なコサイン級数)。先に対称性を確認すれば積分作業は半分で済む。
例題1:矩形波のフーリエ級数
1周期 (-π, π) 上で、0 < x < π のとき f(x) = 1、-π < x < 0 のとき f(x) = -1 と定義される矩形波を考えます。この関数は奇関数(f(-x) = -f(x))なので、a₀ = 0 かつすべての aₙ = 0 となり、計算が必要なのは bₙ だけです。
1. ステップ1 — bₙ の積分を立てる
bₙ = (1/π) ∫₋π^π f(x) sin(nx) dx = (1/π) [∫₋π^0 (-1)sin(nx) dx + ∫₀^π (1)sin(nx) dx]。対称性により両半分は等しく寄与するので、これは bₙ = (2/π) ∫₀^π sin(nx) dx と簡単になります。
2. ステップ2 — 積分する
∫₀^π sin(nx) dx = [-cos(nx)/n]₀^π = (-cos(nπ) + cos(0))/n = (1 - cos(nπ))/n。よって bₙ = (2/(nπ)) · (1 - cos(nπ)) です。
3. ステップ3 — n が奇数・偶数の場合を評価する
cos(nπ) = (-1)ⁿ なので、1 - cos(nπ) = 1 - (-1)ⁿ。n が偶数なら 1 - 1 = 0 となり bₙ = 0。n が奇数なら 1 - (-1) = 2 となり bₙ = 4/(nπ)。奇数次の高調波だけが現れる — これは矩形波を特徴づける性質です。
4. ステップ4 — 級数を書き下す
f(x) = (4/π)[sin x + sin(3x)/3 + sin(5x)/5 + sin(7x)/7 + ...]。各項は基本周波数の奇数倍のサイン波で、1/n に比例して小さくなっていきます。
5. ステップ5 — x = π/2 で数値的に確認する
真の値は f(π/2) = 1 です。最初の4つの奇数項を使うと:S₄ = (4/π)(1 - 1/3 + 1/5 - 1/7) = (4/π)(0.7238) ≈ 0.922。項をさらに増やす — 1/9、1/11 など — と、この値は 1 に近づきます。1 - 1/3 + 1/5 - 1/7 + ... はライプニッツ級数により π/4 に収束し、極限では (4/π)(π/4) = 1 ちょうどになるからです。
矩形波の検算:(4/π)(1 - 1/3 + 1/5 - 1/7) ≈ 0.922。奇数次高調波を増やすほど真の値 f(π/2) = 1 に収束していく。
例題2:のこぎり波のフーリエ級数
次に、区間 (-π, π) 上の f(x) = x が周期 2π で繰り返されるのこぎり波を取り上げます。この関数も奇関数なので、やはり a₀ = 0、aₙ = 0 となり、部分積分が必要なのは bₙ だけです。
1. ステップ1 — bₙ の積分を立てる
x sin(nx) が偶関数の被積分関数である(奇 × 奇 = 偶)ことを使って、bₙ = (1/π) ∫₋π^π x sin(nx) dx = (2/π) ∫₀^π x sin(nx) dx となります。
2. ステップ2 — 部分積分する
u = x、dv = sin(nx)dx とおくと、du = dx、v = -cos(nx)/n。すると ∫x sin(nx)dx = -x cos(nx)/n + (1/n)∫cos(nx)dx = -x cos(nx)/n + sin(nx)/n²。0 から π まで評価すると:[-π cos(nπ)/n + 0] - [0 + 0] = -π cos(nπ)/n = -π(-1)ⁿ/n。
3. ステップ3 — bₙ を解く
bₙ = (2/π) · (-π(-1)ⁿ/n) = -2(-1)ⁿ/n = 2(-1)ⁿ⁺¹/n。よって b₁ = 2、b₂ = -1、b₃ = 2/3、b₄ = -1/2、…… と符号が交互に変わりながら 1/n に比例して小さくなります。
4. ステップ4 — 級数を書き下す
f(x) = 2[sin x - sin(2x)/2 + sin(3x)/3 - sin(4x)/4 + ...] = 2 Σₙ₌₁^∞ (-1)ⁿ⁺¹ sin(nx)/n。
5. ステップ5 — x = 1 ラジアンで数値的に確認する
真の値は f(1) = 1 です。sin(1)=0.8415、sin(2)=0.9093、sin(3)=0.1411、sin(4)=-0.7568、sin(5)=-0.9589 を使って最初の5項をとると:S₅ = 2(0.8415 - 0.9093/2 + 0.1411/3 - (-0.7568)/4 + (-0.9589)/5) = 2(0.8415 - 0.4546 + 0.0470 + 0.1892 - 0.1918) = 2(0.4313) = 0.8626。項を増やすにつれて真の値 1 に向かって振動しながら近づいていきます — これは x = π に跳びの不連続点をもつ関数に典型的な、ゆっくりとした交代的な収束です。
のこぎり波の bₙ の公式:bₙ = 2(-1)ⁿ⁺¹/n — x sin(nx) を部分積分すると直接得られる、きれいな交代パターン。
例題3:偶関数(x²)のフーリエ級数
対比として、(-π, π) 上の f(x) = x² を周期 2π で繰り返したものを取り上げます。この関数は偶関数(f(-x) = f(x))なので、すべての n について bₙ = 0 となり、計算が必要なのは a₀ と aₙ だけです — 今回はサイン項ではなくコサイン項を使います。
1. ステップ1 — a₀ を求める
a₀ = (1/π) ∫₋π^π x² dx = (1/π) · [x³/3]₋π^π = (1/π) · (2π³/3) = 2π²/3 ≈ 6.5797。よって a₀/2 = π²/3 ≈ 3.2899 です。
2. ステップ2 — 部分積分を2回使って aₙ を求める
aₙ = (2/π) ∫₀^π x² cos(nx) dx(x²cos(nx) が偶関数なので2倍にしています)。部分積分を2回行うと ∫x²cos(nx)dx = x²sin(nx)/n + 2x cos(nx)/n² - 2sin(nx)/n³ が得られます。0 から π まで評価すると、どちらの端でも真ん中の項だけが残り、結果は 2π cos(nπ)/n² = 2π(-1)ⁿ/n² となります。
3. ステップ3 — aₙ を解く
aₙ = (2/π) · (2π(-1)ⁿ/n²) = 4(-1)ⁿ/n²。よって a₁ = -4、a₂ = 1、a₃ = -4/9、a₄ = 1/4 と、1/n² に比例して小さくなります — x² には跳びの不連続点がないため、矩形波やのこぎり波の 1/n の減衰よりも目に見えて速くなります。
4. ステップ4 — 級数を書き下す
f(x) = π²/3 + 4 Σₙ₌₁^∞ (-1)ⁿ cos(nx)/n² = π²/3 - 4cos(x) + cos(2x) - (4/9)cos(3x) + (1/4)cos(4x) - ...
5. ステップ5 — x = π/2 で数値的に確認する
真の値:f(π/2) = (π/2)² ≈ 2.4674。cos(π/2)=0、cos(π)=-1、cos(3π/2)=0、cos(2π)=1 を使って n = 4 までの項をとると:S₄ = 3.2899 + (-4)(0) + (1)(-1) + (-4/9)(0) + (1/4)(1) = 3.2899 - 1 + 0.25 = 2.5399。0 でない項がわずか2つだけで、すでに真の値との差は 0.07 以内 — これは 1/n² というより速い減衰の直接的な結果です。
a₀/2 = π²/3、aₙ = 4(-1)ⁿ/n² — 減衰が 1/n ではなく 1/n² なので、このコサイン級数は矩形波やのこぎり波の級数より目に見えて速く収束する。
偶関数・奇関数・一般の周期関数の違いは?
対称性は、フーリエ級数の手計算において最も手っ取り早い近道であり、フーリエ級数計算ツールが積分を始める前に内部で真っ先に確認する項目でもあります。 偶関数は f(-x) = f(x) を満たします — cos(x) や x² のように、グラフが y 軸に関して鏡像対称になっています。偶関数はフーリエコサイン級数を生み出します:a₀ と aₙ は 0 でない値をとり得ますが、すべての bₙ はちょうど 0 になります。サイン項は奇関数であり、対称性を壊してしまうからです。 奇関数は f(-x) = -f(x) を満たします — sin(x) や x³ のように、グラフが原点に関して 180° の回転対称性をもちます。奇関数はフーリエサイン級数を生み出します:a₀ = 0、すべての aₙ = 0 となりますが、bₙ は 0 でない値をとり得ます。 ほとんどの関数は純粋な偶関数でも純粋な奇関数でもなく、一般の周期関数では3種類の係数 — a₀、aₙ、bₙ — をすべて個別に計算する必要があります。便利なテクニックとして、どんな関数も偶関数部分と奇関数部分に分解できます:fₑᵥₑₙ(x) = [f(x)+f(-x)]/2、fₒdd(x) = [f(x)-f(-x)]/2。そして各部分は、自身の対称性に対応する種類の係数だけに寄与します。
偶関数 → コサイン級数のみ(a₀、aₙ;bₙ = 0)。奇関数 → サイン級数のみ(bₙ;a₀ = aₙ = 0)。どちらでもない → 3種類の係数をすべて計算する。
良い近似には何項必要か?
フーリエ級数は無限和ですが、手計算であれ計算ツールであれ、実際の計算はすべて有限個の項で打ち切られます。これを部分和と呼びます。何項あれば「十分」かは、元の関数がどれだけ滑らかかによって完全に決まります。 上の x² の例のように、不連続点がなく導関数も連続な関数では、係数が速く(1/n² 以上のペースで)小さくなるため、ほんの数項でほぼ至るところ真の値との誤差が1パーセントのごく一部に収まります。 矩形波やのこぎり波のように跳びの不連続点をもつ関数では、係数の減少がより遅く(1/n)なります。それでも跳びから離れた場所での収束はかなり速いのですが、跳びのすぐ近くでは別のことが起こります:項をいくら増やしても、部分和は真の値をおよそ 9% だけ行き過ぎてしまうのです。この行き過ぎはギブス現象と呼ばれ、n → ∞ としても決して消えません — ただ不連続点のすぐそばの、どんどん狭くなる領域に押し込められていくだけです。とはいえ跳びから離れた場所では、同じ部分和が正常に収束し、問題に必要な精度の範囲で信頼できます。 目安としては、滑らかな関数なら小数点以下2桁の精度に 5〜10 項もあればたいてい十分。跳びをもつ関数では、跳びから離れた場所ではより遅く振動しながら収束し、跳びのちょうどその点では項数にかかわらず約 9% の行き過ぎが残り続けると考えてください。
ギブス現象:跳びの不連続点の近くでは、項をいくら増やしてもフーリエ部分和は真の値を約 9% 行き過ぎる — これは打ち切りに伴う性質であって、直すべき誤りではない。
手計算のフーリエ級数を狂わせるミスとは?
フーリエ級数の計算間違いのほとんどは、いくつかの繰り返し起こる誤りが原因です。
1. a₀/2 の係数を忘れる
級数の定数項は a₀ ではなく a₀/2 です。2 で割るのを落とすと、再構成した関数全体が a₀/2 だけ上下にずれます — よくあるミスですが、最終的な級数の平均値を f(x) の平均値と照合すれば簡単に見つけられます。
2. 対称性の確認を飛ばす
(のこぎり波のように)明らかに奇関数である関数について aₙ を一から計算するのは、かなりの計算量の無駄であり、計算ミスの可能性も高めます。積分する前に必ず f(-x) を f(x) および -f(x) と比べてください。
3. 周期と公式が食い違う
周期が 2L ≠ 2π の関数に対して、周期 2π 用の公式である cos(nx) と sin(nx) を使うと、正しい周期で繰り返さない級数ができてしまいます。周期が 2π でないときは必ず cos(nπx/L) と sin(nπx/L)、そして 1/π ではなく 1/L に切り替えましょう。
4. 部分積分で符号ミスをする
上のこぎり波と x² の例はどちらも部分積分が必要でしたが、境界項(上端と下端での評価)での符号ミスこそ、aₙ や bₙ を間違える最大の原因です。既知の n 一つについて係数を計算し直し、元の関数の分かっている挙動と照合すれば、これはすぐに見つかります。
フーリエ級数の最速の妥当性チェック:f(0) — あるいは他の計算しやすい点 — が、その点で評価した a₀/2 と数項の和に一致するか?大きくずれていれば、たいてい符号か係数のミス。
フーリエ級数計算ツールの練習問題とFAQ
まずは自力で解いてから、下の解答を確認してください。1) (-π, π) 上の f(x) = |x| のフーリエ級数を求めよ。2) 周期 4、(-2, 2) 上の f(x) = x について bₙ を求めよ。3) 積分せずに、(-π, π) 上の f(x) = x³ でどの係数が自動的に 0 になるか述べよ。 解答:1) f(x) は偶関数なので bₙ = 0;a₀ = π、aₙ = (2/(n²π))((-1)ⁿ - 1) となり、n が奇数のとき aₙ = -4/(n²π)、偶数のとき 0。2) 周期 2L = 4 すなわち L = 2 として、bₙ = (2/L)∫₀^L x sin(nπx/L) dx を計算すると bₙ = 4(-1)ⁿ⁺¹/(nπ)。3) x³ は奇関数なので a₀ = 0 かつすべての aₙ = 0 — 計算が必要なのは bₙ だけです。 フーリエ級数計算ツールは、これらを手計算で確認するのに本当に役立ちます。とくに長い部分積分の中の計算ミスを見つけるのに有効です。とはいえ、問題を最初から正しく立てられるようにしてくれるのは、公式そのもの — a₀、aₙ、bₙ、そして偶奇の近道 — です。最終的な係数だけでなく、すべての積分ステップを明示的に見たいなら、Solvify のステップ解説ソルバーが、このガイドと同じように各フーリエ係数の計算を一項ずつたどってくれます。
1. なぜフーリエ級数は周期関数にしか使えないのか?
サインとコサイン自体が周期的なので、それらの有限和も無限和も自動的に周期的になります。非周期関数でも、有限区間をひとつの周期とみなすことでその区間上では近似できますが、得られる級数は、元の関数がそうでなくてもその区間の外側で繰り返してしまいます。
2. すべての周期関数はフーリエ級数で表せるのか?
物理や工学で出会うほとんどの関数はディリクレ条件(1周期あたりの不連続点と極値が有限個で、全変動が有限)を満たし、これによりほぼ至るところでの収束が保証されます。実際の跳びの不連続点では、級数はどちらか一方の側の値ではなく、跳びの中点に収束します。
3つの積分というレシピは決して変わらない:a₀ を求め、aₙ を求め、bₙ を求めて代入する。それ以外のすべて — 対称性の近道、周期のスケーリング、収束の振る舞い — は、同じこの土台の上に成り立っている。
関連記事
関連する数学ソルバー
ステップごとの解答
a₀、aₙ、bₙ を計算する際の部分積分をすべて明示的に表示。符号ミスが最も潜みやすい境界での評価も含みます。
スマートスキャンソルバー
教科書や問題集のフーリエ係数の積分を写真に撮るだけで、完全な解答が即座に手に入ります。
AI数学チューター
特定のフーリエ級数の問題に取り組みながら、対称性の近道、収束、ギブス現象について追加の質問ができます。
