zoukankan      html  css  js  c++  java
  • 3d数学 7 矩阵

    7.1 矩阵-数学定义

    在线性代数中, 矩阵就是以形式组织的矩形数字块。矩阵是向量的数组。

    7.1.1 矩阵的维度和记法

    矩阵的维度被定义为它包含了多少行和多少列。一个(r imes c)矩阵有r行, c列。下面是一个(4 imes 3)矩阵的例子:
    (egin{bmatrix} 4 & 0 & 12 \ -5 & 4 & 3 \ 12 & -4/3 & -1 \ 1/2 & 18 & 0 \ end{bmatrix})

    黑色大写字母表示矩阵,如:MAR。需要引用矩阵的分量时,采用下标法,常用对应的斜体小写字母。如下(3 imes 3)矩阵所示:
    (egin{bmatrix} m_{11} & m_{12} & m_{13} \ m_{21} & m_{22} & m_{23} \ m_{31} & m_{32} & m_{33} \ end{bmatrix})

    7.1.2 方阵

    行数和列数相同的矩阵称为方阵
    方阵的对角线元素就是方阵中行号和列号相同的元素。

    对角矩阵

    所有非对角线元素都是0,如:
    (egin{bmatrix} 3 & 0 & 0 \ 0 & -5 & 0 \ 0 & 0 & 2 \ end{bmatrix})

    单位矩阵

    (n)维单位矩阵记作(I_n),是(n imes n)矩阵,对角线元素都为1,其他元素为0。如,(3 imes 3)单位矩阵:
    (I_3 = egin{bmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & 1 \ end{bmatrix})

    7.1.3 向量做为矩阵使用

    矩阵的行数和列数可以是任意正整数,当然也包括1。一个(n)维向量能被当作(1 imes n)矩阵或(n imes 1)矩阵。(1 imes n)矩阵称为行向量(n imes 1)矩阵称为列向量。如:
    (egin{bmatrix}1 & 2 & 3end{bmatrix} egin{bmatrix} 1\ 2\ 3end{bmatrix})

    7.1.4 转置

    一个(r imes c)矩阵(M)(M)的转置记作(M^T),是一个(c imes r)矩阵((M_{ij}^T = M_{ji})),即沿着矩阵的对角线翻折。
    (egin{bmatrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \ 10 & 11 & 12 \ end{bmatrix}^T = egin{bmatrix} 1 & 4 & 7 & 10\ 2 & 5 & 8 & 11\ 3 & 6 & 9 & 12 \ end{bmatrix})

    行列向量之间的转换

    (egin{bmatrix}x & y & zend{bmatrix}^T = egin{bmatrix} x\ y\ zend{bmatrix}) (egin{bmatrix}x & y & zend{bmatrix} = egin{bmatrix} x\ y\ zend{bmatrix}^T)

    基本原理

    • 对任意矩阵(M), ((M^T)^T = M)
    • 对于任意对角矩阵(D), 都有(D^T = D),包括单位矩阵(I)也是如此。

    7.1.5 标量和矩阵的乘法

    矩阵(M)和标量(k)相乘,结果是一个和(M)维数相同的矩阵。记法如下:

    (kM = k egin{bmatrix} m_{11} & m_{12} & m_{13} \ m_{21} & m_{22} & m_{23} \ m_{31} & m_{32} & m_{33} \ end{bmatrix} = egin{bmatrix} km_{11} & km_{12} & km_{13} \ km_{21} & km_{22} & km_{23} \ km_{31} & km_{32} & km_{33} \ end{bmatrix})

    7.1.6 矩阵乘法

    (C = AB)
    (c_{ij} = displaystylesum_{k=1}^na_{ik}b_{kj})

    如:
    (AB = egin{bmatrix} a_{11} & a_{12} \ a_{21} & a_{22} \ end{bmatrix} egin{bmatrix} b_{11} & b_{12} \ b_{21} & b_{22} \ end{bmatrix} = egin{bmatrix} a_{11}b_{11} + a_{12}b_{21} & a_{11}b_{12} + a_{12}b_{22} \ a_{21}b_{11} + a_{22}b_{21} & a_{21}b_{12} + a_{22}b_{22} \ end{bmatrix})

    乘法规则

    • (MI = IM = M)
    • 不满足交换律:(AB e BA)
    • 结合律:((AB)C = A(BC))
    • 与标量的结合律:((kA)B = k(AB) = A(kB))
    • 转置: ((AB)^T = B^TA^T)

    7.2 矩阵 - 几何解释

    一般来说,方阵能描述任意线性变换

    (egin{bmatrix}1 \ -3 \ 4 \ end{bmatrix} = egin{bmatrix}1 \ 0 \ 0 \ end{bmatrix} + egin{bmatrix}0 \ -3 \ 0 \ end{bmatrix} + egin{bmatrix}0 \ 0 \ 4 \ end{bmatrix})

    一般来说:任意向量(v)都能写为“扩展”形式:
    (v=egin{bmatrix}x \ y \ z \ end{bmatrix} = egin{bmatrix}x \ 0 \ 0 \ end{bmatrix} + egin{bmatrix}0 \ y \ 0 \ end{bmatrix} + egin{bmatrix}0 \ 0 \ z \ end{bmatrix})

    (v=egin{bmatrix}x \ y \ z \ end{bmatrix} = xegin{bmatrix}1 \ 0 \ 0 \ end{bmatrix} + yegin{bmatrix}0 \ 1 \ 0 \ end{bmatrix} + zegin{bmatrix}0 \ 0 \ 1 \ end{bmatrix})
    注意,右边的单位向量就是(x,y,z)轴,用向量重写上面的等式,分别用(p, g, r)定义为指向(+x, +y, +z)方向的单位向量
    (v = xp + yp + zr)

    将向量表示为基向量的线性组和

    用三个向量(p, q, r)来构建一个(3 imes 3)的矩阵(M),可以得到如下公式

    (M=egin{bmatrix}p \ q \ r \ end{bmatrix} = egin{bmatrix}p_x & p_y & p_z \ q_x & q_y & q_z \ r_x & r_y & r_z \ end{bmatrix})

    用一个向量乘以该矩阵,得到:
    (egin{bmatrix}x & y & zend{bmatrix}egin{bmatrix}p_x & p_y & p_z \ q_x & q_y & q_z \ r_x & r_y & r_z \ end{bmatrix} = egin{bmatrix}xp_x + yq_x + zr_x & xp_y + yq_y + zr_y & xp_z + yq_z + zr_zend{bmatrix} = xp + yq + zr)

    如果把矩阵的行解释为坐标系的基向量,那么乘以该向量就相当于执行了一次坐标转换。若有(aM = b),我们就可以说,(M)(a)转换到(b)

  • 相关阅读:
    mysql中的几种join 及 full join问题
    MySQL基础练习题
    SQL之IFNULL()
    SQL之查找表中字段的值相同的记录
    Mysql之将一张表内容导入另一张表中
    selenium无界面操作浏览器与Chrome Options的启动项设置
    SQL UNION 和 UNION ALL 操作符
    Python断言方法assert
    Python标准库--contextlib模块
    Python标准库--itertools模块
  • 原文地址:https://www.cnblogs.com/yaoyu126/p/9534272.html
Copyright © 2011-2022 走看看