自在学
分类课程智能体订阅
分类课程AI导师价格
课程进度
3 / 12
上一节向量与线性组合下一节高斯消元与阶梯形
自在学

© 2025 - 2026 自在学,保留所有权利。

公网安备湘公网安备43020302000292号 | 湘ICP备2025148919号-1

关于我们隐私政策使用条款

© 2025 自在学,保留所有权利。

公网安备湘公网安备43020302000292号湘ICP备2025148919号-1

数学线性代数 I:向量、矩阵与线性变换矩阵与线性方程组

矩阵与线性方程组

线性方程组最初看起来是一排排方程。矩阵把这些方程里重复出现的结构拆开:哪些数字是系数,哪些量是未知数,哪些数字是右端结果。写成矩阵形式以后,同一个问题就有了三种读法:按行看是约束,按列看是组合,按整体看是一个矩阵方程。

本章先不急着做完整消元。我们要先学会把方程组翻译成

Ax=bAx=bAx=b

并看懂这句话在问什么:有没有一组系数 x1,x2,…,xnx_1,x_2,\dots,x_nx1​,x2​,…,xn​,能把矩阵 AAA 的列向量拼成目标向量 bbb。

线性方程组整理成矩阵方程 Ax=b 的中文教学插图,展示系数矩阵 A、未知向量 x 和右端向量 b。

从方程组到 Ax=bAx=bAx=b,关键是把系数、未知数和右端结果分开。


把方程组写成矩阵方程

先看一个二元方程组:

{x+2y=5,3x−y=4.\begin{cases} x+2y=5,\\ 3x-y=4. \end{cases}{x+2y=5,3x−y=4.​

这里真正重复出现的是未知数 x,yx,yx,y。每个方程只是在告诉我们:这两个未知数分别乘上哪些系数,最后等于哪个数。把系数取出来,放成一个矩阵:

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

把未知数放成一个列向量:

x=[xy]\mathbf{x}= \begin{bmatrix} x\\ y \end{bmatrix}x=[xy​]

把右端结果放成一个列向量:

b=[54]b= \begin{bmatrix} 5\\ 4 \end{bmatrix}b=[54​]

原来的方程组就变成:

[123−1][xy]=[54]\begin{bmatrix} 1&2\\ 3&-1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 5\\ 4 \end{bmatrix}[13​2−1​][xy​]=[54​]

也就是 Ax=bAx=bAx=b。

矩阵方程不是把普通方程写得更复杂。它把“系数表”“未知数表”和“目标结果”分开,让我们能同时讨论许多方程和许多未知数。

更一般地,如果有 mmm 个方程、nnn 个未知数,系数矩阵 AAA 的大小是 m×nm\times nm×n,未知向量 x\mathbf{x}x 的大小是 n×1n\times 1n×1,右端向量 bbb 的大小是 m×1m\times 1m×1:

[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn][x1x2⋮xn]=[b1b2⋮bm]\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_n \end{bmatrix} = \begin{bmatrix} b_1\\ b_2\\ \vdots\\ b_m \end{bmatrix}​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​​​x1​x2​⋮xn​​​=​b1​b2​⋮bm​​​

矩阵乘法在这里的结果正好是一列数。第 iii 个数来自第 iii 行系数和未知向量的点乘:

ai1x1+ai2x2+⋯+ainxn=bia_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n=b_iai1​x1​+ai2​x2​+⋯+ain​xn​=bi​

这就是第 iii 个方程。

例题:从方程组到矩阵

把下面的方程组写成 Ax=bAx=bAx=b:

{2x−y+3z=7,−x+4y+z=2,5x+2z=9.\begin{cases} 2x-y+3z=7,\\ -x+4y+z=2,\\ 5x+2z=9. \end{cases}⎩⎨⎧​2x−y+3z=7,−x+4y+z=2,5x+2z=9.​

先按未知数的顺序固定列。这里使用 x,y,zx,y,zx,y,z 的顺序,所以第一列放 xxx 的系数,第二列放 yyy 的系数,第三列放 zzz 的系数。

再逐行取系数。第三个方程没有 yyy 项,所以 yyy 的系数是 000,不能把这一格空着。

A=[2−13−141502]A= \begin{bmatrix} 2&-1&3\\ -1&4&1\\ 5&0&2 \end{bmatrix}A=​2−15​−140​312​​

把未知数和右端结果分别写成列向量:

x=[xyz],b=[729]\mathbf{x}= \begin{bmatrix} x\\ y\\ z \end{bmatrix}, \quad b= \begin{bmatrix} 7\\ 2\\ 9 \end{bmatrix}x=​xyz​​,b=​729​​

因此原方程组的矩阵形式是:

[2−13−141502][xyz]=[729]\begin{bmatrix} 2&-1&3\\ -1&4&1\\ 5&0&2 \end{bmatrix} \begin{bmatrix} x\\ y\\ z \end{bmatrix} = \begin{bmatrix} 7\\ 2\\ 9 \end{bmatrix}​2−15​−140​312​​​xyz​​=​729​​

行视角与列视角

同一个 Ax=bAx=bAx=b 可以从行和列两个方向读。行视角接近我们熟悉的方程组;列视角更接近线性代数的核心。

行视角:每一行是一条约束

矩阵 AAA 的每一行对应一个方程。二元一次方程在平面上是一条直线,三元一次方程在空间中是一个平面。方程组的解,就是所有这些约束共同满足的位置。

二维坐标平面中两条直线表示两个方程约束,交点标注为共同满足的解。

按行看,解是所有方程共同满足的点。

以前面的方程组为例:

{x+2y=5,3x−y=4.\begin{cases} x+2y=5,\\ 3x-y=4. \end{cases}{x+2y=5,3x−y=4.​

第一行给出一条直线,第二行给出另一条直线。如果两条直线相交,交点就是唯一解;如果平行,可能无解;如果重合,就会有无穷多解。

行视角很适合解释“解在哪里”。但当方程数量和未知数数量变多以后,只靠几何交点很快会变得困难。这时列视角会更有力。

列视角:用列向量拼出目标

把矩阵 AAA 按列拆开:

A=[∣∣∣a1a2⋯an∣∣∣]A= \begin{bmatrix} |&|&&|\\ a_1&a_2&\cdots&a_n\\ |&|&&| \end{bmatrix}A=​∣a1​∣​∣a2​∣​⋯​∣an​∣​​

其中 a1,a2,…,ana_1,a_2,\dots,a_na1​,a2​,…,an​ 是 AAA 的列向量。矩阵乘法可以写成:

Ax=x1a1+x2a2+⋯+xnanAx=x_1a_1+x_2a_2+\cdots+x_na_nAx=x1​a1​+x2​a2​+⋯+xn​an​

所以方程 Ax=bAx=bAx=b 实际在问:

x1a1+x2a2+⋯+xnan=bx_1a_1+x_2a_2+\cdots+x_na_n=bx1​a1​+x2​a2​+⋯+xn​an​=b

也就是说,bbb 能不能由 AAA 的列向量线性组合得到。

列向量视角下,Ax=b 表示用矩阵 A 的第一列和第二列按系数 x1、x2 线性组合得到目标向量 b。

按列看,未知数不是点的坐标,而是“每一列取多少倍”。

方程 Ax=bAx=bAx=b 有解,当且仅当 bbb 可以由 AAA 的列向量线性组合得到。换句话说,bbb 必须落在 AAA 的列向量张成的集合里。

再看开头的例子:

[123−1][xy]=[54]\begin{bmatrix} 1&2\\ 3&-1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 5\\ 4 \end{bmatrix}[13​2−1​][xy​]=[54​]

矩阵的第一列是

[13]\begin{bmatrix} 1\\ 3 \end{bmatrix}[13​]

第二列是

[2−1]\begin{bmatrix} 2\\ -1 \end{bmatrix}[2−1​]

列视角把问题改写成:

x[13]+y[2−1]=[54]x \begin{bmatrix} 1\\ 3 \end{bmatrix} +y \begin{bmatrix} 2\\ -1 \end{bmatrix} = \begin{bmatrix} 5\\ 4 \end{bmatrix}x[13​]+y[2−1​]=[54​]

如果能找到合适的 x,yx,yx,y,目标向量 bbb 就能被这两列拼出来。


增广矩阵

解线性方程组时,未知数的名字有时会妨碍我们看清结构。增广矩阵把系数矩阵 AAA 和右端向量 bbb 放在一起:

[a11a12a13b1a21a22a23b2a31a32a33b3]\left[ \begin{array}{ccc|c} a_{11}&a_{12}&a_{13}&b_1\\ a_{21}&a_{22}&a_{23}&b_2\\ a_{31}&a_{32}&a_{33}&b_3 \end{array} \right]​a11​a21​a31​​a12​a22​a32​​a13​a23​a33​​b1​b2​b3​​​

竖线左边是系数,右边是方程等号右侧的结果。它不表示新的运算,只是一个记录方式。

白板风格的增广矩阵示意图,左侧标注系数矩阵 A,右侧标注右端向量 b,中间有分隔线,并写有只记录数字、方便消元、解集不变。

增广矩阵保留了解方程组所需的全部数字信息。

例如:

{x+2y=5,3x−y=4\begin{cases} x+2y=5,\\ 3x-y=4 \end{cases}{x+2y=5,3x−y=4​

对应的增广矩阵是:

[1253−14]\left[ \begin{array}{cc|c} 1&2&5\\ 3&-1&4 \end{array} \right][13​2−1​54​]

下一章会系统学习高斯消元。现在先记住一件事:对增广矩阵做合适的行变换,本质上是在用等价方程替换原方程,目标是让解集保持不变,同时把结构变得更容易读。

增广矩阵里的竖线不是绝对值,也不是矩阵的一列运算符。它只是提醒我们:左边是系数,右边是结果。行变换时,竖线两侧同一行必须一起变化。


三种可能的解

线性方程组的解只有三种基本情况:无解、唯一解、无穷多解。二维里可以用直线看出来;更高维里,要靠矩阵结构判断。

三联图对比线性方程组的三种解类型:平行线无共同点,相交线一个共同点,重合线整条线都是共同点。

二维直线图能给出直观图像,但矩阵方法会把这种判断推广到更高维。

唯一解:所有未知数都被确定

例如:

{x+y=3,x−y=1.\begin{cases} x+y=3,\\ x-y=1. \end{cases}{x+y=3,x−y=1.​

两条直线相交于一个点,所以只有一个解。代数上看,两个方程给出的约束足够确定 xxx 和 yyy。

无解:约束互相冲突

例如:

{x+y=2,2x+2y=5.\begin{cases} x+y=2,\\ 2x+2y=5. \end{cases}{x+y=2,2x+2y=5.​

第二个方程左边是第一个方程左边的 222 倍。如果第一个方程成立,那么 2x+2y2x+2y2x+2y 必须等于 444,不可能等于 555。这说明两条约束冲突。

用增广矩阵写出来是:

[112225]\left[ \begin{array}{cc|c} 1&1&2\\ 2&2&5 \end{array} \right][12​12​25​]

做等价变形时,会出现类似下面的矛盾行:

[112001]\left[ \begin{array}{cc|c} 1&1&2\\ 0&0&1 \end{array} \right][10​10​21​]

最后一行表示 0x+0y=10x+0y=10x+0y=1,也就是 0=10=10=1。这不可能成立,所以无解。

无穷多解:有自由方向

例如:

{x+y=2,2x+2y=4.\begin{cases} x+y=2,\\ 2x+2y=4. \end{cases}{x+y=2,2x+2y=4.​

第二个方程只是第一个方程的 222 倍,没有提供新的约束。所有满足 x+y=2x+y=2x+y=2 的点都是解。令 y=ty=ty=t,就得到:

x=2−tx=2-tx=2−t

所以解可以写成:

[xy]=[2−tt]\begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 2-t\\ t \end{bmatrix}[xy​]=[2−tt​]

其中 ttt 可以是任意实数。


例题:用列向量判断有解

考虑矩阵方程:

[123−1][xy]=[54]\begin{bmatrix} 1&2\\ 3&-1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 5\\ 4 \end{bmatrix}[13​2−1​][xy​]=[54​]

问:bbb 是否能由 AAA 的列向量线性组合得到?如果能,组合系数是多少?

先把矩阵按列拆开:

a1=[13],a2=[2−1]a_1= \begin{bmatrix} 1\\ 3 \end{bmatrix}, \quad a_2= \begin{bmatrix} 2\\ -1 \end{bmatrix}a1​=[13​],a2​=[2−1​]

写出列组合方程:

x[13]+y[2−1]=[54]x \begin{bmatrix} 1\\ 3 \end{bmatrix} +y \begin{bmatrix} 2\\ -1 \end{bmatrix} = \begin{bmatrix} 5\\ 4 \end{bmatrix}x[13​]+y[2−1​]=[54​]

这等价于两个普通方程:

{x+2y=5,3x−y=4.\begin{cases} x+2y=5,\\ 3x-y=4. \end{cases}{x+2y=5,3x−y=4.​

由第一个方程得 x=5−2yx=5-2yx=5−2y。代入第二个方程:

3(5−2y)−y=43(5-2y)-y=43(5−2y)−y=415−7y=415-7y=415−7y=4y=117y=\frac{11}{7}y=711​

因而

x=137x=\frac{13}{7}x=713​

所以 bbb 可以由 AAA 的两列拼出来:

[54]=137[13]+117[2−1]\begin{bmatrix} 5\\ 4 \end{bmatrix} = \frac{13}{7} \begin{bmatrix} 1\\ 3 \end{bmatrix} + \frac{11}{7} \begin{bmatrix} 2\\ -1 \end{bmatrix}[54​]=713​[13​]+711​[2−1​]

这个结果说明两件事:方程组有解,而且在这个例子中只有一个解。列视角告诉我们“目标能不能被拼出来”,解出的 x,yx,yx,y 告诉我们“每列各取多少倍”。


例题:从增广矩阵读出无解

判断下面的方程组是否有解:

{x+2y=3,2x+4y=7.\begin{cases} x+2y=3,\\ 2x+4y=7. \end{cases}{x+2y=3,2x+4y=7.​

先写出增广矩阵:

[123247]\left[ \begin{array}{cc|c} 1&2&3\\ 2&4&7 \end{array} \right][12​24​37​]

第二行左侧正好是第一行左侧的 222 倍。如果两个方程同时成立,第二行右侧也应该是第一行右侧的 222 倍,也就是 666。

但第二行右侧是 777。这等价于出现矛盾:

0=10=10=1

因此这个方程组无解。按列向量看,目标向量

[37]\begin{bmatrix} 3\\ 7 \end{bmatrix}[37​]

不在两列向量张成的那条直线上。


一个真实模型:资源配比

矩阵方程常出现在配比问题里。假设有两种生产方案,方案甲和方案乙都会消耗三类资源。每执行一次方案甲,会产生资源需求向量:

a1=[211]a_1= \begin{bmatrix} 2\\ 1\\ 1 \end{bmatrix}a1​=​211​​

每执行一次方案乙,会产生资源需求向量:

a2=[131]a_2= \begin{bmatrix} 1\\ 3\\ 1 \end{bmatrix}a2​=​131​​

现在希望总需求是:

b=[895]b= \begin{bmatrix} 8\\ 9\\ 5 \end{bmatrix}b=​895​​

问题是:方案甲做多少次、方案乙做多少次,能刚好达到目标?

资源分配场景中的矩阵方程示意图,展示列代表方案、行代表资源约束、目标向量表示需求 b。

在配比模型里,每一列可以代表一种方案,每一行可以代表一种资源约束。

把方案甲和方案乙作为矩阵的两列:

[211311][uv]=[895]\begin{bmatrix} 2&1\\ 1&3\\ 1&1 \end{bmatrix} \begin{bmatrix} u\\ v \end{bmatrix} = \begin{bmatrix} 8\\ 9\\ 5 \end{bmatrix}​211​131​​[uv​]=​895​​

列视角直接给出含义:

u[211]+v[131]=[895]u \begin{bmatrix} 2\\ 1\\ 1 \end{bmatrix} +v \begin{bmatrix} 1\\ 3\\ 1 \end{bmatrix} = \begin{bmatrix} 8\\ 9\\ 5 \end{bmatrix}u​211​​+v​131​​=​895​​

如果取 u=3,v=2u=3,v=2u=3,v=2,就有:

3[211]+2[131]=[895]3 \begin{bmatrix} 2\\ 1\\ 1 \end{bmatrix} +2 \begin{bmatrix} 1\\ 3\\ 1 \end{bmatrix} = \begin{bmatrix} 8\\ 9\\ 5 \end{bmatrix}3​211​​+2​131​​=​895​​

所以这个目标可以由两种方案组合出来。若目标向量换成别的数,未必还能精确做到。这就是列空间视角在真实模型中的作用:它先回答“目标是否可达”,再回答“怎么组合”。


练习

练习一:写成矩阵形式

把下面的方程组写成 Ax=bAx=bAx=b:

{4x−y=6,2x+3y=1.\begin{cases} 4x-y=6,\\ 2x+3y=1. \end{cases}{4x−y=6,2x+3y=1.​

答案是:

[4−123][xy]=[61]\begin{bmatrix} 4&-1\\ 2&3 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 6\\ 1 \end{bmatrix}[42​−13​][xy​]=[61​]

第一列是 xxx 的系数,第二列是 yyy 的系数,右端向量收集两个方程的结果。

练习二:写出列组合

把下面的矩阵方程改写成列向量线性组合:

[1−20314][x1x2x3]=[57]\begin{bmatrix} 1&-2&0\\ 3&1&4 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} = \begin{bmatrix} 5\\ 7 \end{bmatrix}[13​−21​04​]​x1​x2​x3​​​=[57​]

列组合形式是:

x1[13]+x2[−21]+x3[04]=[57]x_1 \begin{bmatrix} 1\\ 3 \end{bmatrix} +x_2 \begin{bmatrix} -2\\ 1 \end{bmatrix} +x_3 \begin{bmatrix} 0\\ 4 \end{bmatrix} = \begin{bmatrix} 5\\ 7 \end{bmatrix}x1​[13​]+x2​[−21​]+x3​[04​]=[57​]

这句话的含义是:目标向量是否能由这三列向量组合得到。

练习三:判断解的类型

判断下面方程组的解类型:

{2x−y=1,4x−2y=2.\begin{cases} 2x-y=1,\\ 4x-2y=2. \end{cases}{2x−y=1,4x−2y=2.​

第二个方程是第一个方程的 222 倍,它没有提供新的约束。因此所有满足 2x−y=12x-y=12x−y=1 的点都是解,方程组有无穷多解。

令 x=tx=tx=t,则:

y=2t−1y=2t-1y=2t−1

解可以写成:

[xy]=[t2t−1]\begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} t\\ 2t-1 \end{bmatrix}[xy​]=[t2t−1​]

练习四:识别无解

判断下面方程组是否有解:

{x−3y=4,2x−6y=9.\begin{cases} x-3y=4,\\ 2x-6y=9. \end{cases}{x−3y=4,2x−6y=9.​

第二个方程左侧是第一个方程左侧的 222 倍。如果第一个方程成立,第二个方程右侧应该是 888,但题目给的是 999。约束互相冲突,所以无解。

对应的增广矩阵是:

[1−342−69]\left[ \begin{array}{cc|c} 1&-3&4\\ 2&-6&9 \end{array} \right][12​−3−6​49​]

它会产生矛盾行,表示类似 0=10=10=1 的不可能等式。

练习五:配比问题

设

a1=[12],a2=[31],b=[75]a_1= \begin{bmatrix} 1\\ 2 \end{bmatrix}, \quad a_2= \begin{bmatrix} 3\\ 1 \end{bmatrix}, \quad b= \begin{bmatrix} 7\\ 5 \end{bmatrix}a1​=[12​],a2​=[31​],b=[75​]

求 u,vu,vu,v,使得 ua1+va2=bua_1+va_2=bua1​+va2​=b。

列组合给出:

u[12]+v[31]=[75]u \begin{bmatrix} 1\\ 2 \end{bmatrix} +v \begin{bmatrix} 3\\ 1 \end{bmatrix} = \begin{bmatrix} 7\\ 5 \end{bmatrix}u[12​]+v[31​]=[75​]

所以:

{u+3v=7,2u+v=5.\begin{cases} u+3v=7,\\ 2u+v=5. \end{cases}{u+3v=7,2u+v=5.​

由第一个方程得 u=7−3vu=7-3vu=7−3v。代入第二个方程:

2(7−3v)+v=52(7-3v)+v=52(7−3v)+v=514−5v=514-5v=514−5v=5v=95v=\frac{9}{5}v=59​

因此:

u=85u=\frac{8}{5}u=58​

目标向量可以写成:

b=85a1+95a2b=\frac{8}{5}a_1+\frac{9}{5}a_2b=58​a1​+59​a2​

你应能做出的判断

学完本章后,遇到线性方程组时,先做三件事。

第一,把它写成 Ax=bAx=bAx=b,并确认矩阵大小是否匹配。AAA 有多少列,未知向量就有多少个分量;AAA 有多少行,右端向量就有多少个分量。

第二,在行视角和列视角之间切换。按行看,每一行是一条约束;按列看,Ax=bAx=bAx=b 在问 bbb 能不能由 AAA 的列向量线性组合得到。

第三,识别三种解类型。出现矛盾时无解;所有未知数都被确定时唯一解;没有矛盾但留下自由变量时无穷多解。下一章的高斯消元会把这些判断变成稳定可执行的步骤。

  • 把方程组写成矩阵方程
    • 例题:从方程组到矩阵
  • 行视角与列视角
    • 行视角:每一行是一条约束
    • 列视角:用列向量拼出目标
  • 增广矩阵
  • 三种可能的解
    • 唯一解:所有未知数都被确定
    • 无解:约束互相冲突
    • 无穷多解:有自由方向
  • 例题:用列向量判断有解
  • 例题:从增广矩阵读出无解
  • 一个真实模型:资源配比
  • 练习
    • 练习一:写成矩阵形式
    • 练习二:写出列组合
    • 练习三:判断解的类型
    • 练习四:识别无解
    • 练习五:配比问题
  • 你应能做出的判断

目录

  • 把方程组写成矩阵方程
    • 例题:从方程组到矩阵
  • 行视角与列视角
    • 行视角:每一行是一条约束
    • 列视角:用列向量拼出目标
  • 增广矩阵
  • 三种可能的解
    • 唯一解:所有未知数都被确定
    • 无解:约束互相冲突
    • 无穷多解:有自由方向
  • 例题:用列向量判断有解
  • 例题:从增广矩阵读出无解
  • 一个真实模型:资源配比
  • 练习
    • 练习一:写成矩阵形式
    • 练习二:写出列组合
    • 练习三:判断解的类型
    • 练习四:识别无解
    • 练习五:配比问题
  • 你应能做出的判断