第四章 平面 ( )和空间 ( )中的向量
4.1 向量的类型
4.2 平面和空间中的向量运算
4.3 平面和空间的向量空间
4.4 欠定方程在 和 中的解空间
4.5 平面上的线性变换
4.6 应用实例
4.7 习题
2R 3R
2R 3R
4.1 向量的类型
物理向量,向量这个术语起源于物理,用以表示既有大小又有方向的物理量,如力,位移和速度等。那些只需用一个实数来表示的物理量,如温度、压力和质量等就称为标量。
广义地说,向量要用两个或两个以上的实数组成的数组来表示其特征,比如它的大小和方向。
几何向量,把平面上的物理向量的箭尾 A的坐标值取为 (,),而把箭头所处的点 B的坐标值取为 (,),联接 A点到 B点的箭头就称为 几何向量 。用下式表示:
A称为向量的起点,而 B称为向量的终点。
这样的几何向量,要用,,,四个实数才能表示。把向量的箭尾 A移到原点,这时的向量作用线通过了原点,称为 位置向量 。
v AB?
1a 2a
1b 2b
1a 2a 1b 2b
图 4.1 向量和位置向量
代数向量,把平面中的几何向量 v用它在 x
和 y 两个方向的分量 和 来表示,写成表示式:
这就是平面中的向量代数表示方法。粗看起来,它与几何向量的表示法没有太大的差别,但到了三维以上,几何向量将失去意义,而代数向量可以无限地扩展,从而满足工程和经济模型分析的需要。从几何到代数,也就是从三维向高维抽象的线性代数方法论。
11
22
x
y
v ba
v ba



v
xv yv
例 4.1 设要求画出这两个向量的图形。
解,u和 v都是二维空间的列向量。可以用平面坐标系中的两个点,或从坐标原点引向这两点的箭头来表示。用手工画是很容易的,也可以用 MATLAB程序来画,得到的图形见图 4.2。
11
22
23,,
41
uv
uv
例 4.1的 MATLAB画图程序,可表示为程序 ea401:
u=[2;4]; v=[3;-1];
plot([2,3],[4,?1],’x’);hold on% 用 x号画出两个点
% 若装有 ATLAST中的子程序 drawvec,可画向量如下
drawvec(u);hold on % 画出向量 u
drawvec(v,’g’);hold off,grid on % 画出向量 v
图 4.2 二维空间中的向量
4.2 平面和空间 ( )中的向量运算
4.2.1 向量的加减则图 4.3 向量的相加和相减
11
22
,,uvuv

uv
11
22
uv
uv

u + v,
11
22
uv
uv

uv
23RR和
4.2.2 向量的数乘用代数方法表示,设乘数 λ为标量,便有若则在直角坐标系中,向量的几何长度表示为经过数乘后的向量几何长度也为原几何长度的数乘:
1
2
3
,
a
a
a




a
1
2
3
,
a
a
a





a
222
1 2 3aaaa
222
1 2 2( ) ( ) ( )a a aaa
4.2.3 向量与向量的数量积两向量 u和 v的数量积定义为其中 θ为两个向量之间的夹角,见图 4.5。
图 4.5 向量数量积的三角关系
cosu v u v v u
为了找到对应的代数关系,将 BC两点联接起来,得到图 4.5。运用余弦定理,可以列出:
移项后,得到由此可见 。这个乘积的也称为‘内积’,用 <u,v>表示。用列矩阵表示向量 u和 v,则可以写成
( 4-1)
2 2 2 2 c o su v u v u v
2 2 2
2 2 2 2 2 2
1 2 1 2 1 1 2 2 1 1 2 2
1
c o s
2
1
( ) ( )
2
u u v v u v u v u v u v


u v u v u v
1 1 2 2u v u vuv
11 1 2 2 1 2
2
<,>vu v u v u u v

Tu v u v u v
向量的数量积有如下特性,读者可自行证明:
1)
2)
3)
4)
利用向量的数量积的关系,可以得出以下的几个重要结果:
1)向量的几何长度(今后称范数):
u u 0
u v v u
( ) ( )ccu v u v
()u v w u v u w
vvvvvv T,)( 232221 vvvno r m
2)两向量 u,v之间的夹角:
( 4-2)
3)由于 -1≤cosθ≤1,则,这个式子称为 Cauchy-Schwarz不等式。
4)两向量 u,v垂直 的条件为:,即
5)范数为 1的向量称为单位向量,向量 v的单位向量为
c o s
T
TT


u v u v
uv u u v v
u v u v
c o s 0
,0Tu v u v
()norm
vvu
vv
4.2.4 向量与向量的向量积向量积 的定义,两向量 u,v的叉乘是一个新向量 z,它的方向与 u,v正交,按右手法则确定它的方向,即令右手食指沿 u,弯曲的中指指 v,则拇指指 z的方向。其大小为:
它的几何意义非常明显,是两个向量构成的平行四边形的面积,图 4.6中的 h就是
s i nz u v u v
s i nh v
图 4.6 向量积的三角关系对于三维空间的向量 u和 v,叉乘如下:
向量积有如下的代数特性,读者可自行证明:
11
22
33
,,
uv
uv
uv




uv
2 3 3 2
3 1 1 3
1 2 2 1
u v u v
u v u v
u v u v



uv
1)
2)
3)
4)
称为 向量的混合乘积,它是一个标量。
(4-3)
u v v u
u u 0
( ) ( ) ( )c c cu v u v u v
()u v w u v u w
()w u v w z

2 3 3 2 1 2 3
1 2 3 3 1 1 3 1 2 3
1 2 2 1 1 2 3
1 2 3 3 2 2 3 1 1 3 3 1 2 2 1
()
( ) ( ) ( )
u v u v w w w
w w w u v u v u u u
u v u v v v v
w u v u v w u v u v w u v u v








T
w u v w z
图 4.8 空间向量组成平行六面体由图 4.8不难看出它的几何意义。
两向量 x,y点乘的 MATLAB命令为
f=dot(x,y),两向量 x,y叉乘的 MATLAB命令为 z=cross(x,y)。这两个命令在线性代数中不太用,不作深入介绍
4.3 平面和空间( )的向量空间
4.3.1 平面和空间向量的线性相关性例 4.2 取例 4.1中的 u和 v,设平面上的向量
w?1.5u?2v,则可求得可见,u和 v经过数乘和加法运算的合成向量
w仍然在原来的二维空间之内。向量经过加法和数乘仍在原 空间内的特性称为‘对加法和数乘的封闭性’,u和 v所有线性组合构成的向量 w的集合 W也称为 u和 v张成 (Span)
的线性空间。
2 3 91.5 2
4 1 4

w
23RR和
2R
图 4.9 向量 u,v线性组合成向量 w
可以提出一个反问题,平面上的任何一点 [ ; ]是不是一定能用 u和 v的线性组合来实现?即是否一定能找到一组常数
[,],使得
1
12
2
23
41
wcc
w


1w 2w
1c 2c
要回答这个问题,只要解这个二元方程组就行了。把它写成矩阵形式,有:
其中,系数矩阵 A=[u,v],由于 det ([u,v])
不为零,和 是肯定可以求出的。但并非任何 u和 v都能达到这个要求。
11
22
23
41
cw
cw



A c = w
2c1c
比如我们将 v改为 此时 u和 v向量的各元素成比例关系,
几何上看这两个向量是共线的,不管如何把它们乘以什么实系数并相加,合成的向量只能在一直线上,不可能覆盖整个二维平面。这种情况下,称这两个向量 u和 v是线性相关 的。
1
2

v
21
d e t ( [ ] ) d e t 0
42



u,v
例 4.3 设三维空间 中的三个列向量,
和,试判断它们是否线性相关?
解,如果三个基本向量之间线性无关,那么它们的线性组合可以覆盖(张成)整个三维空间。如果它们线性相关,那么它们的线性组合将只能构成一个平面,甚至一根直线。判断三个向量的线性相关性的方法是利用向量组 [,,]的行列式。
1 3 3
1,1,1,
2 3 0




1 2 3vvv
3R
1v 2v
3v
1v 2v 3v
图 4.10 向量,,线性相关(共面)
如果这三个向量线性相关,则 det(A)就等于零,说明这三个向量是线性相关的,
它们必定处于同一平面上。它们的线性组合仍在这个平面上,不可能张成三维空间。
在空间画出这些向量和这个平面,得到图
4.10 。
-2
0
2
0
1
2
0
2
4
x
y
z
v1
v2
v3
1 3 - 3
[ ] 1 1 1
2 3 0
D1 2 3v,v,v
3v1
v 2v
4.3.2 平面和空间向量张成的空间由向量组张成的空间称为 向量空间 。 所谓
‘张成’,是把这些向量组中的向量进行线性组合,这样得到的集合,就是 向量空间,也称为 线性空间 。下面举例子来说明。
( 1)例 4.1中所示的 u和 v,它们的线性组合为,当?和?取所有可能的实数时,
得到的 w可以是该 x-y平面上的任何位置,
因而 w的集合 W,就是整个 x-y平面,是一个向量空间,可以表为 W=Span(u,v)
w u v
( 2)在例 4.2中,若将 v改为则在?和?取所有可能的实数时,得到的 w是该 xy平面上的一根无限直线,这根直线就是一个向量空间。
这根无限直线是原来向量平面的一部分,所以称为二维向量空间的一个 子空间 。因为 u和 v两个向量是共线的,也就是线性相关的,它们图 4.11 二维向量 ‘张成’的平面就退化为直线,成了一 空间的子空间 维的空间,如图 4.11。
1
2

v
w u v
4.3.3 中的子空间图 4.12 向量 u,v,w张成的子空间,秩为 2(左),秩为 1(右)
作为向量空间的平面,是三维空间的一部分,所以也称为三维空间的一个 子空间 。
图 4.12左边的子图表述了 u,v,w共面时张成的子空间。
当三个基本向量共线时,它们的线性组合都在一条通过原点的空间直线上,如图
4.12右图。该直线上的向量仍然满足对加法和数乘的封闭性,是三维空间的子空间
23RR和
4.4 欠定方程在 中的解空间例 4.4 解下列方程组,说明其解的特性。
解,将此方程的系数增广矩阵化为行阶梯形,得到:
它等价于下列方程组:
1 2 3
1 2 3
1 2 3
8 +8 +2 4 =1 6
- 9 +9 +9 = 0
- 19 +2 3 +2 7 =4
x x x
x x x
x x x
1 0 1 1
0 0 1 2 1
0 0 0 0
U



13
23
1
12
xx
xx


23RR和其中 可任意取值,令,上述方程可写成:
这个解称为 x的通解。可以把看成两部分,
其中?为原方程组的一个特解,?则为此欠定方程的一个基础解。在上面所得的行最简形 U0中,把最后一列全取为零,就得到?,
由此可知,基础解是令原方程中的常数项为零所得的齐次方程的解。
3x 3xc
1
2
11
12
x
cc
x



x η ξ
可以画出此方程的通解 和 基础解集合 的图形。如图 4.13所示,是通过原点的无限长直线,所以它是向量空间。通解 也是一条无限长直线,但因没有包括原点在内,所以它不构成向量空间。
图 4.13 例 4.4的特解和通解
c?x= η ξ
c?bx ξ c?bx ξ
c?x= η ξ
4.5 平面 ( 空间 )上的线性变换
4.5.1 平面上线性变换的几何意义例 4.5 设 x为二维平面上第一象限中的一个单位方块,其四个顶点为( 0,0),( 1,0),
( 1,1),( 0,1)。写成把不同的 A矩阵作用于此组数据,可以得到多种多样的结果。假定 A是 2?2矩阵:
0 1 1 0
0 0 1 1

x
2R
1)设
2)设
3)设
4)设
5)设 t?π/6,
1 0 0 1 1 0,
0 1 0 0 1 1

A 1 y 1则
2 0 0 2,0 2,0 0,
0 0,5 0 0 0,5 0,5

A 2 y 2则
1 2 0 1.0 1.0 0,
2 2 0 0 0,2 0,2


A 3 y 3则
1,0 0,5 0 1 3 2,
0 1,0 0 2 4 2


A 4 y 4则
c o s t sin t 0 0,8 6 6 0 0,3 6 6 0 0,5 0 0 0,
sin t c o s t 0 0,5 0 0 0 1,3 6 6 0 0,8 6 6 0

A 5 y 5则这些矩阵的每一列代表平面上一点的横纵坐标,四列就代表四个点。把第一数据增补到第五列作为第五点,把这些点顺序连以直线,就得到相应的四边形。用六个图分别绘制出数据矩阵,,,,和 的图形,就可以得到图 4.14的图形。
图 4.14 对单元方格进行几种线性变换后生成的图形
1y 2y 3y 4y 5yx
可以看出,矩阵 A1使原图对纵轴生成镜像,矩阵 A2使原图在横轴方向膨胀并在纵轴方向压缩;矩阵 A3使原图在左下至右上伸长而在其垂直方向压缩;矩阵 A4使原图向右方剪切变形,矩阵 A5使原图沿反时针方向旋转 t?pi/6。总之,线性变换把原来空间的图形在各个方向以不同的比例放大或缩小。要注意,在 x平面中的直线,变换到 y平面中后,仍然是一根直线,但是其范数和方向都可能发生变化。
例 4.5所用的 MATLAB程序 ea405的部分语句
x=[0,1,1,0;0,0,1,1];
subplot(2,3,1),fill([x(1,:),0],[x(2,:),0],'r')
axis equal,axis([-1.5,1.5,-1,2]),grid on
A1=[-1,0;0,1],y1 A1*x
subplot(2,3,2),fill([y1(1,:),0],[y1(2,:),0],'g')
...
...
MATLAB还提供了一个平面线性变换的演示函数
eigshow。分别键入 eigshow(A2)eigshow(A3),
它显示不同 x的经线性变换 Ax后生成的 y。 x取单位向量,用鼠标可以拖动它转动,形成的轨迹是单位园。同时画出 Ax的向量,形成的轨迹如图
4.15。
图 4.15 矩阵 A的特征向量和特征值演示(左图 A?A2,右图 A?A3)
4.5.2 二维矩阵特征值的计算方法在特征点处,有,即
( 4-1)
要使这个矩阵方程有非零解,它的系数行列式必须为零,即 。
若 则有
( 4-2)
解这个二次方程求出两个解,即有两个特征值。将算出的特征值代回到 (4-1)求 x,这是一个系数行列式为零的齐次方程,所以就归结为求欠定方程基础解系。
Ax = x
A x x A I x = 0
A I = 0
1 1 1 2
2 1 2 2
,aaaaA
1 1 1 2 1 1 2 2 1 2 2 1
2 1 2 2
0aa a a a aaa

AI = =
以 A2为例,其,
代入( 4-2)得其解为 。然后代入 (4-1),
得和
1 1 1 2 2 1 2 22,0,0,0,5a a a a
221 1 2 2 1 1 2 2 1 2 2 1 2,5 1 0a a a a a a
120,5,2
11
2
1,5 0 0
00
x
x


A I x 1 1
2
0 0
1
x
x



ξ解 为 取任 意
12
2
00 0
0 1.5
x
x?

A I x
1
2
2
1
00
x
x



ξ
任 意解 为 取由此得到特征值和特征向量的矩阵形式:
特征值和特征向量的计算步骤:①展开行列式;②求多项式的根?;③将根代入原矩阵方程,求此方程的归一化解。
0,5 0 0 1,
0 2,0 1 0

λ 2 p2
4.5.3 特征值和特征向量的几何意义一个变换作用于某图形所造成的新图形的面积变化,取决于该变换的行列式 。 可以看出,A1,A2,A4和 A5的行列式绝对值都是 1,所以它们不会使变换后图形的面积发生改变 。 而 A3的行列式为 -2,变换后图形面积的增加倍数恰好与其绝对值相对应 。
特征值则表示该变换在原图形的特征向量的方向上的放大量 。
例 4.6 数据矩阵表示英文大写字母 N图形的各个节点,要求:
( 1)画出其形状;
( 2)取 作为变换矩阵求出的数据,并画出其图形;
( 3)对结果进行讨论。
0 0,5 0 0,5 0 6,0 0 6,0 0 5,5 0 5,5 0 0
0 0 6,4 2 0 8,0 0 8,0 0 1,5 8 8,0 0

x
1 0,2 5
01

A
y = A x
解,( 1)本题画图的要点是要在给定的数据右方,补上第一点的坐标,使画出的图形封闭。
( 2)作矩阵乘法,得
( 3)画出数据矩阵 y代表的图形其方法同画 x,也要补上第一点坐标。
0 0,5 2,1 6 8 7,5 5,9 2
0 0 6 0 8 8 1,6 8

y = A x
程序运行后生成的图形见图 4.16。
图 4.16 例 4.6生成的 N字符图形实现这个运算和绘图的 MATLAB程序 ea406
如下:
x0=[0,0.5,0.5,6,6,5.5,5.5,0;0,0,,
6.4,0,8,8,1.6,8];
x=[x0,x0(:,1)]; % 把首顶点坐标补到末顶点后
A=[1,0.25;0,1]; y=A*x;
subplot(1,2,1),plot(x(1,:),x(2,:))
subplot(1,2,2),plot(y(1,:),y(2,:))
4.5.4 用三维向量表示刚体平面运动 —— 齐次坐标系把二维向量变换为三维向量,即把平面上的向量变换成为空间向量,这在某些情况下是很有用的。比如刚体在平面上的运动要用两个平移和一个转动来描述,转动可以从上面的线性变换 A5得到,但平移
y?x?c 却不是一个线性变换。因为:
1)设,;则它们的和为可见,它对加法不封闭;
aay = x + c bby = x + c
aa bby = y + y = x + x 2 c x + c
2)设,将它乘以常数 k,
可见,它对乘法也不封闭;就是说,这不符合线性变换的规则,x和 y不属于同一个向量空间,无法用矩阵乘法来实现平移变换 y?x?c。
为了把刚体的运动完全用线性变换来描述,人们用增加空间维数的方法,把平面问题放到三维的空间来建立方程,这就可能把 x和 y由扩展了的向量空间来涵盖。
aay = x + c
kk k k k?a a ay = y = x + c x + c = x + c
这样的坐标系称为齐次坐标系。在这个坐标系中,可以把平移矩阵写成:
于是
1
2
1
x
x




x
1
2
10
01
0 0 1
c
c



M
11
22
1
xc
xc




y = M x =
对象若同时有旋转和平移,则可以分别列出旋转矩阵和平移矩阵。不过此时的旋转矩阵也要改为 3?3维,这可以把上述 A5中增加第三行和第三列,置 A(3,3)?1,其余新增元素为零。
这就是既包括平移,又包括转动的平面齐次坐标系内的变换矩阵。
1
2
c os t sin t c
sin t c os t c,
0 0 1



A5
4.6 应用实例
4.6.1 化学方程的配平
1 3 8 2 2 3 2 4 2( ) ( ) ( ) ( )x C H x O x C O x H O
3 8 2 2 2
3 0 1 0
,8,,0,,0,,2
0 2 2 1
C H O CO H O




要使方程配平,,,,必须满足:
将所有项移到左端,并写成矩阵相乘的形式,就有:
1 2 3 4
3 0 1 0
8 0 0 2
0 2 2 1
x x x x




1
2
3
4
3 0 1 0 0
8 0 0 2 0 0
0 2 2 1 0
x
x
x
x






Ax
1x 2x 3x 4x
对矩阵 A进行行阶梯变换,键入程序 ea471:
A?[3,0,?1,0;8,0,0,?2;0,2,?2,?1]
U0?rref(A)
得到注意四个列对应于四个变量的系数,有
1.0000 0 0 0.2500
0 0 1.0000 0 1.2500
0 0 1,000 0 0.75 00
U



14
24
34
0,2 5 0 0 x 0
1,2 5 0 0 x 0
0,7 5 0 0 x 0
x
x
x



此处可取,则,,,均有整数解,,,。因而配平后的化学方程为:
对于比较复杂的反应过程,为了便于得到最小整数的解,在解化学配平的线性方程组时,应该在 MATLAB中先规定取有理分式格式。即先键入 format rat,然后键入
ea471,结果为:
3 8 2 2 2C H 5 O 3 C O 4 H O
4 4x? 1x 2x 3x
1 1x? 2 5x? 3 3x?
把最简行阶梯形矩阵恢复为方程,就很容易看出应令,其余变量的整数取值就一目了然了。
14
24
34
/4 1 0 0 1/ 4
0 0 1 0 5/ 4 5 / 4
0 0 1 3/ 4 3 / 4
xx
U x x
xx






4 4x?
4.6.2 减肥配方的实现营养每 100g食物所含营养 ( g) 减肥所要求的每日营养量脱脂牛奶大豆面粉乳清蛋白质 36 51 13 33
碳水化合物 52 34 74 45
脂肪 0 7 1.1 3
设脱脂牛奶的用量为 个单位( 100g),
大豆面粉的用量为 个单位,乳清的用量为个单位,表中的三个营养成分列向量为:
则它们的组合所具有的营养为
36 51 13
52,34,74,
0 7 1,1




1 2 1a a a
1 2 3 1 2 3
36 51 13
52 34 74
0 7 1,1
x x x x x x




1 2 3a a a
1x
2x
3x
使这个合成的营养与剑桥配方的要求相等,
就可以得到以下的矩阵方程:
用 MATLAB解这个问题非常方便,列出程序 ea472如下:
A?[36,51,13;52,34,74;0,7,1.1]
b?[33;45;3]
x?inv(A)*b
1
2
3
36 51 13 33
52 34 74 45
0 7 1.1 3
x
x
x




A x = b
程序执行的结果为:
即脱脂牛奶的用量为 22.7g,大豆面粉的用量为 39.2g,乳清的用量为 23.3g,就能保证所需的综合营养量。
0,2 7 7 2
0,3 9 1 9
0,2 3 3 2




x
4.6.3 刚体平面运动的计算和绘图设一个三角形的三个顶点坐标为
(?1,1),(1,1),(0,2),今要使它旋转 30度,右移 2,上移 3,试设计变换矩阵 A,并画出变换前后的图形。
解,先列出数据矩阵,为了画图方便,直接把第一点的数据补到最后,构成 2?4数据阵。采用齐次坐标系,因此数据矩阵应该是 3行的,即最后要补一行 1。平移和转动矩阵按上面的方法确定,于是其程序 ea463
如下:
x?[?1,1,0,?1;1,1,2,1;ones(1,4)]
plot(x(1,:),x(2,:)),hold on
axis([?2,4,0,6]),pause
M=[1,0,2;0,1,3;0,0,1]
t=pi/6;
R=[cos(t),?sin(t),0;sin(t),cos(t),0;0,0,1]
y1=R*x,pause
fill(y1(1,:),y1(2,:),'r')
y2=M*R*x,pause
fill(y2(1,:),y2(2,:),‘g’)
得出的图形如图 4.17。
0,8 66 0 0,50 00 0
0,5 00 0 0,86 60 0,
0 0 1.00 00



R
1 0 2
0 1 3
0 0 1



M
1,3 6 6 0 0,3 6 6 0 1,0 0 0 1,3 6 6
0,3 6 6 0 1,3 6 6 0 1,7 3 2 1 0,3 6 6
1,0 0 0 0 1,0 0 0 0 1,0 0 0 0 1,0 0 0



y1
0,6 34 2,3 66 0 1,00 00 0,6 34 0
3,3 66 4,3 66 0 4,73 21 3,3 66 0
1,0 00 1,0 00 0 1,00 00 1,0 00 0



y2
图 4.17 例 4.6.3两次变换图形矩阵的相乘不符合交换律,所以线性变换也不遵守交换律。本例取的是先转动后平移,也即先用 R左乘,再用 M左乘。如果换了次序,先平移再转动,即把 R和 M作用次序交换一下,结果就完全不同了,读者可自行探讨和实验。