通过MCP连接 →

输入计算

逐行输入系数矩阵 A 和常数向量 b。(求解 2×2 方程组时,3×3 对应的输入框将被忽略。)

数学公式

广告

结果

x = 1, y = 3
行列式 数值
det(A) 5
det(Aₓ) (x) 5
det(Aₕ) (y) 15

什么是克莱姆法则?

克莱姆法则(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.$$
展示如何用向量 b 替换矩阵 A 的第 i 列以构造矩阵 A_i 的图示
克拉默法则:用向量 b 替换 A 的第 i 列得到 A_i,再相除两个行列式。

实例演示

求解 \(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\)。

用两个行列式之比求解 2x2 方程组的图示
对于 2×2 方程组,每个未知数等于两个 2×2 行列式之比。

常见问题

如果 \(\det(A) = 0\) 怎么办?此时方程组要么无解,要么有无穷多解;克莱姆法则无法给出唯一答案,建议改用高斯消元法。

它适用于更大的方程组吗?从数学上讲是可以的,但当规模超过 3×3 时,克莱姆法则的计算量会迅速增大。本工具覆盖了课堂上最常见的两种情况。

系数可以是负数或小数吗?可以。任意一个输入框都能填入任意实数,包括负数和小数。

最后更新: