8.6.2 矩阵的运算

本文探讨了矩阵的运算,包括矩阵加法和乘法。矩阵加法允许行数和列数相同的矩阵相加,而矩阵乘法则需要满足特定条件,即第一个矩阵的列数必须等于第二个矩阵的行数。矩阵乘法在图形变换中具有广泛应用,多个矩阵相乘的顺序至关重要,因为不同的顺序可能导致不同的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  把一组数字记录成矩阵形式是没有意义的,学习矩阵的关键在于掌握矩阵之间的运算。

1.矩阵加法运算

矩阵之间也可以相加。把两个矩阵对应位置的单个元素相加,得到的新矩阵就是矩阵加法的结果。由其运算法则可知,只有行数和列数完全相同的矩阵才能进行加法运算。

矩阵之间相加没有顺序,假设AB都是矩阵,则A+B=B+A。通常认为矩阵没有减法,若要与一个矩阵相减,在概念上是引入一个该矩阵的负矩阵,然后相加。A-BA+(-B)的简写。图演示了两个三行三列矩阵的加法。

矩阵加法在图像位移运算时经常用到。

2.矩阵乘法运算

矩阵之间也可以进行乘法运算,但其运算过程相对复杂得多。与算术乘法不同,矩阵乘法并不是多个矩阵之和,它有自己的逻辑。其算法的具体描述为:假设mn列的矩阵Arv列的矩阵B相乘得到矩阵C,则首先矩阵A和矩阵B必须满足n=r,也就是说,第一个矩阵的列数必须和第二个矩阵的行数相同。在运算时,第一个矩阵A的第i行的所有元素同第二个矩阵Bj列的元素对应相乘,并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值。

这个过程用数学公式描述为:

C(ij)=A(i1i2i3……in)×B(j1j2j3……jv)

进而推出:

C(ij)= i1×j1+i2 ×j2+i3×j3……+in×jv

从矩阵的乘法运算过程可以看出,矩阵A和矩阵B相乘的产生的矩阵C,必然是mv列的。例如,一个5×3的矩阵同一个3×7的矩阵相乘,结果必然是产生一个5×7的矩阵。而一个5×3的矩阵同一个5×7的矩阵,则无法相乘。图演示了两组矩阵的乘法运算。

在图形变换时,经常用到多次变换,这会造成多个矩阵相乘。如果多个矩阵相乘,则等价于前两个矩阵相乘的结果再乘以第三个矩阵,以此向后类推。例如,假设ABCD都是矩阵,则A×B×C×D=((A×B)×C)×D。矩阵乘法同数字乘法不同,其运算的先后顺序十分敏感,矩阵A乘矩阵B的结果可能完全不同于矩阵B乘矩阵A的结果,有时甚至根本无法相乘。

矩阵相乘要求矩阵之间列与行前后对应相等。为了方便操作,在图形学的实际应用中变换矩阵都是行数和列数相等的方阵。对于行和列不相等的矩阵,甚至要人为补足。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值