合成したい式 a sinθ + b cosθ の係数 a・b を入力してください。下の数式は入力欄と連動していて、係数の部分を直接書き換えても計算できます。
このページでできること
- \(a\sin\theta + b\cos\theta\) の形の式を、1つの正弦波 \(R\sin(\theta + \alpha)\) に合成できます(三角関数の合成)
- 振幅 \(R = \sqrt{a^{2} + b^{2}}\) は \(\sqrt{2}\) のような簡約済みの厳密値と小数の両方で表示。角 \(\alpha\) は \(\dfrac{\pi}{4}\) のような有名角ならπの分数の厳密値で、有名角にならないときは \(\cos\alpha\)・\(\sin\alpha\) の厳密値とラジアン・度の近似値で表示します
- cos に合成した形 \(R\cos(\theta - \beta)\) も併せて表示します(sin 合成との使い分けは解説にまとめました)
- 合成した式の最大値 \(R\)・最小値 \(-R\) と、そのときの \(\theta\) も求めます(入試頻出)
- 係数には整数・小数・分数のほか、√3 や √3/2 のような√入りの値も入力できます。元の2つの波と合成後の波・振幅をグラフで確認できます
この計算は何の役に立つ?
家庭のコンセントに来ている交流は、電圧が正弦波の形で1秒間に50回・60回と振動しています。回路の計算では、コイルやコンデンサの影響でずれた波どうしの和が \(a\sin\theta + b\cos\theta\) の形で現れ、これを合成すると「結局どれだけの振幅(最大電圧)で、どれだけ位相がずれた1つの波になるか」が読み取れます。
電気工事士や電験(電気主任技術者)の試験でも、この合成の計算は定番です。
音は空気の振動の波で、同じ高さ(同じ周波数)の2つの音が重なると、波の式の和=合成で1つの波にまとまります。合成後の振幅 \(R\) が大きいほど音は大きく、波のタイミング(位相)がそろえば強め合い、逆向きならば打ち消し合います。
ノイズキャンセリングイヤホンが騒音と逆向きの波を出して音を小さくするのも、この「波の重ね合わせ」の考え方に基づいています。
地震や機械の振動の解析では、揺れを sin 成分と cos 成分に分けて計算し、最後に合成して「実際の揺れ幅(振幅)」を求める、という手順がよく使われます。同じ周期の単純な振動とみなせる場合、揺れの最大の大きさが合成の振幅 \(R\) として見積もれます。
実際の地震波は多くの周期の波が混ざった複雑なものですが、その分析の基礎になっているのがこの正弦波の合成です。
スマートフォンの電波は、基地局から直接届く波と、建物などに反射して届く波が重なって受信されます。同じ周波数の波どうしの重なりは合成で1つの波にまとめられ、経路の差によって強め合ったり弱め合ったりします(フェージングと呼ばれます)。
少し場所を移動しただけで電波の本数が変わることがあるのは、この合成後の振幅が場所によって変わるためです。
式とグラフ
用語・記号の解説
記号
| \(a,\ b\) | エー・ビー | 合成する式の係数。\(a\) が \(\sin\theta\) に、\(b\) が \(\cos\theta\) に付いている数です。「決まった数」を表すときはアルファベットの最初の方の文字 \(a,\ b,\ c\) を使う慣例があります。 |
| \(\theta\) | シータ テータ | 角度を表すのによく使われるギリシャ文字。ギリシャ語で「角度」を意味する語ではなく、慣例として角度に使われるようになった文字です。このページでは、合成する式の中の「動く角」を表します。 |
| \(R\) | アール | 合成後の正弦波の振幅(波の高さ)。半径を意味する radius の頭文字に由来するといわれます。点 \((a,\ b)\) と原点の距離 \(\sqrt{a^{2} + b^{2}}\) に等しく、式の最大値そのものです。 |
| \(\alpha\) | アルファ | sin への合成でずらす角。ギリシャ文字の1番目の文字で、追加の角をギリシャ文字で表す慣例によります。原点から点 \((a,\ b)\) へ引いた矢印が \(x\) 軸となす角に一致します。 |
| \(\beta\) | ベータ | cos への合成でずらす角。ギリシャ文字の2番目の文字です。\(\beta = \dfrac{\pi}{2} - \alpha\) の関係があります(\(2\pi\)(1周分)ずれた角は同じ位置の角なので、\(-\pi < \beta \leqq \pi\) に収まるよう \(2\pi\) を足し引きして表すことがあります)。 |
| \(\sin\) | サイン | 三角関数の1つ(正弦)。単位円上で角 \(\theta\) の位置にある点の \(y\) 座標が \(\sin\theta\) です。sine の略記です。 |
| \(\cos\) | コサイン | 三角関数の1つ(余弦)。単位円上で角 \(\theta\) の位置にある点の \(x\) 座標が \(\cos\theta\) です。cosine の略記です。 |
| \(\pi\) | パイ | 円周率(約3.14)。ラジアンでは \(\pi\) がちょうど 180° にあたるので、\(\dfrac{\pi}{4}\) は 45°、\(\dfrac{\pi}{6}\) は 30° です。 |
| \(2n\pi\) | ニエヌパイ | 「\(2\pi\)(1周分)の整数倍」を表す書き方。\(n\) は整数(number の頭文字)で、角は1周(\(2\pi\))回るごとに同じ位置に戻るため、最大・最小になる \(\theta\) は \(2n\pi\) 刻みで無数にあります。 |
| \(\sqrt{\phantom{2}}\) | ルート | 平方根の記号(根号)。\(\sqrt{2}\) は「2乗すると 2 になる正の数」です。振幅 \(R = \sqrt{a^{2} + b^{2}}\) の計算に登場します。 |
| \(\leqq\) | しょうなりイコール | 「以下」を表す不等号。\(-R \leqq f(\theta) \leqq R\) は「\(f(\theta)\) は \(-R\) 以上 \(R\) 以下」という意味です。日本の教科書では等号を2本書く \(\leqq\) が使われます。 |
用語
| 三角関数の合成 | さんかくかんすうのごうせい | \(a\sin\theta + b\cos\theta\) の形の式を、1つの正弦波 \(R\sin(\theta + \alpha)\) にまとめ直す操作。加法定理を逆向きに使うことで実現できます。高校では数学IIで学びます。 |
| 正弦波 | せいげんは | \(y = \sin\theta\) のグラフのような、なめらかに上下を繰り返す波の形。サインカーブとも呼びます。音・光・交流電気など、身の回りの多くの波がこの形で表されます。 |
| 振幅 | しんぷく | 波の「高さ」。波の中心(このページでは0)から最も高いところまでの距離です。\(y = R\sin(\theta + \alpha)\) の振幅は \(R\) で、波は \(-R\) から \(R\) の間で振れます。 |
| 周期 | しゅうき | 波が1回分の形を描き終えて元に戻るまでの長さ。\(\sin\theta\) の周期は \(2\pi\)(360°)で、合成してもこの周期は変わりません。 |
| 位相 | いそう | 波の「ずれ具合」を表す言葉。\(R\sin(\theta + \alpha)\) は \(R\sin\theta\) の波を横に \(\alpha\) だけずらした波で、この \(\alpha\) を位相のずれといいます。 |
| 加法定理 | かほうていり | \(\sin(\theta + \alpha) = \sin\theta\cos\alpha + \cos\theta\sin\alpha\) のように、2つの角の和の三角関数を、それぞれの角の三角関数で表す定理。合成はこの定理を右辺から左辺へ逆向きに使う操作です。 |
| 有名角 | ゆうめいかく | \(30°\)(\(\dfrac{\pi}{6}\))・\(45°\)(\(\dfrac{\pi}{4}\))・\(60°\)(\(\dfrac{\pi}{3}\))のように、三角関数の値が \(\dfrac{1}{2}\) や \(\dfrac{\sqrt{3}}{2}\) といった簡単な厳密値で書ける角。教科書・入試の合成の問題は、\(\alpha\) が有名角になるように作られていることがほとんどです。 |
| ラジアン (弧度法) |
ラジアン(こどほう) | 半径1の円で「弧の長さ」で角度を測る単位。\(180° = \pi\) ラジアンで、\(45°\) は \(\dfrac{\pi}{4}\) にあたります。高校の三角関数では度よりラジアンが標準です。 |
| 単位円 | たんいえん | 原点を中心とする半径1の円。角 \(\theta\) の位置にある円周上の点の座標が \((\cos\theta,\ \sin\theta)\) になり、三角関数の値を目で確かめる道具になります。 |
| 最大値 | さいだいち | 関数が取りうる一番大きい値。合成後の \(R\sin(\theta + \alpha)\) はサインの値が \(1\) までしか動かないため、最大値 \(R\) がすぐわかります。 |
| 最小値 | さいしょうち | 関数が取りうる一番小さい値。合成後の \(R\sin(\theta + \alpha)\) はサインの値が \(-1\) までしか動かないため、最小値 \(-R\) がすぐわかります。 |
| 象限 | しょうげん | 座標平面を \(x\) 軸と \(y\) 軸で4つに区切った区画。右上が第1象限で、そこから反時計回りに第2・第3・第4象限と数えます。角の位置(単位円上の点)がどの象限にあるかで、\(\cos\)・\(\sin\) の符号の組み合わせが決まります。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 平方根の計算(中学3年) |
|
| 三平方の定理(中学3年) |
|
| 三角比(高校 数学I) |
|
| 三角関数と単位円・ラジアン(高校 数学II) |
|
| 三角関数のグラフ(高校 数学II) |
|
| 加法定理(高校 数学II) |
|
Excelで計算する方法
| sinθ の係数 a | 1 |
| cosθ の係数 b | 1 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 角 α(ラジアン) | =ATAN2(B1,B2) |
| 角 α(度) | =DEGREES(B4) |
| sinθ の係数 a | 1 |
| cosθ の係数 b | 1 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 角 β(ラジアン) | =ATAN2(B2,B1) |
| 角 β(度) | =DEGREES(B4) |
| sinθ の係数 a | 3 |
| cosθ の係数 b | 4 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 最大値 | =B3 |
| 最小値 | =-B3 |
| 最大になるθ(ラジアン) | =PI()/2-ATAN2(B1,B2) |
「^」はべき乗、SQRT は平方根、ATAN2(x, y) は「点 (x, y) の方向の角」を返す関数です。α は点 (a, b) の方向の角なので =ATAN2(B1,B2)、β は点 (b, a) の方向の角なので =ATAN2(B2,B1) と、引数の順番が入れ替わる点に注意してください。
1つ目の表は sinθ + cosθ の例で、R は 1.41421…(= √2)、α は 0.78539…(= π/4)= 45° になります。
3つ目の表は 3sinθ + 4cosθ の例で、最大値 5・最小値 −5、最大になるθは 0.64350…(ラジアン)になります。
Googleスプレッドシートで計算する方法
| sinθ の係数 a | 1 |
| cosθ の係数 b | 1 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 角 α(ラジアン) | =ATAN2(B1,B2) |
| 角 α(度) | =DEGREES(B4) |
| sinθ の係数 a | 1 |
| cosθ の係数 b | 1 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 角 β(ラジアン) | =ATAN2(B2,B1) |
| 角 β(度) | =DEGREES(B4) |
| sinθ の係数 a | 3 |
| cosθ の係数 b | 4 |
| 振幅 R | =SQRT(B1^2+B2^2) |
| 最大値 | =B3 |
| 最小値 | =-B3 |
| 最大になるθ(ラジアン) | =PI()/2-ATAN2(B1,B2) |
Pythonで計算する方法
import math
sin_coefficient = 1 # a(sinθ の係数)
cos_coefficient = 1 # b(cosθ の係数)
# 振幅 R = √(a² + b²)(hypot は2乗の和の平方根を計算する関数)
amplitude = math.hypot(sin_coefficient, cos_coefficient)
# 角 α(点 (a, b) の方向の角。ラジアン)
alpha = math.atan2(cos_coefficient, sin_coefficient)
print(f"振幅 R = {amplitude}")
print(f"角 α = {alpha} ラジアン = {math.degrees(alpha)} 度")
print(f"最大値 = {amplitude}、最小値 = {-amplitude}")
print(f"最大になるθ = {math.pi / 2 - alpha} ラジアン(+ 2nπ)")
数式記述言語(LaTeX等)での書き方(コピペ可)
a·sinθ + b·cosθ = R·sin(θ + α)
a\sin\theta + b\cos\theta = R\sin(\theta + \alpha)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>a</mi><mo>⁢</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi>
<mo>+</mo>
<mi>b</mi><mo>⁢</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi>
<mo>=</mo>
<mi>R</mi><mo>⁢</mo><mi>sin</mi><mo>⁡</mo>
<mo>(</mo><mi>θ</mi><mo>+</mo><mi>α</mi><mo>)</mo>
</mrow>
</math>
a sin(theta) + b cos(theta) = R sin(theta + alpha)
a Sin[t] + b Cos[t] == Sqrt[a^2 + b^2] Sin[t + ArcTan[a, b]]
a*sin(theta) + b*cos(theta) = sqrt(a^2 + b^2)*sin(theta + arctan(b, a));
R = sqrt(a^2 + b^2); alpha = atan2(b, a); f = R*sin(theta + alpha);
a sin(θ) + b cos(θ) = R sin(θ + α)
R = √(a² + b²), cosα = a/R, sinα = b/R
R = \sqrt{a^{2} + b^{2}},\quad \cos\alpha = \frac{a}{R},\quad \sin\alpha = \frac{b}{R}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>R</mi><mo>=</mo>
<msqrt><mrow><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup></mrow></msqrt>
<mo>,</mo>
<mi>cos</mi><mo>⁡</mo><mi>α</mi><mo>=</mo>
<mfrac><mi>a</mi><mi>R</mi></mfrac>
<mo>,</mo>
<mi>sin</mi><mo>⁡</mo><mi>α</mi><mo>=</mo>
<mfrac><mi>b</mi><mi>R</mi></mfrac>
</mrow>
</math>
R = sqrt(a^2 + b^2), cos(alpha) = a/R, sin(alpha) = b/R
R = Sqrt[a^2 + b^2]; alpha = ArcTan[a, b]
R := sqrt(a^2 + b^2); alpha := arctan(b, a);
R = sqrt(a^2 + b^2); alpha = atan2(b, a);
R = √(a^2 + b^2), cos(α) = a/R, sin(α) = b/R
−R ≦ a·sinθ + b·cosθ ≦ R
-R \leqq a\sin\theta + b\cos\theta \leqq R
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>−</mo><mi>R</mi>
<mo>≦</mo>
<mi>a</mi><mo>⁢</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi>
<mo>+</mo>
<mi>b</mi><mo>⁢</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi>
<mo>≦</mo>
<mi>R</mi>
</mrow>
</math>
-R <= a sin(theta) + b cos(theta) <= R
MaxValue[a Sin[t] + b Cos[t], t]
maximize(a*sin(theta) + b*cos(theta), theta = 0 .. 2*Pi);
[tmin, fneg] = fminbnd(@(t) -(a*sin(t) + b*cos(t)), 0, 2*pi); fmax = -fneg;
−R ≤ a sin(θ) + b cos(θ) ≤ R
ChatGPT に聞いて計算してもらう方法
あなたは数学(三角関数)の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 3sinθ + 4cosθ を R sin(θ + α) の形に合成してください。 次の内容をそれぞれ示してください。 1. 振幅 R(√の厳密値で書ける場合は厳密値も) 2. cosα と sinα の値(分数で)と、α の近似値(ラジアンと度の両方) 3. この式の最大値・最小値と、最大になるθ(ラジアン) Pythonでは math.hypot と math.atan2 を使って計算し、計算に使った式と実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
