二次関数 y = ax² + bx + c の係数 a・b・c を入力してください。下の数式は入力欄と連動していて、係数の部分を直接書き換えても計算できます。
このページでできること
- 二次関数 \(y = ax^{2} + bx + c\) を、係数を入れるだけで \(y = a(x - p)^{2} + q\) の形(標準形)に変形(平方完成)できます
- 「係数でくくる → \(x\) の係数の半分の2乗を足して引く → 2乗の形にまとめる」という教科書と同じ手順の途中式を、1行ずつステップ表示します
- 頂点の座標 \((p,\ q)\)・軸の方程式 \(x = p\)・グラフの向き(下に凸・上に凸)・最大値/最小値もまとめて求められ、放物線のグラフも表示されます
- 答えは \(-\dfrac{5}{4}\) のような約分済みの分数(厳密値)と小数の両方で表示。係数には小数・負の数のほか 3/4 のような分数も入力できます
- 計算機には手書きと同じ形の式が表示され、係数の部分を直接書き換えて計算することもできます
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
投げ上げたボールや噴水の水の高さは、時間の二次関数でよく近似されます。例えば高さが \(y = -5t^{2} + 20t\)(m、\(t\) は秒。空気抵抗を無視した近似式)で表されるとき、平方完成すると \(y = -5(t - 2)^{2} + 20\) となり、「2秒後に最高点 20m に達する」と読み取れます。
頂点=「一番高い点とその時刻」を式から直接取り出せるのが平方完成の強みで、物理の放物運動の問題はこの計算の代表的な使い道です。
「値上げすると1個あたりの利益は増えるが、売れる個数は減る」という場面では、利益が価格の二次関数(上に凸)で近似できることがあります。このとき利益が最大になる価格は、ちょうど放物線の頂点です。例えば利益が \(y = -x^{2} + 60x - 500\)(\(x\) は価格)と表せるなら、頂点の \(x = 30\) が利益を最大にする価格になります。
実際の市場はもっと複雑ですが、「最適な値を頂点で探す」という考え方は、価格設定や広告費の配分を考えるときの出発点として使われています。
周りの長さが決まった長方形の面積は、辺の長さの二次関数になります。例えば柵の全長が 20m なら、横を \(x\) m とすると縦は \(10 - x\) m で、面積は \(y = x(10 - x) = -x^{2} + 10x\) になります。平方完成すると \(y = -(x - 5)^{2} + 25\) となり、\(x = 5\)(正方形)のとき最大の 25m² だとわかります。
「限られた材料や予算で効果を最大にする」という最適化問題の、最も基本的な形です。
パラボラアンテナや車のヘッドライト・懐中電灯の反射面は、放物線を軸の周りに回転させた形(回転放物面)です。軸に平行に入ってきた電波や光が、反射するとすべて軸上の1点(焦点)に集まるという放物線の性質を利用していて、逆に焦点から出した光は軸に平行にまっすぐ進みます。
設計では放物線を「頂点がどこで、どの向きにどれだけ開いているか」で扱うため、頂点を基準にした標準形 \(y = a(x - p)^{2} + q\) の考え方がそのまま土台になっています。
式とグラフ
用語・記号の解説
記号
| \(a,\ b,\ c\) | エー・ビー・シー | 二次関数 \(y = ax^{2} + bx + c\) の係数。\(a\) は \(x^{2}\) の係数(0以外)、\(b\) は \(x\) の係数、\(c\) は定数項です。「決まった数」を表すときはアルファベットの最初の方の文字 \(a,\ b,\ c\) を使う慣例があります。 |
| \(x,\ y\) | エックス・ワイ | 変数。\(x\) が入力、\(y\) が出力です。「いろいろな値を取る数」にはアルファベットの終わりの方の文字 \(x,\ y,\ z\) を使う慣例があります。 |
| \(p\) | ピー | 頂点の \(x\) 座標。軸(直線 \(x = p\))の位置でもあります。頂点の座標を表す文字として、教科書では \(q\) とセットで慣例的に使われます。 |
| \(q\) | キュー | 頂点の \(y\) 座標。\(a > 0\) なら最小値、\(a < 0\) なら最大値になります。アルファベットで \(p\) の次の文字なので、\(p\) とセットでよく使われます。 |
| \((x - p)^{2}\) | エックスマイナスピーの2乗 | 平方完成で作る「2乗のかたまり」。2乗なので必ず 0 以上で、\(x = p\) のときだけ 0 になります。この性質が「頂点で最大・最小になる」理由そのものです。 |
| \(x^{2}\) | エックスの2乗 | \(x\) を2回掛けたもの(\(x^{2} = x \times x\))。「2乗」は「平方」とも呼びます。右上の小さい数(指数)が掛ける回数を表します。 |
用語
| 二次関数 | にじかんすう | \(y = ax^{2} + bx + c\)(\(a \neq 0\))の形で表される関数。グラフは放物線になります。高校では数学Iで学びます。 |
| 放物線 | ほうぶつせん | 二次関数のグラフに現れる左右対称の曲線。物を斜めに投げたときの軌道(放物)と同じ形であることが名前の由来です。 |
| 頂点 | ちょうてん | 放物線の折り返しの点。下に凸なら一番低い点、上に凸なら一番高い点で、座標は \((p,\ q)\) です。 |
| 軸 | じく | 放物線の対称の軸となる縦の直線 \(x = p\) のこと。放物線はこの直線について左右対称で、軸の上に頂点があります。 |
| 平方完成 | へいほうかんせい | \(y = ax^{2} + bx + c\) を \(y = a(x - p)^{2} + q\) の形に変形すること。「平方(2乗)の形を完成させる」という意味の名前です。頂点・軸・最大値/最小値を調べる基本手段で、二次方程式の解の公式もこの変形から導かれます。 |
| 平方 | へいほう | 同じ数を2回掛けること(2乗)。\(3\) の平方は \(3^{2} = 9\) です。 |
| 一般形 | いっぱんけい | \(y = ax^{2} + bx + c\) の形。展開された普通の形で、\(y\) 軸との交点(\(x = 0\) のとき \(y = c\))が読み取りやすい形です。 |
| 標準形 | ひょうじゅんけい | \(y = a(x - p)^{2} + q\) の形。頂点 \((p,\ q)\) がひと目でわかる形で、「基本形」と呼ばれることもあります。平方完成は一般形を標準形に直す変形です。 |
| 下に凸 | したにとつ | グラフが谷のような形に開いていること。\(a > 0\) のときで、頂点が一番低い点になります。 |
| 上に凸 | うえにとつ | グラフが山のような形に開いていること。\(a < 0\) のときで、頂点が一番高い点になります。 |
| 最大値 | さいだいち | 関数の値 \(y\) が取り得る一番大きい値。二次関数では上に凸のとき、頂点の \(y\) 座標 \(q\) が最大値になります。 |
| 最小値 | さいしょうち | 関数の値 \(y\) が取り得る一番小さい値。二次関数では下に凸のとき、頂点の \(y\) 座標 \(q\) が最小値になります。 |
| 係数 | けいすう | 文字の前に付いている数。\(2x^{2}\) の 2 が係数です。\(x^{2}\) のように数が書かれていない項の係数は 1 と考えます。 |
| 定数項 | ていすうこう | \(2x^{2} - 8x + 3\) の 3 のように、\(x\) を含まない「数字だけの項」。\(x\) がどんな値でも変わらない(一定=定数)ことからこう呼ばれます。 |
| 対称 | たいしょう | 折り返すとぴったり重なる性質。放物線は軸で折り返すと左右がぴったり重なります(線対称)。 |
| 定義域 | ていぎいき | \(x\) の動ける範囲のこと。定義域が制限された問題(例:\(0 \leq x \leq 3\))では、最大値・最小値が頂点ではなく範囲の端で決まることがあります。 |
| 平行移動 | へいこういどう | 図形を形を変えずにずらすこと。\(y = a(x - p)^{2} + q\) のグラフは、\(y = ax^{2}\) のグラフを \(x\) 方向に \(p\)、\(y\) 方向に \(q\) だけ平行移動したものです。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 関数とグラフ(中学1〜3年) |
|
| 式の展開と因数分解(中学3年) |
|
| 正負の数・文字式の計算(中学1〜2年) |
|
| 分数の計算(小学5年〜中学1年) |
|
| 二次関数のグラフ(高校 数学I) |
|
Excelで計算する方法
| x²の係数 a | 2 |
| xの係数 b | -8 |
| 定数項 c | 3 |
| 頂点の x 座標 p | =-B2/(2*B1) |
| 頂点の y 座標 q | =B3-B2^2/(4*B1) |
| x²の係数 a | 1 |
| xの係数 b | -6 |
| 頂点の x 座標 p = −b/(2a) | =-B2/(2*B1) |
| x²の係数 a | 1 |
| xの係数 b | -6 |
| 定数項 c | 5 |
| 頂点の y 座標 q = c − b²/(4a) | =B3-B2^2/(4*B1) |
| x²の係数 a | 2 |
| xの係数 b | -8 |
| 定数項 c | 3 |
| 確かめる x の値 | 1 |
| 頂点の x 座標 p | =-B2/(2*B1) |
| 頂点の y 座標 q | =B3-B2^2/(4*B1) |
| 元の式 ax²+bx+c の値 | =B1*B4^2+B2*B4+B3 |
| 標準形 a(x−p)²+q の値 | =B1*(B4-B5)^2+B6 |
「^」はべき乗、「*」は掛け算、「/」は割り算の記号です。
1つ目の表は y = 2x² − 8x + 3 の例で、p は 2、q は −5 になります(つまり y = 2(x − 2)² − 5)。
2つ目・3つ目の表は y = x² − 6x + 5 の例で、p は 3、q は −4 になります。
4つ目の表は検算用です。同じ x(例では 1)を入れたとき、「元の式の値」と「標準形の値」がどちらも −3 で一致することが確かめられます。
Googleスプレッドシートで計算する方法
| x²の係数 a | 2 |
| xの係数 b | -8 |
| 定数項 c | 3 |
| 頂点の x 座標 p | =-B2/(2*B1) |
| 頂点の y 座標 q | =B3-B2^2/(4*B1) |
| x²の係数 a | 1 |
| xの係数 b | -6 |
| 頂点の x 座標 p = −b/(2a) | =-B2/(2*B1) |
| x²の係数 a | 1 |
| xの係数 b | -6 |
| 定数項 c | 5 |
| 頂点の y 座標 q = c − b²/(4a) | =B3-B2^2/(4*B1) |
| x²の係数 a | 2 |
| xの係数 b | -8 |
| 定数項 c | 3 |
| 確かめる x の値 | 1 |
| 頂点の x 座標 p | =-B2/(2*B1) |
| 頂点の y 座標 q | =B3-B2^2/(4*B1) |
| 元の式 ax²+bx+c の値 | =B1*B4^2+B2*B4+B3 |
| 標準形 a(x−p)²+q の値 | =B1*(B4-B5)^2+B6 |
Pythonで計算する方法
from fractions import Fraction
# 二次関数 y = ax² + bx + c の係数(3/4 のような分数は Fraction(3, 4) と書ける)
coef_a = Fraction(2) # x²の係数(0以外)
coef_b = Fraction(-8) # xの係数
coef_c = Fraction(3) # 定数項
vertex_x = -coef_b / (2 * coef_a) # 頂点の x 座標 p = −b/(2a)
vertex_y = coef_c - coef_b ** 2 / (4 * coef_a) # 頂点の y 座標 q = c − b²/(4a)
print(f"頂点の x 座標 p: {vertex_x}")
print(f"頂点の y 座標 q: {vertex_y}")
print(f"標準形: y = {coef_a} * (x - ({vertex_x}))**2 + ({vertex_y})")
if coef_a > 0:
print(f"下に凸なので、x = {vertex_x} のとき最小値 {vertex_y}")
else:
print(f"上に凸なので、x = {vertex_x} のとき最大値 {vertex_y}")
数式記述言語(LaTeX等)での書き方(コピペ可)
y = a(x − p)² + q
y = a(x - p)^{2} + q
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi>
<mo>=</mo>
<mi>a</mi>
<msup>
<mrow><mo>(</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo>)</mo></mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>q</mi>
</mrow>
</math>
y = a(x - p)^2 + q
a*(x - p)^2 + q
y := a*(x - p)^2 + q;
y = a*(x - p)^2 + q;
y = a(x - p)^2 + q
p = −b/(2a)
p = -\frac{b}{2a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>p</mi>
<mo>=</mo>
<mo>−</mo>
<mfrac>
<mi>b</mi>
<mrow><mn>2</mn><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
p = -b/(2a)
-b/(2*a)
p := -b/(2*a);
p = -b/(2*a);
p = −b/(2a)
q = c − b²/(4a)
q = c - \frac{b^{2}}{4a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>q</mi>
<mo>=</mo>
<mi>c</mi>
<mo>−</mo>
<mfrac>
<msup><mi>b</mi><mn>2</mn></msup>
<mrow><mn>4</mn><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
q = c - b^2/(4a)
c - b^2/(4*a)
q := c - b^2/(4*a);
q = c - b^2/(4*a);
q = c − b^2/(4a)
ChatGPT に聞いて計算してもらう方法
あなたは数学(二次関数)の計算アシスタントです。次の計算を、必ずPythonを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 二次関数 y = 2x² − 8x + 3 を平方完成してください。 次の内容をそれぞれ示してください。 1. 平方完成の途中式(x²の係数でくくる → xの係数の半分の2乗を足して引く → 2乗の形にまとめる) 2. 標準形 y = a(x − p)² + q と、頂点の座標 (p, q)・軸の方程式(約分済みの分数で) 3. グラフの向き(下に凸か上に凸か)と、最大値または最小値 Pythonでは標準ライブラリの fractions モジュールを使って厳密に計算し、計算に使った式と実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
