365beat中文网

使用矩阵表示线性方程

发布时间: 2026-02-08 19:59:42 作者: admin 阅读量: 4842 评论数: 575

许多计算问题都涉及到为一组未知变量找到值,使得它们同时满足多个线性关系。比如根据供需方程来确定产品的合适价格,或者在预算限制下确定资源的最佳分配。这些情况经常会形成线性方程组。

一个包含两个方程和两个未知变量 x1x_1x1​ 和 x2x_2x2​ 的系统:

2x1+3x2=72x_1 + 3x_2 = 72x1​+3x2​=7

1x1−1x2=11x_1 - 1x_2 = 11x1​−1x2​=1

我们的目标是找到使这两个方程都成立的 x1x_1x1​ 和 x2x_2x2​ 的值。虽然我们可以使用基础代数中的代入法或消元法来解这个系统,但线性代数提供了一种更系统、可扩展的方法,尤其是在处理大量方程和变量时。第一步是使用矩阵和向量 (vector)来表示这个系统。

我们可以把这个系统分成三个不同的部分:

变量的系数(即与 x1x_1x1​ 和 x2x_2x2​ 相乘的数字)。

变量本身(x1x_1x1​, x2x_2x2​)。

方程右侧的常数(7 和 1)。

我们将这些部分组织成矩阵和向量的形式。

系数矩阵 (A)

我们将变量的系数收集到一个矩阵中,我们称之为 AAA。矩阵中的每一行对应一个方程,每一列对应一个变量。

对于我们的例子系统:

2x1+3x2=72x_1 + 3x_2 = 72x1​+3x2​=7

1x1−1x2=11x_1 - 1x_2 = 11x1​−1x2​=1

系数是 2、3、1 和 -1。我们将其排列如下:

A=[231−1]A = \begin{bmatrix} 2 & 3 \\ 1 & -1 \end{bmatrix}A=[21​3−1​]

第一行 [23][2 \quad 3][23] 包含第一个方程的系数。第二行 [1−1][1 \quad -1][1−1] 包含第二个方程的系数。第一列 [21]\begin{bmatrix} 2 \\ 1 \end{bmatrix}[21​] 包含 x1x_1x1​ 的系数,第二列 [3−1]\begin{bmatrix} 3 \\ -1 \end{bmatrix}[3−1​] 包含 x2x_2x2​ 的系数。

变量向量 (vector) (x)

未知变量被排列成一个列向量,通常表示为 xxx:

x=[x1x2]x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}x=[x1​x2​​]

常数向量 (vector) (b)

方程右侧的常数也被排列成一个列向量,通常表示为 bbb:

b=[71]b = \begin{bmatrix} 7 \\ 1 \end{bmatrix}b=[71​]

组装矩阵方程:Ax = b

现在,这些部分是如何组合在一起的呢?回顾上一章中矩阵乘法的定义。我们将系数矩阵 AAA 乘以变量向量 (vector) xxx:

Ax=[231−1][x1x2]Ax = \begin{bmatrix} 2 & 3 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}Ax=[21​3−1​][x1​x2​​]

进行矩阵-向量乘法(AAA 的每一行与列向量 xxx 的点积):

Ax=[(2×x1)+(3×x2)(1×x1)+(−1×x2)]=[2x1+3x2x1−x2]Ax = \begin{bmatrix} (2 \times x_1) + (3 \times x_2) \\ (1 \times x_1) + (-1 \times x_2) \end{bmatrix} = \begin{bmatrix} 2x_1 + 3x_2 \\ x_1 - x_2 \end{bmatrix}Ax=[(2×x1​)+(3×x2​)(1×x1​)+(−1×x2​)​]=[2x1​+3x2​x1​−x2​​]

仔细观察得到的向量。它的第一个元素 2x1+3x22x_1 + 3x_22x1​+3x2​,正是我们第一个原始方程的左侧。它的第二个元素 x1−x2x_1 - x_2x1​−x2​,是第二个原始方程的左侧。

原始系统规定这些表达式必须分别等于常数 7 和 1。我们将这些常数记录在向量 bbb 中。因此,我们可以将整个方程组写成一个单一的矩阵方程:

Ax=bAx = bAx=b

代入我们的矩阵和向量:

[231−1][x1x2]=[71]\begin{bmatrix} 2 & 3 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 7 \\ 1 \end{bmatrix}[21​3−1​][x1​x2​​]=[71​]

这个紧凑形式 Ax=bAx = bAx=b 完美地表示了原始的线性方程组。

一般形式

这种表示方式不限于两个方程。任何包含 nnn 个未知数的 mmm 个线性方程组:

a11x1+a12x2+⋯+a1nxn=b1a_{11}x_1 + a_{12}x_2 + \dots + a_{1n}x_n = b_1a11​x1​+a12​x2​+⋯+a1n​xn​=b1​

a21x1+a22x2+⋯+a2nxn=b2a_{21}x_1 + a_{22}x_2 + \dots + a_{2n}x_n = b_2a21​x1​+a22​x2​+⋯+a2n​xn​=b2​

⋮\vdots⋮

am1x1+am2x2+⋯+amnxn=bma_{m1}x_1 + a_{m2}x_2 + \dots + a_{mn}x_n = b_mam1​x1​+am2​x2​+⋯+amn​xn​=bm​

都可以写成矩阵形式 Ax=bAx = bAx=b,具体如下:

AAA 是 m×nm \times nm×n 的系数矩阵:

A=[a11a12…a1na21a22…a2n⋮⋮⋱⋮am1am2…amn]A = \begin{bmatrix}

a_{11} & a_{12} & \dots & a_{1n} \\

a_{21} & a_{22} & \dots & a_{2n} \\

\vdots & \vdots & \ddots & \vdots \\

a_{m1} & a_{m2} & \dots & a_{mn}

\end{bmatrix}A=​a11​a21​⋮am1​​a12​a22​⋮am2​​……⋱…​a1n​a2n​⋮amn​​​

xxx 是 n×1n \times 1n×1 的变量列向量 (vector):

x=[x1x2⋮xn]x = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix}x=​x1​x2​⋮xn​​​

bbb 是 m×1m \times 1m×1 的常数列向量:

b=[b1b2⋮bm]b = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{bmatrix}b=​b1​b2​⋮bm​​​

这种 Ax=bAx = bAx=b 格式是线性代数中的标准形式。它将已知的系数 (AAA)、未知变量 (xxx) 和目标结果 (bbb) 分开。这种结构有益处,因为它使我们能够运用矩阵代数中强大的运算和思路,例如矩阵求逆(我们稍后会讨论),以高效地分析和解决这些系统。以这种形式表示数据和关系在许多学科中都很常见,包括机器学习 (machine learning),你可能会在线性回归等算法中遇到它。

相关文章