請輸入一元二次方程式 ax² + bx + c = 0 的係數 a、b、c。下方的數學式和輸入欄是連動的,直接改寫式中的係數也能計算。會用公式解求出解,並顯示判別式的值、根的種類和計算過程。
這個頁面可以做什麼
- 只要輸入係數 \(a, b, c\),就能用公式解當場求出一元二次方程式 \(ax^2 + bx + c = 0\) 的解
- 同時顯示判別式 \(D = b^2 - 4ac\) 的值和根的種類(兩相異實根、重根、兩虛根)
- 解不是實數時,也會求出像 \(-0.5 \pm 0.866i\) 這樣的兩個虛根(只有虛部正負號不同的一對共軛複數)
- 係數除了小數、負數,也能輸入像 3/4 這樣的分數
- 淺顯易懂的公式解說,以及可直接複製到 Excel、Google 試算表、Python 的公式,也都整理在這個頁面
這個計算有什麼用?
以初速 20 m/s 把球垂直往上拋,t 秒後的高度大約是 20t − 5t²(m)(把重力加速度簡化成約 10 m/s² 時)。「什麼時候高度會是 15 m?」就是要解一元二次方程式 −5t² + 20t − 15 = 0,用公式解可求出 t = 1 秒和 3 秒(上升時 1 次、下降時 1 次)。
從煙火綻放高度的設計到投籃的軌跡,所有「拋出去的東西」的運動都和一元二次方程式息息相關。
「想做一個長比寬多 3 m、面積剛好 28 m² 的長方形花圃」——設寬為 x,得 x(x + 3) = 28,整理後是 x² + 3x − 28 = 0。用公式解會得到 x = 4 和 x = −7,但長度不會是負數,所以答案是寬 4 m、長 7 m。
像這樣「從求出的兩個解中,選出有意義的那一個(驗根)」,是在生活中使用一元二次方程式時不可少的一步。
要在 2 年內把 NT$100 萬變成 NT$121 萬,年利率需要多少 %?——設年利率為 r,得 100(1 + r)² = 121,整理後是 r² + 2r − 0.21 = 0。用公式解會得到 r = 0.1 和 r = −2.1,有意義的利率 r = 0.1(年利率 10%)就是答案。
像複利這樣「乘兩次相同倍率」的金錢計算會變成一元二次方程式,可以從目標金額反推需要的報酬率。
拱橋或吊橋纜索的形狀,基本上是用拋物線 y = ax² + bx + c 來設計。求「離地面的高度為多少 m 的位置,距離中心多遠」,正是在解一元二次方程式。
設計師和土木工程師用數學式決定結構物的形狀時,公式解就是其中的基礎。
「漲價後每個的利潤會增加,但賣出的數量會減少」——把這種關係簡化成模型,利潤就是價格的二次函數。「利潤剛好為 0 的價格」可以當成這個一元二次方程式的解求出,作為訂價上限與下限的參考。
實際市場更複雜,但先用一元二次方程式概算「利潤的山峰在哪裡結束」,是經營分析常用的入門思考方式。
公式與圖形
符號與用語解說
符號
| \(a, b, c\) | a、b、c | 一元二次方程式的係數。\(a\) 是二次項係數(\(x^2\) 前面的數),\(b\) 是一次項係數(\(x\) 前面的數),\(c\) 是常數項(只有數字的項)。 |
| \(x\) | x | 要當成方程式的解求出的未知數。一元二次方程式最多有兩個解。 |
| \(D\) | D(判別式) | 表示判別式 \(D = b^2 - 4ac\),取自英文 Discriminant 的第一個字母。也有用希臘字母 \(\Delta\)(delta)表示的寫法。 |
| \(\sqrt{\phantom{9}}\) | 根號(平方根) | 表示「平方後等於該數、且大於或等於 0 的數」的符號。\(\sqrt{25} = 5\),\(\sqrt{2} \approx 1.414\)。 |
| \(\pm\) | 正負 | 把「+的情況和−的情況」一起寫出來的符號。在公式解中表示「相加的值和相減的值都是解」。 |
| \(i\) | i(虛數單位) | 平方後等於 \(-1\) 的數(\(i^2 = -1\))。用來表示 √ 裡面是負數時的解。 |
| \(x_1, x_2\) | x 下標 1、x 下標 2 | 區分兩個解的名稱。本頁把 ± 的+那一邊記為 \(x_1\),−那一邊記為 \(x_2\)。 |
用語
| 一元二次方程式 | 含有 \(x^2\)(平方)項的方程式,整理後是 \(ax^2 + bx + c = 0\)(\(a \neq 0\))的形式。在國中八年級學到。 |
| 係數 | 寫在文字前面的數。\(3x\) 的 3 就是係數。讀係數時要注意省略的 1 和正負號,例如 \(x^2 - x = 0\) 要讀成「a = 1, b = −1, c = 0」。 |
| 解 | 使方程式成立的文字的值。「解」方程式,就是求出所有的解。一元二次方程式的解也稱為「根」。 |
| 公式解 | 可以直接由係數 a、b、c 算出一元二次方程式的解的公式。優點是就算想不到怎麼因式分解,也一定解得出來。 |
| 判別式 | 公式解中 √ 裡面的 \(b^2 - 4ac\)。只看它的正負,就能判斷根的種類(兩相異實根、重根、兩虛根)。 |
| 重根 | 兩個解重疊成一個的解。發生在判別式為 0 時,在圖形上拋物線與 x 軸相切。 |
| 實根 | 在實數(一般數線上的數)範圍內的解,也叫實數解。判別式大於或等於 0 時有實根。 |
| 虛根 | 不在實數範圍內、要用虛數單位 \(i\) 表示的解。判別式為負時,會是像 \(-0.5 \pm 0.866i\) 這樣「實部 ± 虛部 \(i\)」的一對解(共軛複數),所以也叫共軛虛根。在高中數學學到。 |
| 配方法 | 把式子變形成「\((x + p)^2 = q\)(平方的形式=數)」的方法。用係數 a、b、c 的文字把這個變形做到底,就能導出公式解。 |
| 因式分解 | 把式子分解成乘法的形式。若能分解成 \(x^2 + 3x - 4 = (x - 1)(x + 4)\),不用公式解也知道解是 x = 1, −4。 |
| 拋物線 | \(y = ax^2 + bx + c\) 的圖形形狀。一元二次方程式的實根,就是這條拋物線與 x 軸交點的 x 坐標。 |
建議先了解的基礎知識
為了能「理解意義」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
遇到卡關時,回頭複習表中的內容是最快的方法。
| 正負數的運算(國中七年級,12~13 歲) |
|
| 平方根(國中八年級,13~14 歲) |
|
| 一元二次方程式(國中八年級,13~14 歲) |
|
| 二次函數的圖形(國中九年級~高一,14~16 歲) |
|
用 Excel 計算的方法
| 二次項係數 a | 1 |
| 一次項係數 b | 3 |
| 常數項 c | -4 |
| 判別式 D = b² − 4ac | =B2^2-4*B1*B3 |
| 解 1 x₁ | =(-B2+SQRT(B4))/(2*B1) |
| 解 2 x₂ | =(-B2-SQRT(B4))/(2*B1) |
| 二次項係數 a | 1 |
| 一次項係數 b | 1 |
| 常數項 c | 1 |
| 判別式 D = b² − 4ac | =B2^2-4*B1*B3 |
| 根的種類 | =IF(B4>0,"兩相異實根",IF(B4=0,"重根","兩虛根")) |
| 二次項係數 a | 1 |
| 一次項係數 b | 2 |
| 常數項 c | 1 |
| 重根 x | =-B2/(2*B1) |
| 二次項係數 a | 1 |
| 一次項係數 b | 1 |
| 常數項 c | 1 |
| 實部(−b ÷ 2a) | =-B2/(2*B1) |
| 虛部(加上 ± 的那一邊) | =SQRT(4*B1*B3-B2^2)/ABS(2*B1) |
| 一次項係數 b | 2 |
| 常數項 c | 4 |
| 解 x | =-B2/B1 |
「^2」是平方,「SQRT( )」是求平方根的函數。
以第一個表格為例,會顯示判別式 25、解 1 為 1、解 2 為 −4。
第一個表格的 SQRT 只能在 D > 0 時使用(D < 0 會出現 #NUM!錯誤,這時請改用第四個求虛根的表格)。
用 Google 試算表計算的方法
| 二次項係數 a | 1 |
| 一次項係數 b | 3 |
| 常數項 c | -4 |
| 判別式 D = b² − 4ac | =B2^2-4*B1*B3 |
| 解 1 x₁ | =(-B2+SQRT(B4))/(2*B1) |
| 解 2 x₂ | =(-B2-SQRT(B4))/(2*B1) |
| 二次項係數 a | 1 |
| 一次項係數 b | 1 |
| 常數項 c | 1 |
| 判別式 D = b² − 4ac | =B2^2-4*B1*B3 |
| 根的種類 | =IF(B4>0,"兩相異實根",IF(B4=0,"重根","兩虛根")) |
| 二次項係數 a | 1 |
| 一次項係數 b | 2 |
| 常數項 c | 1 |
| 重根 x | =-B2/(2*B1) |
| 二次項係數 a | 1 |
| 一次項係數 b | 1 |
| 常數項 c | 1 |
| 實部(−b ÷ 2a) | =-B2/(2*B1) |
| 虛部(加上 ± 的那一邊) | =SQRT(4*B1*B3-B2^2)/ABS(2*B1) |
| 一次項係數 b | 2 |
| 常數項 c | 4 |
| 解 x | =-B2/B1 |
用 Python 計算的方法
import math
a = 1.0 # x^2 的係數
b = 3.0 # x 的係數
c = -4.0 # 常數項
if a == 0 and b == 0:
print("a 和 b 同時為 0 時,不成方程式")
elif a == 0:
# a = 0 時,變成一元一次方程式 bx + c = 0
print(f"一元一次方程式的解:x = {-c / b}")
else:
discriminant = b**2 - 4*a*c # 判別式 D
print(f"判別式 D = {discriminant}")
if discriminant > 0:
root = math.sqrt(discriminant)
print(f"兩相異實根:x1 = {(-b + root) / (2*a)}, x2 = {(-b - root) / (2*a)}")
elif discriminant == 0:
print(f"重根:x = {-b / (2*a)}")
else:
real_part = -b / (2*a)
imaginary_part = math.sqrt(-discriminant) / (2*abs(a))
print(f"兩虛根:x = {real_part} ± {imaginary_part}i")
用 LaTeX 等數學式語言的寫法(可直接複製)
x = (−b ± √(b² − 4ac)) ÷ (2a)
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo>−</mo><mi>b</mi>
<mo>±</mo>
<msqrt>
<mrow>
<msup><mi>b</mi><mn>2</mn></msup>
<mo>−</mo>
<mn>4</mn><mi>a</mi><mi>c</mi>
</mrow>
</msqrt>
</mrow>
<mrow><mn>2</mn><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
x = (-b +- sqrt(b^2 - 4ac)) / (2a)
Solve[a*x^2 + b*x + c == 0, x]
solve(a*x^2 + b*x + c = 0, x);
x = roots([a b c]);
x = (-b ± √(b^2 - 4ac))/(2a)
D = b² − 4ac
D = b^{2} - 4ac
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi>
<mo>=</mo>
<msup><mi>b</mi><mn>2</mn></msup>
<mo>−</mo>
<mn>4</mn><mi>a</mi><mi>c</mi>
</mrow>
</math>
D = b^2 - 4ac
b^2 - 4*a*c
d := b^2 - 4*a*c;
d = b^2 - 4*a*c;
D = b^2 - 4ac
x = −b ÷ (2a)
x = -\frac{b}{2a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mo>−</mo>
<mfrac><mi>b</mi><mrow><mn>2</mn><mi>a</mi></mrow></mfrac>
</mrow>
</math>
x = -b / (2a)
-b/(2*a)
x := -b/(2*a);
x = -b/(2*a);
x = -b/(2a)
x = (−b ± √(4ac − b²) i) ÷ (2a)
x = \frac{-b \pm \sqrt{4ac - b^2}\,i}{2a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo>−</mo><mi>b</mi>
<mo>±</mo>
<msqrt>
<mrow>
<mn>4</mn><mi>a</mi><mi>c</mi>
<mo>−</mo>
<msup><mi>b</mi><mn>2</mn></msup>
</mrow>
</msqrt>
<mi>i</mi>
</mrow>
<mrow><mn>2</mn><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
x = (-b +- sqrt(4ac - b^2) i) / (2a)
{(-b + Sqrt[4*a*c - b^2]*I)/(2*a), (-b - Sqrt[4*a*c - b^2]*I)/(2*a)}
x := [(-b + sqrt(4*a*c - b^2)*I)/(2*a), (-b - sqrt(4*a*c - b^2)*I)/(2*a)];
x = [(-b + sqrt(4*a*c - b^2)*1i)/(2*a), (-b - sqrt(4*a*c - b^2)*1i)/(2*a)];
x = (-b ± √(4ac - b^2) i)/(2a)
x = −c ÷ b
x = -\frac{c}{b}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mo>−</mo>
<mfrac><mi>c</mi><mi>b</mi></mfrac>
</mrow>
</math>
x = -c/b
-c/b
x := -c/b;
x = -c/b;
x = -c/b
請 ChatGPT 幫忙計算的方法
你是數學計算助理。請務必實際執行 Python 程式碼來進行以下計算,並只根據執行結果的數值回答(不要用心算或猜測作答)。 請用公式解解一元二次方程式 x² + 3x − 4 = 0。 請分別列出以下內容: 1. 判別式 D = b² − 4ac 的值,以及由此得知的根的種類(兩相異實根、重根、兩虛根中的哪一種) 2. 解 x 的值(若為虛根,請寫成「實部 ± 虛部 i」的形式) 3. 代入公式解的計算過程 請列出計算所用的公式和執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權