克拉默法则通过行列式来求解线性方程组中的方阵系统。每次替换一列,计算对应的行列式,再除以原系数矩阵的行列式。它只在 det(A)0\det(A) \ne 0 时适用。

如果方程组写成

Ax=bAx = b

并且 AA 是方阵且满足 det(A)0\det(A) \ne 0,那么这个方程组有唯一解,克拉默法则可以直接求出每个变量。

克拉默法则公式

对于变量 xix_i,公式是

xi=det(Ai)det(A)x_i = \frac{\det(A_i)}{\det(A)}

其中,AiA_i 是把 AA 的第 ii 列替换为 bb 中常数列后得到的矩阵。

这个条件非常重要。如果 det(A)=0\det(A) = 0,分母就是零,因此克拉默法则不能给出唯一解。

什么时候可以使用克拉默法则

只有在以下条件都成立时才能使用:

  1. 方程个数与未知数个数相同。
  2. 系数矩阵是方阵。
  3. 系数矩阵的行列式不为零。

如果有一个条件不满足,就不能继续使用。例如,行列式为零意味着方程组可能无解,也可能有无穷多解,因此克拉默法则不是求唯一解的正确工具。

一步步求解 2×22 \times 2 方程组

求解

{2x+y=5xy=1\begin{cases} 2x + y = 5 \\ x - y = 1 \end{cases}

先写出系数矩阵和常数列:

A=[2111],b=[51]A = \begin{bmatrix} 2 & 1 \\ 1 & -1 \end{bmatrix}, \qquad b = \begin{bmatrix} 5 \\ 1 \end{bmatrix}

计算 AA 的行列式:

det(A)=2111=2(1)1(1)=3\det(A) = \begin{vmatrix} 2 & 1 \\ 1 & -1 \end{vmatrix} = 2(-1) - 1(1) = -3

因为 det(A)=30\det(A) = -3 \ne 0,所以这个方程组有唯一解,克拉默法则适用。

xx

AA 的第一列替换为 bb

Ax=[5111]A_x = \begin{bmatrix} 5 & 1 \\ 1 & -1 \end{bmatrix}

然后

det(Ax)=5111=5(1)1(1)=6\det(A_x) = \begin{vmatrix} 5 & 1 \\ 1 & -1 \end{vmatrix} = 5(-1) - 1(1) = -6

现在除以原来的行列式:

x=det(Ax)det(A)=63=2x = \frac{\det(A_x)}{\det(A)} = \frac{-6}{-3} = 2

yy

AA 的第二列替换为 bb

Ay=[2511]A_y = \begin{bmatrix} 2 & 5 \\ 1 & 1 \end{bmatrix}

然后

det(Ay)=2511=2(1)5(1)=3\det(A_y) = \begin{vmatrix} 2 & 5 \\ 1 & 1 \end{vmatrix} = 2(1) - 5(1) = -3

再次除以 det(A)\det(A)

y=det(Ay)det(A)=33=1y = \frac{\det(A_y)}{\det(A)} = \frac{-3}{-3} = 1

所以解为

(x,y)=(2,1)(x,y) = (2,1)

这就是完整的模式:先算原矩阵的一个行列式,然后每个变量再各算一个行列式。

为什么克拉默法则重要

对于大型方程组,克拉默法则通常不是最快的方法。学生学习它,是因为它把三个概念清楚地联系在一起:

  • 求解线性方程组
  • 行列式
  • 唯一解成立的条件

如果 det(A)0\det(A) \ne 0,方程组有唯一解。如果 det(A)=0\det(A) = 0,就会出现问题:可能无解,也可能有无穷多解。

克拉默法则中的常见错误

det(A)=0\det(A) = 0 时仍然使用

这是最重要的检查。克拉默法则依赖于除以 det(A)\det(A),所以行列式为零就意味着这种方法不能用于求唯一解。

替换错了列

要求 xx,就替换 xx 所在的列。要求 yy,就替换 yy 所在的列。常数列不是附加到矩阵后面,而是每次替换其中一列。

把它当成所有方程组的最佳方法

对于更大的方程组,行变换法或数值方法通常更实用。克拉默法则最适合小型方程组,也适合帮助理解行列式的作用。

克拉默法则在什么时候使用

在代数和线性代数课程中,你通常会看到克拉默法则,因为教学重点往往是理解原理,而不是计算速度。它特别适合用来说明每个变量如何依赖于系数和常数项。

在实际计算中,它最适合 2×22 \times 2 方程组,有时也适用于 3×33 \times 3 方程组。再往上,行列式计算会迅速变复杂,因此它就不再是默认方法了。

试试类似的问题

试着求解

{3x+2y=8xy=0\begin{cases} 3x + 2y = 8 \\ x - y = 0 \end{cases}

先计算 det(A)\det(A)。如果它不为零,就每次替换一列,分别求出 xxyy。手算完成后,再用矩阵求解器对照你的设定,检查行列式以及最终答案。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →