前言:
此时朋友们对“矩阵相乘算法原理”大约比较珍视,小伙伴们都想要学习一些“矩阵相乘算法原理”的相关内容。那么小编在网络上收集了一些关于“矩阵相乘算法原理””的相关资讯,希望咱们能喜欢,小伙伴们快快来学习一下吧!mmult 函数又被昵称为“美眉函数”,它主要是用来计算两个数组的矩阵乘积。
我们之前介绍过的神级函数 sumproduct,也能对矩阵进行运算,今天就来分别讲讲这两个函数的不同用法。
1. mmult 函数:
语法:
MMULT(array1, array2)
释义:
返回两个数组的矩阵乘积结果与 array1 的行数相同,与 array2 的列数相同矩阵中只能包含数值,任意单元格包含为本或为空将返回错误值若要对矩阵求和,必须在输入公式后按 Ctrl+Shift+Enter 计算数组如果没有按上述三键,则只对第一行第一列进行运算
用法示例:
单列求和单行求和矩阵乘积有条件求和将多个单元格的数字合并到一个单元格
1. 单列求和:
公式:
=MMULT(COLUMN(A1:F1)^0,A2:A7)
公式释义:
mmult 函数调用的是 array1 的行数和 array2 的列数,因此我们要对列求和,就要将该列数据放入第二个参数COLUMN(A1:F1)^0:A1 到 F1 列值的 0 次方,结果为{1,1,1,1,1,1},A1:F1 也可以写成 A:F,只要列数为 6,与 array2 的行数相等即可公式的计算过程为:1*1+1*2+1*3+1*4+1*5+1*6=21
2. 单行求和:
公式:
=MMULT(B1:G1,ROW(A2:A7)^0)
公式释义:
mmult 函数调用的是 array1 的行数,因此我们要对行求和,就要将该行数据放入第一个参数ROW(A2:A7)^0:A2 到 A7 行值的 0 次方,结果为{1,1,1,1,1,1},A2:A7 也可以写成 2:7 或 1:6,只要行数为 6,与 array1 的列数相等即可公式的计算过程为:10*1+10*1+10*1+10*1+10*1+10*1=60
3. 矩阵乘积:
公式:
选中黄色区域,输入以下公式,按 Ctrl+Shift+Enter 使之成为数组公式:
=MMULT(A4:C5,D1:E3)
公式释义:
以 D4 为例,公式的计算过程为:1*10+2*20+3*30=140
4. 有条件求和:
计算下表中所有正数的总和
公式:
=SUM(MMULT((A1:F2>0)*A1:F2,ROW(1:6)^0))
公式释义:
A1:F2:array1 的区域A1:F2>0:该区域中的正数*:表示 and,即两个条件并列成立ROW(1:6)^0:array2 的值,结果为 6 个 1sum 的作用是将第一行的正数之和与第二行的正数之和加总,否则只显示第一行的结果
5. 将多个单元格的数字合并到一个单元格:
公式:
=MMULT(A1:E1,10^(5-ROW(1:5)))
公式释义:
公式的计算过程为:1*10^4+2*10^3+3*10^2+5*10^1+6*10^0=12356
2. sumproduct 函数:
关于 sumproduct 函数的其他用法,可以参考
Excel函数(四) – sumproduct函数计数、排名、求和等等。今天我们要介绍它的乘积求和用法。
语法:
=SUMPRODUCT(array1,array2,……)
释义:
返回数组乘积的和各个数组必须大小相同,否则会返回错误值
用法示例:
将以下数组相乘并求和
公式:
=SUMPRODUCT(A1:C2,E1:G2)
公式释义:
公式的计算过程为:1*10+2*20+3*30+4*2+5*3+6*4=187