什么是克莱姆法则?
克莱姆法则(Cramer's Rule)是一种经典的代数方法,利用行列式来求解线性方程组。对于写成 \(A\cdot x = b\) 形式的方程组——其中 \(A\) 是方阵形式的系数矩阵,\(b\) 是常数向量——每个未知数都可以通过"某个修改后矩阵的行列式"除以"\(A\) 的行列式"来求得。只要 \(\det(A)\) 不等于零,该方法就成立,并保证方程组有唯一解。
如何使用本计算器
首先选择你的方程组是 2×2(两个方程,未知数为 \(x\)、\(y\))还是 3×3(三个方程,未知数为 \(x\)、\(y\)、\(z\))。在网格中逐行填入系数矩阵 \(A\) 的各个元素,并在 \(b\) 列填入等号右边的常数项。点击计算,即可看到每个未知数的值,以及 \(\det(A)\) 和替换后得到的行列式 \(\det(A_x)\)、\(\det(A_y)\) 和 \(\det(A_z)\)。如果 \(\det(A)\) 等于零,计算器会提示该方程组没有唯一解。
公式详解
要求 \(x\),把 \(A\) 的第 1 列替换成向量 \(b\),构成矩阵 \(A_x\),然后计算 \(x = \det(A_x) / \det(A)\)。求 \(y\) 时替换第 2 列得到 \(A_y\);求 \(z\) 时替换第 3 列得到 \(A_z\)。分母 \(\det(A)\) 对每个未知数都是相同的,因此只需计算一次。
$$x = \dfrac{D_x}{D},\quad y = \dfrac{D_y}{D} \qquad \text{where}\quad \left\{ \begin{aligned} D &= \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} \\[0.4em] D_x &= \begin{vmatrix} b_{1} & a_{12} \\ b_{2} & a_{22} \end{vmatrix} \\[0.4em] D_y &= \begin{vmatrix} a_{11} & b_{1} \\ a_{21} & b_{2} \end{vmatrix} \end{aligned} \right.$$
实例演示
求解 \(2x + y = 5\) 和 \(x + 3y = 10\)。此时 \(\det(A) = 2\cdot 3 - 1\cdot 1 = 5\)。把第 1 列替换为 \(b\),得到 \(\det(A_x) = 5\cdot 3 - 1\cdot 10 = 5\),于是 \(x = 5/5 = 1\)。把第 2 列替换为 \(b\),得到 \(\det(A_y) = 2\cdot 10 - 5\cdot 1 = 15\),于是 \(y = 15/5 = 3\)。所以方程组的解为 \(x = 1\),\(y = 3\)。
常见问题
如果 \(\det(A) = 0\) 怎么办?此时方程组要么无解,要么有无穷多解;克莱姆法则无法给出唯一答案,建议改用高斯消元法。
它适用于更大的方程组吗?从数学上讲是可以的,但当规模超过 3×3 时,克莱姆法则的计算量会迅速增大。本工具覆盖了课堂上最常见的两种情况。
系数可以是负数或小数吗?可以。任意一个输入框都能填入任意实数,包括负数和小数。