7.20 使用笛卡尔积计算矩阵相乘
通过叉积过滤,计算矩阵相乘。
Matrix |
---|
row |
col |
value |
本例的数学公式如下:
使用 xjoin() 函数计算叉积,同时可以根据条件过滤。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query(“select * from MatrixA”) |
3 | =A1.query@x(“select * from MatrixB”) |
4 | =xjoin(A2:A; A3:B, A.col==A3.row) |
5 | =A4.groups(A.row:row,B.col:col;sum(A.value * B.value):value) |
A1 连接数据库
A2 查询矩阵表 A
A3 查询矩阵表 B
A4 使用 xjoin 函数计算两表叉积,同时进行条件过滤
A5 将结果分组汇总,计算每个行列点的值
运行结果:
row | col | value |
---|---|---|
1 | 1 | 14 |
1 | 2 | 32 |
2 | 1 | 32 |
2 | 2 | 77 |