自学内容网 自学内容网

(四)悟说几个特殊矩阵及矩阵函数

  上一期介绍了矩阵的出现源于解线性方程组。但是,矩阵出现之后,就犹如打开了潘多拉的盒子,会产生许多魔法。

1 旋转矩阵

我们知道用矩阵左乘某个向量,相当于对该向量做线性变换。那么是否有一种矩阵,能让向量旋转?例如,让二维平面上的向量 a ⃗ = [ 1 1 ] \vec{a}= \begin{bmatrix} 1 \\ 1 \end{bmatrix} a =[11]逆时针旋转 3 0 ∘ 30^ \circ 30
我们从基的角度来思考这个问题,如果我们能找到一个基,这个基与自然基相比,逆时针旋转了 3 0 ∘ 30^\circ 30,那么用这个基去左乘向量 a ⃗ \vec{a} a ,是不是就把 a ⃗ \vec{a} a 逆时针旋转了 3 0 ∘ 30^\circ 30,得到向量 b ⃗ \vec{b} b ,如下图所示。

在这里插入图片描述

图-1

图-1中,向量 c 1 ⃗ \vec{c_1} c1 c 2 ⃗ \vec{c_2} c2 是自然基 e 1 ⃗ \vec{e_1} e1 e 2 ⃗ \vec{e_2} e2 逆时针旋转 3 0 ∘ 30^\circ 30后得到的新基。那么,现在有个问题,怎么求使自然基旋转 θ \theta θ度后的新基 c 1 ⃗ \vec{c_1} c1 c 2 ⃗ \vec{c_2} c2
自然基 e 1 ⃗ \vec{e_1} e1 e 2 ⃗ \vec{e_2} e2 旋转 θ \theta θ度得到新基 c 1 ⃗ \vec{c_1} c1 c 2 ⃗ \vec{c_2} c2 ,也就是 e 1 ⃗ \vec{e_1} e1 c 1 ⃗ \vec{c_1} c1 夹角为 θ \theta θ e 2 ⃗ \vec{e_2} e2 c 2 ⃗ \vec{c_2} c2 夹角为 θ \theta θ。所以,我们可以用向量余弦相似度来求。
先假设 c 1 ⃗ = ( x 1 , x 2 ) T \vec{c_1}= (x_1, x_2)^T c1 =(x1,x2)T c 2 ⃗ = ( y 1 , y 2 ) T \vec{c_2} =(y_1, y_2)^T c2 =(y1,y2)T,由余弦相似度公式可得
{ e 1 ⃗ ⋅ c 1 ⃗ ∥ e 1 ⃗ ∥ ∥ c 1 ⃗ ∥ = x 1 x 1 2 + x 2 2 = c o s θ e 2 ⃗ ⋅ c 2 ⃗ ∥ e 2 ⃗ ∥ ∥ c 2 ⃗ ∥ = y 2 y 1 2 + y 2 2 = c o s θ (1) \begin{cases} \frac{\vec{e_1} \cdot \vec{c_1} }{\parallel \vec{e_1} \parallel \parallel \vec{c_1} \parallel} = \frac{x_1} {\sqrt{x_1^2 + x_2^2} }=cos\theta \\ \\ \frac{\vec{e_2} \cdot \vec{c_2} }{\parallel \vec{e_2} \parallel \parallel \vec{c_2} \parallel} = \frac{y_2} {\sqrt{y_1^2+y_2^2}} = cos\theta \end{cases} \tag{1} e1 ∥∥c1 e1 c1 =x12+x22 x1=cosθe2 ∥∥c2 e2 c2 =y12+y22 y2=cosθ(1)

观察式(1),要使等式成立,是不是只要令 x 1 2 + x 2 2 = 1 , x 1 = cos ⁡ θ , x 2 = sin ⁡ θ \sqrt{x_1^2+x_2^2}=1, x_1=\cos \theta, x_2=\sin \theta x12+x22 =1,x1=cosθ,x2=sinθ,就可以满足第一个等式;再令 y 1 2 + y 2 2 = 1 , 则 y 2 = cos ⁡ θ , y 1 = − sin ⁡ θ \sqrt{y_1^2+y_2^2}=1, 则y_2=\cos \theta, y_1=-\sin \theta y12+y22 =1,y2=cosθ,y1=sinθ,就可以满足第二个等式。此时 c 1 ⃗ = [ x 1 x 2 ] \vec{c_1}=\begin{bmatrix} x_1 \\ x_2 \end{bmatrix} c1 =[x1x2] c 2 ⃗ = [ y 1 y 2 ] \vec{c_2}=\begin{bmatrix} y_1 \\ y_2 \end{bmatrix} c2 =[y1y2]正好正交(两向量垂直)。

于是,我们得到
( c 1 ⃗ c 2 ⃗ ) = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] (2) \begin{pmatrix} \vec{c_1} & \vec{c_2} \end{pmatrix}=\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \tag{2} (c1 c2 )=[cosθsinθsinθcosθ](2)

除了零向量,其它向量只要用式(2)这个矩阵左乘,就可以将向量逆时针旋转 θ \theta θ度,是不是很神奇。所以,我们把式(2)这个神奇的矩阵叫作旋转矩阵。
如果是按顺时针旋转,则应左乘下面这个矩阵
( c 1 ⃗ c 2 ⃗ ) = [ cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ] (3) \begin{pmatrix} \vec{c_1} & \vec{c_2} \end{pmatrix}=\begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} \tag{3} (c1 c2 )=[cosθsinθsinθcosθ](3)

不知道你们有没用过矢量作图软件,软件有个功能是绕着线段某个端点旋转,这条线段的两个端点都不在原点。这种情况要怎么计算旋转后的坐标。如下图所示

在这里插入图片描述

图-2

即,令线段AB绕着A点逆时针旋转 θ \theta θ度至C点,求C点的坐标。
我没有开发过这类软件,如果说的不对或者还有更好的方法,欢迎朋友们在评论区留言。我是这样想的,首先,用终点坐标B减去起点坐标A,得到有向线段 A B ⃗ \vec{AB} AB 的向量表示 ( 1 , 1 ) T (1, 1)^T (1,1)T;然后,用式(2)中的旋转矩阵左乘向量,如式(4)所示

[ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] [ 1 1 ] = [ cos ⁡ θ − sin ⁡ θ cos ⁡ θ + sin ⁡ θ ] (4) \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} 1 \\ 1 \end{bmatrix}= \begin{bmatrix} \cos\theta - \sin\theta \\ \cos\theta + \sin\theta \end{bmatrix} \tag{4} [cosθsinθsinθcosθ][11]=[cosθsinθcosθ+sinθ](4)

最后,将式(4)右侧的向量加上A点坐标,即
[ cos ⁡ θ − sin ⁡ θ + 1 cos ⁡ θ + sin ⁡ θ + 1 ] (5) \begin{bmatrix} \cos\theta - \sin\theta + 1 \\ \cos\theta + \sin\theta + 1 \end{bmatrix} \tag{5} [cosθsinθ+1cosθ+sinθ+1](5)

式(5)中的向量就是C点坐标。

2 伸缩矩阵

假设有一条有向线段 A B ⃗ \vec{AB} AB 沿着B点方向延长了 A B ⃗ \vec{AB} AB 一倍的长度至点C,如下图所示,求C点坐标。
在这里插入图片描述

图-3

与上述方法一样,我们先将终点B的坐标减去起点A的坐标,得到有向线段 A B ⃗ \vec{AB} AB 的向量表示。然后,用这个矩阵 [ 2 0 0 1 ] \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix} [2001]左乘向量,即
[ 2 0 0 1 ] [ 1 0 ] = [ 2 0 ] (5) \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 1 \\0 \end{bmatrix}= \begin{bmatrix} 2 \\ 0 \end{bmatrix} \tag{5} [2001][10]=[20](5)

最后,将式(5)右侧的向量加上A点坐标,得到C点坐标 ( 3 , 1 ) T (3, 1)^T (3,1)T。左乘的这个矩阵给它一个名称,叫作伸缩矩阵。
这里我们也可以不用伸缩矩阵。因为是改变向量的长度,方向不变,所以还有一种更简单的方法就是直接用2乘以向量 [ 1 , 0 ] T [1, 0]^T [1,0]T,即

2 ⋅ [ 1 0 ] = [ 2 0 ] 2 \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix}= \begin{bmatrix} 2 \\ 0 \end{bmatrix} 2[10]=[20]

3 镜像矩阵

假设,如下图所示,有一个平行四边形ABCD要沿着直线 y = x y=x y=x翻转,翻转后的平行四边形为$A^\prime D^\prime C^\prime B^\prime $。
在这里插入图片描述

图-4

假设上图中点A、B、C、D的坐标分别为 ( a 1 , a 2 ) , ( b 1 , b 2 ) , ( c 1 , c 2 ) , ( d 1 , d 2 ) (a_1, a_2), (b_1, b_2), (c_1, c_2), (d_1, d_2) (a1,a2),(b1,b2),(c1,c2),(d1,d2),现在要求点 A ′ A^\prime A B ′ B^\prime B C ′ C^\prime C D ′ D^\prime D的坐标。
因为两个平行四边形的四个点关于 y = x y=x y=x对称,所以,各点的 x , y x,y x,y坐标对调一下就是镜像点的坐标。因此,可用矩阵
[ 0 1 1 0 ] \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} [0110]左乘点A、B、C、D的坐标,得到点 A ′ A^\prime A B ′ B^\prime B C ′ C^\prime C D ′ D^\prime D坐标。

[ 0 1 1 0 ] [ a 1 b 1 c 1 d 1 a 2 b 2 c 2 d 2 ] = [ a 2 b 2 c 2 d 2 a 1 b 1 c 1 d 1 ] (6) \begin{bmatrix} 0 & 1 \\ 1 & 0 \\ \end{bmatrix} \begin{bmatrix} a_1 & b_1 & c_1 & d_1 \\ a_2 & b_2 & c_2 & d_2 \end{bmatrix}= \begin{bmatrix} a_2 & b_2 & c_2 & d_2 \\ a_1 & b_1 & c_1 & d_1 \end{bmatrix} \tag{6} [0110][a1a2b1b2c1c2d1d2]=[a2a1b2b1c2c1d2d1](6)

上式中,矩阵 [ 0 1 1 0 ] \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} [0110]能使点A、B、C、D做关于直线 y = x y=x y=x的镜像变换,所以可称它为镜像矩阵。

4 矩阵函数

最后说说关于矩阵函数这个概念。我们通常用 A x = b \bold{Ax}=\bold{b} Ax=b表示线性方程组,如果把等号右侧的 b \bold{b} b替换为 y \bold{y} y,即 y = A x \bold{y}=\bold{Ax} y=Ax,它就是矩阵函数。式中的 x \bold{x} x y \bold{y} y代表一组自变量和一组因变量,自变量与因变量之间的关系蕴含在 A \bold{A} A里边。下面,我们一起看看矩阵 A \bold{A} A、自变量 x \bold{x} x、因变量 y \bold{y} y之间具体是什么关系。

A = [ a 11 a 12 a 21 a 22 ] , x = [ x 1 x 2 ] , y = [ y 1 y 2 ] \bold{A}=\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix},\bold{x}=\begin{bmatrix} x_1 \\ x_2 \end{bmatrix}, \bold{y}=\begin{bmatrix} y_1 \\ y_2 \end{bmatrix} A=[a11a21a12a22],x=[x1x2],y=[y1y2]

[ y 1 y 2 ] = [ a 11 a 12 a 21 a 22 ] [ x 1 x 2 ] (7) \begin{bmatrix} y_1 \\ y_2 \end{bmatrix}= \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} \tag{7} [y1y2]=[a11a21a12a22][x1x2](7)
即,
{ y 1 = a 11 x 1 + a 12 x 2 y 2 = a 21 x 1 + a 22 x 2 (8) \begin{equation} \left\{ \begin{array}{c} y_1=a_{11}x_1 + a_{12}x_2 \\ y_2=a_{21}x_1 + a_{22}x_2 \end{array} \right. \end{equation} \tag{8} {y1=a11x1+a12x2y2=a21x1+a22x2(8)

从式(8)可以看出,因变量 y 1 y_1 y1与自变量 x 1 , x 2 x_1, x_2 x1,x2都有关系,也就是 y 1 y_1 y1与所有的自变量都有关系。同样的, y 2 y_2 y2与所有的自变量都有关系。但是 y 1 y_1 y1只与矩阵 A \bold{A} A的第一行有关系, y 2 y_2 y2只与矩阵 A \bold{A} A的第二行有关系。

假设某椭圆 E \mathfrak{E} E的参数方程为 { x = 2 cos ⁡ α y = sin ⁡ α , 0 ⩽ α ⩽ 2 π \begin{cases} x=2\cos \alpha \\ y=\sin \alpha \end{cases}, \quad 0\leqslant \alpha \leqslant 2\pi {x=2cosαy=sinα,0α2π.
令式(7)中的 x 1 = 2 cos ⁡ α , x 2 = sin ⁡ α x_1=2\cos\alpha, \quad x_2=\sin \alpha x1=2cosα,x2=sinα,再令式(7)中的 [ a 11 a 12 a 21 a 22 ] \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} [a11a21a12a22]等于式(2)中的旋转矩阵,即

[ a 11 a 12 a 21 a 22 ] = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix}= \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} [a11a21a12a22]=[cosθsinθsinθcosθ]

则有
[ y 1 y 2 ] = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] [ 2 cos ⁡ α sin ⁡ α ] , 0 ⩽ α ⩽ 2 π (9) \begin{bmatrix} y_1 \\ y_2 \end{bmatrix}= \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} 2\cos \alpha \\ \sin \alpha \end{bmatrix}, \qquad 0 \leqslant \alpha \leqslant 2\pi \tag{9} [y1y2]=[cosθsinθsinθcosθ][2cosαsinα],0α2π(9)
那么,式(9)所示的矩阵函数表示的是椭圆 E \mathfrak{E} E逆时针旋转 θ \theta θ度后的椭圆。


原文地址:https://blog.csdn.net/rowevine/article/details/142439431

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!