給定一個二階方陣 $A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}$,請撰寫一個程式來計算它的反矩陣 $A^{-1}$。
根據線性代數公式,若方陣 $A$ 的行列式值 $\det(A) = ad - bc$ 不等於 0,則其反矩陣存在,公式如下:
若 $\det(A) =ad-bc=0$,則該方陣不存在反矩陣。
輸入為四個整數(或浮點數)$a, b, c, d$,分別代表方陣中第一列的兩個元素與第二列的兩個元素。
若反矩陣存在,請輸出該反矩陣的四個元素。
若反矩陣不存在(即 $\det(A) = 0$),則輸出 -1。
1 5 2 11
11 -5 -2 1
1 2 2 4
-1
反矩陣高二數學就會學到了,但是程式考題有時候還要鍛鍊你對題目的理解能力,就算你不知道這個概念。
假設你有一個 $2 \times 2$ 的矩陣 $A$,裡面包含四個位置的數字 $a, b, c, d$:
在算反矩陣之前,我們要先算一個關鍵數字,叫做「行列式」。它的計算方法是交叉相乘後相減:
左上($a$) 乘 右下($d$) $\rightarrow ad$
右上($b$) 乘 左下($c$) $\rightarrow bc$
將兩者相減:$ad - bc$
算出這個關鍵數字 ($ad - bc$) 後,就像過海關一樣,會有兩種結果:
⛔ 情況一:如果算出來剛好是 $0$
這代表這個矩陣沒有反矩陣。就像在數學中不能除以 $0$ 一樣,計算就到此為止了。
✅ 情況二:如果算出來不是 $0$
這代表反矩陣存在!接下來你要對原本的矩陣做「三個小動作」來得到反矩陣 $A^{-1}$:
對角互換: 把左上的 $a$ 和右下的 $d$ 位置對調。
變換符號: 把右上的 $b$ 和左下的 $c$ 加上負號(原本正的變負,負的變正)。
除以關鍵數字: 把剛才弄好的矩陣,乘上 $\frac{1}{ad-bc}$(也就是把矩陣裡面的四個數字,都除以你剛剛算出來的行列式值)。
綜合起來,就是圖片中的最終公式:
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||