`
lxn014wg
  • 浏览: 35321 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

4.矩阵

阅读更多

4.矩阵
11小时前
      看电影Matrix让人神往,Matrix是什么,其实是一个矩阵,学这些    
  线性代数中,矩阵是以行和列形式组织的矩阵数字块.向量是标量的数组,矩阵是向量的数组.
  向量的维度是它包含的数的个数,而矩阵的维度是看他有多少行和列.
  Matrix:  M1    M2    M3
  M4    M5    M6
  M7    M8    M9
  行数和列数相同的矩阵称为方阵,方阵的对角线元素就是方阵中行号和列号相同的元素.其它元素为非对象线元素.
  Matrix:  M1    M2    M3
  M4    M5    M6
  M7    M8    M9   
  //这是一个方阵,绿色字代表对角线,紫色字代表非对角线元素
  如果所有非对角线元素都为0,那么称这种矩阵为对角矩阵(diagonala).对角线元素为1,其它元素为0称为单位矩阵.任意一个矩阵乘以单位矩阵(Identity matrix),都将得到原矩阵.
  Matrix:  1        0        0
  0        1        0
  0        0        1
  //这应该是一个对角矩阵同时又可以称为单位矩阵
  矩阵的行数和列数可以是任意正整数,当然也包括1,所以一个n维向量能够被当成1xn的行向量,或是nx1的列向量
  矩阵的转置在图像软件里有应该叫旋转吧,对于向量来说,他其实就是把行向量变成列向量,把列向量变成行向量.
  也就是说任意矩阵都是可以转置的,转置两次,就能得到原矩阵.任意对角矩阵或是单位矩阵转置后都与原矩阵相同.
  矩阵M能与标量k相乘,结果是一个和M维度相同的矩阵,操作就是k乘以M矩阵中的每一个元素.
  两个矩阵能够相乘的条件是,矩阵A的列数和B的行数必须匹配,不然毫无意义,如R x N矩阵A乘以N x C矩阵B,得到一个RxC的矩阵
  Cij =nk=1aikbkj
                                 b11    b12    b13    b14    b15
  

                                 b21    b22    b23    b24    b25
          a11    a12     c11     c12     c13    c14    c15
          a21    a22     c21     c22     c23    c24    c25
  

          a31    a32     c31     c32     c33    c34    c35  
  

          a41    a42     c41     c42     c43    c44    c45
      //这样看来相当直观了,如c34 = a31b14 + a32b24
  

  warring:
  ??任意矩阵M乘以方阵S,不管哪边乘,都将得到与原矩阵大小相同的矩阵.当然前提是假定乘法有意义,如果S是单位矩阵,结果将是原矩阵M,即MI(单位矩阵)=IM=M
  ??矩阵乘法满足结合律,即(AB)C=A(BC)
  ??矩阵乘法也满足与标量或向量的结合律,即:(kA)B=k(AB)=A(kB)    (vA)B=v(AB)
  ??矩阵积的转置相当于先转置矩阵然后以相反的顺序乘:(ABt)=BtAt
  行向量左乘矩阵时,结果是行向量,列向量右乘矩阵时,结果是列向量,行向量右乘和列向量左乘都是不合法的
  行向量与列向量的战争:
  1.支持行向量
  ??在文字中使用行向量的形式更好一些,利于书写,程序中也是一样.
  ??我们在作矩阵乘法作坐标系转换时,用行向量比较流畅,如A、B、C都是矩阵,但要转换成向量v,用行向量记作vABC,用列向量记作CBAv,前者左向右更为直观,后者则是先右到左计算.
  ??Directx使用是的行向量.
  2.支持列向量
  ??等式中使用列向量形式更好
  ??线性代数书中多使用列向量
  ??多本计算机图形学圣经都使用列向量
  ??OpenGL使用列向量
  矩阵转换成向量,如向量[1,-3,-4]能够被解释为位移[1,0,0],然后位移[0,-3,0],最后位移[0,0,4],这也可以解释为向量的加法
  又如矩阵的扩展,乘法可作为转换.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics