CCalculate.Studio

🧮 线性方程组计算器

线性方程组是一组共用同一批变量的方程,求解就是找出能同时满足每一个方程的变量取值。本计算器采用带部分主元的高斯消元法,求解二元(2×2)和三元(3×3)方程组,并能识别没有唯一解的奇异方程组。

最后审核: 2026-07-07
Add as preferred on Google

如何解读方程组的解

一个线性方程组恰好属于以下三种情况之一,具体取决于各方程所表示的直线(或平面)在几何上的相对位置。

情况几何含义(2×2)解的个数
独立且相容两条直线恰好相交于一点恰好一个唯一解
相关(线性相关)两个方程描述的是同一条直线有无穷多解
不相容两条直线相互平行,永不相交无解
  • 本计算器把相关和不相容这两种情况都统一显示为「没有唯一解」,因为仅凭高斯消元本身、不对增广矩阵做进一步化简,无法区分这两种情形;当系数矩阵奇异时,这两种结果都是同样合理的。
  • 数值结果四舍五入到小数点后 6 位。对于系数是整数或简单分数的方程组,结果中出现的微小非零小数(例如 1.999999 而非 2)反映的是标准的浮点舍入现象,可视为对应的精确值。
  • 部分主元法能降低数值误差,但对于「接近奇异」的方程组(行列式非常接近零),结果仍可能对输入的微小变化十分敏感——这一特性在数值线性代数中称为病态(ill-conditioning)。

什么是线性方程组?

线性方程组是由两个或多个共用同一组变量的线性方程构成的集合。方程组的解是一组取值——每个变量各一个——能让方程组中的每一个方程同时成立。从几何上看,一个二元线性方程是一条直线,求解 2×2 方程组就是找出两条直线的交点;一个三元线性方程是三维空间中的一个平面,3×3 方程组求的是三个平面共同相交的那一点。

本计算器把每个方程表示为增广矩阵中的一行:先是各变量的系数,最后是等号右边的常数项。对于 2×2 方程组,需要按行顺序输入六个数——a₁、b₁、c₁、a₂、b₂、c₂,分别对应 a₁x + b₁y = c₁ 和 a₂x + b₂y = c₂ 这两个方程。3×3 方程组的规律相同,需要输入十二个数,分三行、每行四个系数。

求解器使用带部分主元的高斯消元法,这是数值线性代数中的标准方法:逐行系统地消去变量,把增广矩阵化简为可以直接读出各未知数的形式。部分主元法——在消元前选取每一列中绝对值最大的系数所在行作为主元行——比朴素消元法具有更好的数值稳定性。

如何使用本线性方程组计算器

  1. 选择未知数的个数:2 表示二元二方程组(x、y),3 表示三元三方程组(x、y、z)。
  2. 按行顺序输入以分号分隔的系数。对于 2×2 方程组,依次输入 a₁; b₁; c₁; a₂; b₂; c₂,对应方程 a₁x + b₁y = c₁ 和 a₂x + b₂y = c₂,共六个数。
  3. 对于 3×3 方程组,需输入十二个数:a₁、b₁、c₁、d₁、a₂、b₂、c₂、d₂、a₃、b₃、c₃、d₃,对应 a₁x + b₁y + c₁z = d₁ 及随后的两个方程。
  4. 查看求得的 x、y(3×3 方程组还有 z)的值。如果方程组是奇异的——各方程相互依赖或彼此矛盾——计算器会显示「没有唯一解」,而不是具体数值。

高斯消元法背后的原理

2×2 方程组:a₁x + b₁y = c₁, a₂x + b₂y = c₂
3×3 方程组:a₁x + b₁y + c₁z = d₁, a₂x + b₂y + c₂z = d₂, a₃x + b₃y + c₃z = d₃
计算示例:2x + y = 5, x − y = 1 → x = 2, y = 1
奇异条件:系数矩阵的行列式 = 0(无唯一解)

高斯消元法通过一系列不改变解集的行运算——交换两行、用非零常数缩放某一行、把某一行的倍数加到另一行——把增广矩阵 [A | b] 变换为等价但更易求解的形式。本计算器把矩阵消元至化简形式后,直接从得到的对角矩阵中读出解,并采用部分主元法(在每一列中选取绝对值最大的可用主元)来降低浮点舍入误差。

举例说明(2×2):求解 2x + y = 5 和 x − y = 1。把两个方程相加即可消去 y:3x = 6,所以 x = 2;代入第二个方程:2 − y = 1,所以 y = 1。验证:2(2) + 1 = 5 ✓,2 − 1 = 1 ✓。

当方程组的系数矩阵行列式为零时,方程组是奇异的——没有唯一解,这等价于高斯消元后某一主元列的元素(在数值上)全部为零。奇异方程组要么是不相容的(各方程相互矛盾,例如 x + y = 2 与 x + y = 5,无解),要么是相关的(某一方程是另一方程的倍数,例如 x + y = 2 与 2x + 2y = 4,有无穷多解)。要判断具体属于哪一种情况,需要直接检查原方程;本计算器对这两种情况都统一显示为「没有唯一解」。

常见错误

  • 系数没有按行顺序输入——计算器要求逐行依次输入每个方程的系数,最后附上该行的常数项,而不是按列输入。
  • 忘记 3×3 方程组需要十二个数(每行四个),而不是九个——每个方程等号右边的常数项也必须一并输入。
  • 以为「没有唯一解」总是意味着无解——它同样可能表示有无穷多解(相关方程组);要区分这两种情况,需要手工检查原方程。
  • 把常数项放错了等号哪一边——所有含变量的项都必须移到等号左边,把方程写成 a₁x + b₁y(+ c₁z)= 常数 的形式后再输入系数。
  • 期待输出精确的分数——结果是四舍五入到小数点后六位的近似小数,因此真实解 1/3 会显示为 0.333333。

常见问题

如何求解由两个线性方程组成的方程组?

常用方法之一是消元法:把方程按倍数相加或相减,消去其中一个变量,先求出剩下的变量,再代回求另一个。以 2x + y = 5 和 x − y = 1 为例,把两个方程相加即可消去 y,得到 3x = 6,所以 x = 2;代入后得到 y = 1。本计算器对 2×2 和 3×3 方程组都自动执行等价的过程——高斯消元法。

方程组没有唯一解是什么意思?

意味着这些方程并不恰好相交于一点。这有两种不同的情形:方程可能相互矛盾(不相容),例如 x + y = 2 与 x + y = 5,此时无解;也可能是相关的(一个方程是另一个的倍数),例如 x + y = 2 与 2x + 2y = 4,此时有无穷多解。这两种情况都对应系数矩阵行列式为零。

求解 3 个未知数需要几个方程?

一般而言,方程组要有唯一解,独立方程的个数至少要等于未知数的个数——求解 x、y、z 三个未知数需要三个相互独立的方程。独立方程不够,就会留下至少一个自由度,从而产生无穷多解,而不是唯一解。

什么是高斯消元法?

高斯消元法是求解线性方程组的一种系统方法:通过行运算——交换两行、缩放某一行、把某一行的倍数加到另一行——把增广矩阵变换为更简单的三角形或对角形式,从中可以直接读出解。这是线性代数课程中讲授的标准方法,也是包括本计算器在内的大多数数值方程求解器内部所使用的方法。

本计算器能求解非线性方程组吗,比如含 x² 的方程?

不能。本计算器只求解线性方程组,即每个变量都只以一次方出现、变量之间没有乘积项(没有 x²,也没有 xy 这样的项)。非线性方程组需要用不同的方法求解,例如结合代入法与求根公式,或采用数值求根技术。

为什么计算器显示的是小数而不是精确分数?

求解器执行的是浮点(小数)高斯消元,这是数值线性代数中的标准做法,而不是符号化的分数运算。真实解 1/3 会显示为 0.333333(四舍五入到小数点后六位)。对于系数是简洁整数的方程组,小数输出通常会非常接近甚至恰好等于一个整数。

参考文献

  1. Strang G. Linear Algebra and Its Applications. 4th ed. Cengage Learning, 2006. (Gaussian elimination and matrix rank.)
  2. Lay DC, Lay SR, McDonald JJ. Linear Algebra and Its Applications. 5th ed. Pearson, 2015.
  3. Burden RL, Faires JD. Numerical Analysis. 9th ed. Cengage Learning, 2011. (Partial pivoting and numerical stability.)

代数 · 全部计算器

相关计算器