4.矩阵

4.矩阵
11小时前
   看电影Matrix让人神往,Matrix是什么,其实是一个矩阵,学这些
  线性代数中,矩阵是以行和列形式组织的矩阵数字块.向量是标量的数组,矩阵是向量的数组.
  向量的维度是它包含的数的个数,而矩阵的维度是看他有多少行和列.
  Matrix: M1 M2 M3
  M4 M5 M6
  M7 M8 M9
  行数和列数相同的矩阵称为方阵,方阵的对角线元素就是方阵中行号和列号相同的元素.其它元素为非对象线元素.
  Matrix: [b]M1[/b] M2 M3
  M4 [b]M5[/b] M6
  M7 M8 [b]M9[/b]
  //[b]这是一个方阵[/b],[b]绿色字代表对角线,[/b][b]紫色字代表非对角线元素[/b]
  如果所有非对角线元素都为0,那么称这种矩阵为对角矩阵(diagonala).对角线元素为1,其它元素为0称为单位矩阵.任意一个矩阵乘以单位矩阵(Identity matrix),都将得到原矩阵.
  Matrix: [b]1 0 0[/b]
  0 1 0
  0 0 [b]1[/b]
  //这应该是一个对角矩阵同时又可以称为单位矩阵
  矩阵的行数和列数可以是任意正整数,当然也包括1,所以一个n维向量能够被当成1xn的行向量,或是nx1的列向量
  矩阵的转置在图像软件里有应该叫旋转吧,对于向量来说,他其实就是把行向量变成列向量,把列向量变成行向量.
  也就是说任意矩阵都是可以转置的,转置两次,就能得到原矩阵.任意对角矩阵或是单位矩阵转置后都与原矩阵相同.
  矩阵M能与标量k相乘,结果是一个和M维度相同的矩阵,操作就是k乘以M矩阵中的每一个元素.
  两个矩阵能够相乘的条件是,矩阵A的列数和B的行数必须匹配,不然毫无意义,如R x N矩阵A乘以N x C矩阵B,得到一个RxC的矩阵
  Cij =n[b]∑[/b]k=1aikbkj
  [b] b11 b12 b13 b14 b15
  [/b]
  [b] b21 b22 b23 b24 b25[/b]
  [b] a11 a12 c11 c12 c13 c14 c15[/b]
  [b] a21 a22 c21 c22 c23 c24 c25
  [/b]
  [b] a31 a32 c31 c32 c33 c34 c35
  [/b]
  [b] [/b][b]a41 a42 c41 c42 c43 c44 c45[/b]
  [b] //这样看来相当直观了,如c34 = a31b14 + a32b24
  [/b]
  [b]warring:[/b]
  ??任意矩阵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],这也可以解释为向量的加法
  又如矩阵的扩展,乘法可作为转换.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值