請輸入式 (1)、式 (2) 的係數和等號右邊的數。下方的式子和輸入欄連動,直接改寫數字的部分也能計算。
這個頁面可以做什麼
- 只要輸入係數和等號右邊的數,就能馬上解出二元一次聯立方程式 \(ax + by = c,\ dx + ey = f\)。計算機會顯示和手寫一樣的聯立式子,也可以直接改寫數字的部分來計算
- 解法可以選加減消去法(讓係數相同後兩式相加減)或代入消去法(化成 \(y = \) 的形式後代入),並顯示和國中課本相同步驟的計算過程
- 係數除了小數、負數,也可以輸入 3/4 這樣的分數(分數、小數係數會從「兩邊同乘以某數化成整數」開始顯示計算過程)
- 除了恰有一組解的情況,無解(兩直線平行)、無限多解(同一條直線)的情況也會附上理由判定。答案以約分好的分數(精確值)顯示,是分數時也會附上小數。還能看到兩條直線的圖形(交點=解),以及代入兩個式子的驗算
- 淺顯易懂的公式解說,以及可直接複製到 Excel、Google 試算表、Python 的公式,也都整理在這個頁面
這個計算有什麼用?
像「蘋果 1 顆和橘子 1 顆共 NT$50,蘋果 2 顆和橘子 1 顆共 NT$80」這樣,只知道合計金額的收據有 2 張時,把蘋果設為 \(x\) 元、橘子設為 \(y\) 元,就能列出 \(x + y = 50\)、\(2x + y = 80\) 的聯立方程式,算出蘋果 30 元、橘子 20 元的單價。
「沒寫個別價格,但知道組合的合計」這種情況,在會計拆分明細或分析估價單時也常出現,是聯立方程式最經典的應用。
月租 NT$150 加每 GB NT$50 的方案 A,和月租 NT$300 加每 GB NT$20 的方案 B,把月費設為 \(y\) 元、上網用量設為 \(x\) GB,就是 \(y = 50x + 150\)、\(y = 20x + 300\) 兩個式子,聯立求解就知道 \(x = 5\)(GB)時月費同樣是 400 元。
也就是說「用量超過 5 GB 就選方案 B 比較划算」。求兩直線交點=分界點的計算,比較電費或訂閱方案時也能同樣使用(假設費用隨用量成比例增加的方案)。
從家到車站 1,500 m。以分速 60 m 走路,中途改以分速 150 m 跑步,15 分鐘到達時,把走路的距離設為 \(x\) m、跑步的距離設為 \(y\) m,可以列出距離的式子 \(x + y = 1500\) 和時間的式子 \(\dfrac{x}{60} + \dfrac{y}{150} = 15\)。解得走路 500 m、跑步 1,000 m。
「合計」和「由分配決定的另一個量(時間、費用等)」兩個條件湊齊,就會變成聯立方程式——這個題型不只用在速率問題,用途很廣。
想把濃度 5% 和 10% 的食鹽水混合,做出 300 g 的 8% 食鹽水時,把 5% 的設為 \(x\) g、10% 的設為 \(y\) g,可以列出總量的式子 \(x + y = 300\) 和食鹽量的式子 \(0.05x + 0.1y = 24\)(300 g 的 8%=24 g),解得 5% 的 120 g、10% 的 180 g。
稀釋漂白水、調配消毒液或肥料、金屬合金等,「把 2 種材料混合成目標濃度」的場合,廣泛使用這個計算。
一個賣 NT$200 的商品,材料費一個 NT$120,每月房租等固定費用 24,000 元時,把每月銷售數設為 \(x\) 個、金額設為 \(y\) 元,求營收的式子 \(y = 200x\) 和費用的式子 \(y = 120x + 24000\) 的交點,得 \(x = 300\) 個、\(y = 6\) 萬元。就知道每月 300 個是賺錢和虧錢的分界(損益兩平點)。
這是擬定事業計畫或訂價時最先確認的數字之一,內容就是聯立方程式本身(前提是售價和成本不隨數量改變)。
公式與圖形
符號與用語解說
符號
| \(x,\ y\) | x、y | 表示要求的 2 個數(未知數)的文字。方程式中習慣用字母表後面的字母 \(x,\ y,\ z\) 表示「還不知道的數」。 |
| \(a,\ b,\ c,\ d,\ e,\ f\) | a、b、c、d、e、f | 一般化地表示係數和右式常數(已知的數)的文字。「固定的數」習慣用字母表前面的字母。這個頁面把式 (1) 寫成 \(ax + by = c\)、式 (2) 寫成 \(dx + ey = f\)。 |
| (1)、(2) | 式 (1)、式 (2) | 式子的編號。用來像「(1) ×2」「(1) + (2)」這樣,簡短寫出對哪個式子做了什麼操作。課本和答案卷上也會這樣寫。 |
| \(\{\) | 大括號 | 加在聯立方程式左邊的大括號,表示「讓這兩個式子同時成立」,代表兩個式子是一組。 |
| \(ae - bd\) | ae 減 bd | 出現在一次求出解的公式分母中,係數交叉相乘再相減的值。是不是 0,決定了「解是否恰有一組」。用矩陣的說法,就是把係數排成矩陣的行列式。 |
| \((x,\ y)\) | 數對 (x, y) | 把 2 個值寫成一組的寫法。聯立方程式的解是 \(x\) 和 \(y\) 的組合,所以寫成 \((2,\ 3)\) 這樣的數對。和圖形上點的座標寫法相同。 |
用語
| 聯立方程式 | 把 2 個以上的方程式(例如二元一次方程式)組成一組,求出讓所有式子同時成立的未知數的值。台灣在國中七年級學習。 |
| 二元一次方程式 | 有 2 個未知數(元),而且每一項都是一次(沒有平方,也沒有未知數彼此相乘)的方程式。「元」表示未知數的個數,「次」表示未知數的最高次數。\(x + y = 5\) 是二元一次方程式。 |
| 解 | 使方程式成立的未知數的值。聯立方程式的解是 \(x\) 和 \(y\) 的值的組合,在圖形上相當於兩直線交點的座標。 |
| 加減消去法 | 讓兩個式子的係數相同,再把左式和左式、右式和右式相加或相減,消去一個未知數來解的方法。 |
| 兩式相加減 | 把兩個等式的「左式和左式」「右式和右式」分別相加(或相減),用「=」連起來,做出新的等式。 |
| 代入消去法 | 把一個式子變形成「\(y = \)(\(x\) 的式子)」的形式,再把它代入另一個式子的 \(y\),消去一個未知數來解的方法。 |
| 代入 | 把值或式子放到文字的位置。把 \(y = 5 - x\) 代入 \(2x - y = 1\),會得到 \(2x - (5 - x) = 1\)。 |
| 消去 | 從式子中消掉 2 個未知數中的 1 個,變成只有 1 個未知數的方程式。加減消去法、代入消去法都是消去的手段。 |
| 移項 | 把等式的項變號後移到另一邊。把 \(x + 3 = 7\) 的 \(3\) 移項,會得到 \(x = 7 - 3\)。是「兩邊同減去一個數」的簡寫。 |
| 係數 | 文字前面的數。\(2x\) 的 2 就是係數。像 \(x\) 這樣沒寫數字的項,係數看成 1;\(-y\) 的係數看成 \(-1\)。 |
| 等量公理 | 等式兩邊同加、同減、同乘一個數,或同除以一個不是 0 的數,等式仍然成立的規則(日本稱為「等式的性質」)。就像天平兩邊放上同樣的重量仍然平衡。加減消去法、代入消去法的所有變形都以此為根據。 |
| 最小公倍數 | 兩個數共同的倍數中最小的一個。加減消去法讓係數相同時,作為目標的數(係數 2 和 3 就化成 6)。 |
| 平行 | 兩條直線無論延伸到哪裡都不相交。聯立方程式中,兩個式子的圖形平行時沒有交點,所以「無解」。 |
| 無限多解 | 解不只一組、有無限多組的情況(日本稱為「不定」)。兩個式子表示同一條直線時,直線上所有的點都是解。 |
| 交點 | 兩個圖形相交的點。聯立方程式的解,和兩個式子的圖形(兩條直線)交點的座標一致。 |
| 驗算 | 把求出的解代入原本的兩個式子,確認左式和右式是否真的相等。聯立方程式只要代入就能確認,養成驗算的習慣,就能自己發現計算錯誤。 |
| 克拉瑪公式 | 由係數直接算出解的公式,可以寫成 \(x = \dfrac{ce - bf}{ae - bd},\ y = \dfrac{af - cd}{ae - bd}\)。名稱來自瑞士數學家克拉瑪(Cramer)。台灣在高中學行列式時會學到,但二元一次的情況只用國中範圍的計算就能確認。 |
建議先了解的基礎知識
為了能「理解意思」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
卡住的時候,回到這裡的內容複習是最快的方法。
| 用文字表示的式子(國中七年級,12~13 歲) |
|
| 正負數的計算(國中七年級,12~13 歲) |
|
| 等量公理與一元一次方程式(國中七年級,12~13 歲) |
|
| 直角座標與圖形(國中七~八年級,12~14 歲) |
|
| 分數的計算(國小五年級~國中七年級,10~13 歲) |
|
用 Excel 計算的方法
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 5 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | -1 |
| 式 (2) 的右式 f | 1 |
| 分母 ae−bd | =B1*B5-B2*B4 |
| 解 x((ce−bf)÷(ae−bd)) | =(B3*B5-B2*B6)/B7 |
| 解 y((af−cd)÷(ae−bd)) | =(B1*B6-B3*B4)/B7 |
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 3 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | 2 |
| 式 (2) 的右式 f | 6 |
| 分母 ae−bd | =B1*B5-B2*B4 |
| 分子 ce−bf | =B3*B5-B2*B6 |
| 分子 af−cd | =B1*B6-B3*B4 |
| 判定 | =IF(B7<>0,"恰有一組解",IF(AND(B8=0,B9=0),"無限多解","無解")) |
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 5 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | -1 |
| 式 (2) 的右式 f | 1 |
| 解 x | 2 |
| 解 y | 3 |
| 式 (1) 的左式 ax+by(和 c 相同就正確) | =B1*B7+B2*B8 |
| 式 (2) 的左式 dx+ey(和 f 相同就正確) | =B4*B7+B5*B8 |
第 1 個表是解 x + y = 5、2x − y = 1 的例子,分母 ae−bd 是 −3,解是 x = 2、y = 3。分母是 0 時除法會出現錯誤(#DIV/0!),這就是「解不只一組或沒有解」的訊號。
第 2 個表是 x + y = 3、2x + 2y = 6 的例子,判定是「無限多解」。把式 (2) 的右式 f 改成 10,就會變成「無解」(平行)。
第 3 個表是把解代入兩個式子的驗算,式 (1) 的左式是 5、式 (2) 的左式是 1,分別和各自的右式相同。
用 Google 試算表計算的方法
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 5 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | -1 |
| 式 (2) 的右式 f | 1 |
| 分母 ae−bd | =B1*B5-B2*B4 |
| 解 x((ce−bf)÷(ae−bd)) | =(B3*B5-B2*B6)/B7 |
| 解 y((af−cd)÷(ae−bd)) | =(B1*B6-B3*B4)/B7 |
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 3 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | 2 |
| 式 (2) 的右式 f | 6 |
| 分母 ae−bd | =B1*B5-B2*B4 |
| 分子 ce−bf | =B3*B5-B2*B6 |
| 分子 af−cd | =B1*B6-B3*B4 |
| 判定 | =IF(B7<>0,"恰有一組解",IF(AND(B8=0,B9=0),"無限多解","無解")) |
| 式 (1) x 的係數 a | 1 |
| 式 (1) y 的係數 b | 1 |
| 式 (1) 的右式 c | 5 |
| 式 (2) x 的係數 d | 2 |
| 式 (2) y 的係數 e | -1 |
| 式 (2) 的右式 f | 1 |
| 解 x | 2 |
| 解 y | 3 |
| 式 (1) 的左式 ax+by(和 c 相同就正確) | =B1*B7+B2*B8 |
| 式 (2) 的左式 dx+ey(和 f 相同就正確) | =B4*B7+B5*B8 |
用 Python 計算的方法
from fractions import Fraction
# 式 (1):a1*x + b1*y = c1
# 式 (2):a2*x + b2*y = c2 (3/4 這樣的分數可以寫成 Fraction(3, 4))
a1, b1, c1 = Fraction(1), Fraction(1), Fraction(5)
a2, b2, c2 = Fraction(2), Fraction(-1), Fraction(1)
denominator = a1 * b2 - a2 * b1 # 公式的分母 ae − bd
if denominator != 0:
x = (c1 * b2 - c2 * b1) / denominator
y = (a1 * c2 - a2 * c1) / denominator
print(f"解: x = {x}, y = {y}")
print(f"化成小數: x = {float(x)}, y = {float(y)}")
elif c1 * b2 - c2 * b1 == 0 and a1 * c2 - a2 * c1 == 0:
print("無限多解(兩個式子表示同一條直線)")
else:
print("無解(兩條直線平行,沒有交點)")
用 LaTeX 等數學式語言的寫法(可直接複製)
ax + by = c, dx + ey = f
\begin{cases} ax + by = c \\ dx + ey = f \end{cases}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>{</mo>
<mtable columnalign="left">
<mtr><mtd>
<mi>a</mi><mi>x</mi><mo>+</mo><mi>b</mi><mi>y</mi><mo>=</mo><mi>c</mi>
</mtd></mtr>
<mtr><mtd>
<mi>d</mi><mi>x</mi><mo>+</mo><mi>e</mi><mi>y</mi><mo>=</mo><mi>f</mi>
</mtd></mtr>
</mtable>
</mrow>
</math>
{(ax + by = c),(dx + ey = f):}
Solve[{a*x + b*y == c, d*x + e*y == f}, {x, y}]
solve({a*x + b*y = c, d*x + e*y = f}, {x, y});
S = solve(a*x + b*y == c, d*x + e*y == f, [x, y])
ax + by = c, dx + ey = f
(ax + by) − (ax + ey) = c − f
(ax + by) - (ax + ey) = c - f
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mi>x</mi><mo>+</mo><mi>b</mi><mi>y</mi><mo>)</mo>
<mo>−</mo>
<mo>(</mo><mi>a</mi><mi>x</mi><mo>+</mo><mi>e</mi><mi>y</mi><mo>)</mo>
<mo>=</mo>
<mi>c</mi><mo>−</mo><mi>f</mi>
</mrow>
</math>
(ax + by) - (ax + ey) = c - f
Simplify[(a*x + b*y) - (a*x + e*y) == c - f]
(a*x + b*y) - (a*x + e*y) = c - f;
simplify((a*x + b*y) - (a*x + e*y) == c - f)
(ax + by) − (ax + ey) = c − f
y = px + q, dx + e(px + q) = f
y = px + q,\quad dx + e(px + q) = f
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi><mo>=</mo><mi>p</mi><mi>x</mi><mo>+</mo><mi>q</mi>
<mo>,</mo>
<mi>d</mi><mi>x</mi><mo>+</mo><mi>e</mi>
<mo>(</mo><mi>p</mi><mi>x</mi><mo>+</mo><mi>q</mi><mo>)</mo>
<mo>=</mo><mi>f</mi>
</mrow>
</math>
y = px + q, dx + e(px + q) = f
Solve[{y == p*x + q, d*x + e*y == f}, {x, y}]
subs(y = p*x + q, d*x + e*y = f);
subs(d*x + e*y == f, y, p*x + q)
y = px + q, dx + e(px + q) = f
x = (ce − bf)/(ae − bd), y = (af − cd)/(ae − bd)
x = \frac{ce - bf}{ae - bd},\quad y = \frac{af - cd}{ae - bd}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>x</mi><mo>=</mo>
<mfrac>
<mrow><mi>c</mi><mi>e</mi><mo>−</mo><mi>b</mi><mi>f</mi></mrow>
<mrow><mi>a</mi><mi>e</mi><mo>−</mo><mi>b</mi><mi>d</mi></mrow>
</mfrac>
<mo>,</mo>
<mi>y</mi><mo>=</mo>
<mfrac>
<mrow><mi>a</mi><mi>f</mi><mo>−</mo><mi>c</mi><mi>d</mi></mrow>
<mrow><mi>a</mi><mi>e</mi><mo>−</mo><mi>b</mi><mi>d</mi></mrow>
</mfrac>
</mrow>
</math>
x = (ce - bf)/(ae - bd), y = (af - cd)/(ae - bd)
{x, y} = {(c*e - b*f)/(a*e - b*d), (a*f - c*d)/(a*e - b*d)}
x := (c*e - b*f)/(a*e - b*d); y := (a*f - c*d)/(a*e - b*d);
x = (c*e - b*f)/(a*e - b*d); y = (a*f - c*d)/(a*e - b*d);
x = (ce − bf)/(ae − bd), y = (af − cd)/(ae − bd)
請 ChatGPT 幫忙計算的方法
你是數學(聯立方程式)的計算助理。請務必實際執行 Python 程式碼來進行下面的計算,並只以執行結果的數值作為回答的根據(不要用心算或推測回答)。 請解聯立方程式 x + y = 5、2x − y = 1。 請分別列出下列內容: 1. 解 x, y(是分數時,同時以約分好的分數和小數表示) 2. 用加減消去法(讓其中一個未知數的係數相同後兩式相加減)的計算過程 3. 把求出的解代入兩個式子的驗算 請在 Python 中使用標準函式庫的 fractions 模組精確計算,並列出計算用的公式和執行結果的數值。如果無解或有無限多解,也請說明理由。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權