第 3 章 一元方程與聯立方程¶
本章將介紹如何使用 wxMaxima 解一元一次方程、一元二次方程,以及二元一次聯立方程。本章內容完全對應高中數學最核心的方程式操作,並示範如何使用 CAS 協助檢查答案與處理較複雜的情況。
3.1 解一元一次方程¶
一元一次方程的標準形式為:
$$ ax + b = 0 $$
wxMaxima 使用 solve 指令解方程式:
solve(方程式, 未知數);
In [2]:
solve(2*x - 5 = 7, x);
Out[2]:
\[\tag{${\it \%o}_{1}$}\left[ x=6 \right] \]
In [3]:
solve(x^2 - 5*x + 6 = 0, x);
Out[3]:
\[\tag{${\it \%o}_{2}$}\left[ x=3 , x=2 \right] \]
3.2.1 判別式 $\Delta = b^2 - 4ac$¶
判別式決定根的型態:
若 $\Delta > 0$:兩個不同實根
若 $\Delta = 0$:一個實根(重根)
若 $\Delta < 0$:無實根(兩複數共軛根)
可以自訂一個判別式函數:
In [4]:
delta(a,b,c) := b^2 - 4*a*c;
Out[4]:
\[\tag{${\it \%o}_{3}$}\delta\left(a , b , c\right):=b^2-4\,a\,c\]
測試:
In [5]:
delta(1, -5, 6);
Out[5]:
\[\tag{${\it \%o}_{4}$}1\]
In [6]:
solve(a*x^2 + b*x + c = 0, x);
Out[6]:
\[\tag{${\it \%o}_{5}$}\left[ x=-\left(\frac{\sqrt{b^2-4\,a\,c}+b}{2\,a}\right) , x=\frac{\sqrt{b^2-4\,a\,c}-b}{2\,a} \right] \]
In [7]:
solve(x^5 - x + 1, x);
Out[7]:
\[\tag{${\it \%o}_{6}$}\left[ 0=x^5-x+1 \right] \]
用以下指令得到數值解:
In [8]:
allroots(x^5 - x + 1 = 0);
Out[8]:
\[\tag{${\it \%o}_{7}$}\left[ x=0.3524715460317262\,i+0.7648844336005848 , x=0.7648844336005848-0.3524715460317262\,i , x=1.0839541013177105\,i-0.18123244446987544 , x=-\left(1.0839541013177105\,i\right)-0.18123244446987544 , x=-1.1673039782614187 \right] \]
可以看到這個多項式方程式只有 1 個實數解,另外 4 個是虛數解。
若要使用 find_root,先畫出這個函數的圖形,可以看到在 -1 到 -1.5 之間有一個實數解。
In [9]:
plot2d([x^5 - x + 1], [x,-2,2])$ /* 在 wxMaxima 裡,也可以用 wxplot2d() */
In [10]:
find_root(x^5 - x + 1 = 0, x, -1.5, -1);
Out[10]:
\[\tag{${\it \%o}_{9}$}-1.1673039782614187\]
要使用牛頓法 mnewton 求數值解,初次使用必需先 load(mnewton) 這個套件。
In [11]:
load(mnewton);
mnewton(x^5 - x + 1 =0, x, -2);
Out[11]:
\[\tag{${\it \%o}_{10}$}\mbox{ /home/hcp2/maxima/share/maxima/5.47.0/share/mnewton/mnewton.mac }\]
Out[11]:
\[\tag{${\it \%o}_{11}$}\left[ \left[ x=-1.1673039782614187 \right] \right] \]
In [12]:
solve([2*x + y = 7, x - y = 1], [x, y]);
Out[12]:
\[\tag{${\it \%o}_{12}$}\left[ \left[ x=\frac{8}{3} , y=\frac{5}{3} \right] \right] \]
也可以用牛頓法求聯立方程式的數值解:
In [13]:
mnewton([2*x + y = 7, x - y = 1], [x, y], [2,1]);
Out[13]:
\[\tag{${\it \%o}_{13}$}\left[ \left[ x=2.6666666666666665 , y=1.6666666666666667 \right] \right] \]
In [14]:
solve([x + y = 36, x - y = 8], [x, y]);
Out[14]:
\[\tag{${\it \%o}_{14}$}\left[ \left[ x=22 , y=14 \right] \right] \]
3.6 練習題¶
- 解下列方程式:
- $3x - 7 = 11$
- $x^2 + x - 12 = 0$
- 求判別式並判斷下列方程的根的型態:
$$ 2x^2 - 4x + 2 = 0 $$
- 使用
allroots求
$$ x^4 - 3x + 1 = 0 $$
- 解聯立方程: $$ \begin{cases} 3x + 2y = 12 \\ x - 4y = -6 \end{cases} $$
3.7 本章小結¶
本章你學會:
使用
solve解一元一次、一元二次方程使用判別式判斷二次方程的根
使用
allroots,find_root與mnewton求數值解解二元一次聯立方程
將文字題轉換成聯立方程建模
下一章將介紹不等式與絕對值方程,讓你利用 CAS 處理更多高中常見的問題。