矩阵怎么进行加减(线性代数:矩阵基本运算)

访客4年前黑客资讯987

在本文中,我们将介绍矩阵的大部分基本运算,依次是矩阵的加减法、矩阵的标量乘法、矩阵与矩阵的乘法、求转置矩阵,以及深入了解矩阵的行列式运算。本文将不会涉及逆矩阵、矩阵的秩等概念,将来再探讨它们。

矩阵的加减法

矩阵的加法与减法运算将接收两个矩阵作为输入,并输出一个新的矩阵。矩阵的加法和减法都是在分量级别上进行的,因此要进行加减的矩阵必须有着相同的维数。

为了避免重复编写加减法的代码,我们先创建一个可以接收运算函数的 *** ,这个 *** 将对两个矩阵的分量分别执行传入的某种运算。然后在加法、减法或者其它运算中直接调用它就行了:

classMatrix{//...componentWiseOperation(func,{rows}){constnewRows=rows.map((row,i)=>row.map((element,j)=>func(this.rows[i][j],element)))returnnewMatrix(...newRows)}add(other){returnthis.componentWiseOperation((a,b)=>a+b,other)}subtract(other){returnthis.componentWiseOperation((a,b)=>a-b,other)}}constone=newMatrix([1,2],[3,4])constother=newMatrix([5,6],[7,8])console.log(one.add(other))//Matrix{rows:[[6,8],[10,12]]}console.log(other.subtract(one))//Matrix{rows:[[4,4],[4,4]]}复制代码

矩阵的标量乘法

矩阵的标量乘法与向量的缩放类似,就是将矩阵中的每个米素都乘上标量:

classMatrix{//...scaleBy(number){constnewRows=this.rows.map(row=>row.map(element=>element*number))returnnewMatrix(...newRows)}}constmatrix=newMatrix([2,3],[4,5])console.log(matrix.scaleBy(2))//Matrix{rows:[[4,6],[8,10]]}复制代码

矩阵乘法

当A、B两个矩阵的维数是兼容的时候,就能对这两个矩阵进行矩阵乘法。所谓维数兼容,指的是A的列数与B的行数相同。矩阵的乘积AB是通过对A的每一行与矩阵B的每一列计算点积得到:


classMatrix{//...multiply(other){if(this.rows[0].length!==other.rows.length){thrownewError('Thenumberofcolumnsofthi *** atrixisnotequaltothenumberofrowsofthegivenmatrix.')}constcolumns=other.columns()constnewRows=this.rows.map(row=>columns.map(column=>sum(row.map((element,i)=>element*column[i]))))returnnewMatrix(...newRows)}}constone=newMatrix([3,-4],[0,-3],[6,-2],[-1,1])constother=newMatrix([3,2,-4],[4,-3,5])console.log(one.multiply(other))//Matrix{//rows://[[-7,18,-32],//[-12,9,-15],//[10,18,-34],//[1,-5,9]]}复制代码

我们可以把矩阵乘法AB视为先后应用A和B两个线性变换矩阵。为了更好地理解这种概念,可以看一看我们的linear-algebra-demo。

下图中黄色的部分就是对红色方块应用线性变换C的结果。而线性变换C就是矩阵乘法AB的结果,其中A是做相对于 y 轴进行反射的变换矩阵,B是做剪切变换的矩阵。


相关文章

手机无卡上网黑科技(小米黑科技无卡上网好不好)

手机无卡上网黑科技(小米黑科技无卡上网好不好)

本文目录一览: 1、小米手机为什么可以做到不用SIM卡就能上网? 2、终于有办法了,手机不用卡,不用WiFi 都能长期上网 3、安卓手机没有sim卡能无线上网吗? 小米手机为什么可以做到不用...

情怀!魔兽争霸III时隔5年再度更新+魔兽争霸官方对战平台

时隔5年多,魔兽争霸三再次更新。 有生之年还能看到魔兽争霸更新,满满的感动~ 魔兽争霸三带给了我们太多青春的回忆,浩方、澄海3C、塔防、真三、DOTA。 魔兽在我们一代人的心中深深扎根~ 默...

产品经理必知:产品调研中功能调研的标准“姿势”

产品经理必知:产品调研中功能调研的标准“姿势”

编辑导语:产物调研是产物司理最熟悉不外的事情内容了,产物调研包罗许多内容,个中之一就是成果调研了。本篇文章种,作者为我们阐明白为什么要做产物调研以及产物调研和成果调研的区别,最后通过实战案例为我们总结...

《输赢》是根据什么小说改编的 输赢讲述了什么故事

电视连续剧《输赢》早已茶叶杀青了,主力阵容宣传海报早已曝出,多名实力派男演员加盟代理,该电视连续剧是依据同名的小说改编的,那麼,《输赢》叙述了什么故事?下边我就而言说。 《输赢》是依据哪些小说改编的...

万能最简单偷微信密码

东方双狮表(ORIENT)于1950年创立于日本,并于1951年创立东方星(Orient Star)品牌,自创立之初就以创新和精进制表为理念打造高端产品。 70年来,东...

卡盟怎么赚钱?卡盟一个月能赚多少

卡盟怎么赚钱?卡盟一个月能赚多少

大家好!我是夜猫,这是一只与互联网创业者同行的笨猫。今天让这只猫和你聊聊吧。昨天晚上看了一下财神大咖的评论,有人说:“大胜、夜猫傻傻分不清”、“夜猫干货真是实用,这招引流真的拧不出水了”。哈哈,我看热...