数组乘以矩阵中的各个行

杜松子酒

我有一个6,6,51数组和一个51,6矩阵。我想将数组中矩阵1的第1行乘以矩阵中的第1行,然后将其存储为结果。我想对数组中包含的每个矩阵中的每一行再次执行此操作。因此,我将数组中第一矩阵的第二行乘以矩阵的第一行。一旦遍历了数组中第一个矩阵的所有6行,我想对数组中剩余的50个矩阵进行完全相同的操作。

为了帮助说明我要问的问题,我将使用6,6,3数组和3,6矩阵给出一个简化的示例。我将组成一些数字,以便于查看:

array1 <- array(1:108, c(6,6,3))

 [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    7   13   19   25   31
[2,]    2    8   14   20   26   32
[3,]    3    9   15   21   27   33
[4,]    4   10   16   22   28   34
[5,]    5   11   17   23   29   35
[6,]    6   12   18   24   30   36

, , 2

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   37   43   49   55   61   67
[2,]   38   44   50   56   62   68
[3,]   39   45   51   57   63   69
[4,]   40   46   52   58   64   70
[5,]   41   47   53   59   65   71
[6,]   42   48   54   60   66   72

, , 3

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   73   79   85   91   97  103
[2,]   74   80   86   92   98  104
[3,]   75   81   87   93   99  105
[4,]   76   82   88   94  100  106
[5,]   77   83   89   95  101  107
[6,]   78   84   90   96  102  108

matrix1 <- matrix(1:18, nrow = 3, ncol = 6)

   [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    4    7   10   13   16
[2,]    2    5    8   11   14   17
[3,]    3    6    9   12   15   18

本质上,我想这样做:

数组1中的矩阵1的行1 x矩阵1的行1

1*1 + 7*4 + 13*7 + 19*10 +25*13 + 31*16 = result

然后在array1中执行matrix1的row2 x matrix1的row1

依此类推,直到array1中matrix1的第6行

然后使用matrix1的row2在array1的矩阵2上重复

这是可理解的吗?

如果可以的话,有人可以帮忙吗?

或者,是否有一种方法可以将matrix1拆分为矢量?这样我就可以得到51个独立的向量来对每个数组进行乘法运算?

问候

平底锅

好的,因为我仍然不确定您是指6 x 3矩阵还是6 x 6矩阵,因此这是两种情况的解决方案(类似于我的评论):

Rows <- min(dim(array1)[1], dim(matrix1)[1])
Cols <- min(dim(array1)[2], dim(matrix1)[2])

apply(array1, 3, function(x) rowSums(matrix1 * x[1:Rows,1:Cols]))

然后,其他array1不适合的行和列matrix1被忽略。

简短说明如何获得解决方案:取阵列的第一个平面并进行实验以获得所需的解决方案。

array1[ , , 1] * matrix1 #or array1[1:Rows, 1:Cols, 1] * matrix1

rowSums如其名称所示,给出每一行的总和。因此,阵列中第一个平面的结果与矩阵相乘并汇总为一个向量。

rowSums(array1[1:Rows, 1:Cols, 1] * matrix1)
# 1131 1284 1449

结果似乎是正确的,现在我们可以apply对数组的每个矩阵进行求解,如答案的顶部所示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

矩阵乘以矩阵的Numpy数组

来自分类Dev

从矩阵中的单个点获取各个方向的数组

来自分类Dev

子矩阵数组乘以标量数组

来自分类Dev

在Numpy中乘以块矩阵

来自分类Dev

乘以数组使矩阵产生意外结果

来自分类Dev

Matlab:将矩阵的行乘以矢量元素

来自分类Dev

矩阵行乘以张量切片

来自分类Dev

结构中各个矩阵的平均值

来自分类Dev

将矩阵的每一行乘以r中的向量的好方法

来自分类Dev

如何在pypark 2.2.0中将矩阵行乘以向量元素

来自分类Dev

OpenGL在管道中乘以哪些矩阵?

来自分类Dev

我应该如何用numpy将3d数组中的1d数组乘以2d矩阵

来自分类Dev

在bash中乘以数组元素

来自分类Dev

在python中乘以多维数组

来自分类Dev

在python中乘以多维数组

来自分类Dev

将第 i 行中的矩阵元素乘以第一行中的第 i 个元素

来自分类Dev

如何将矩阵A的每一列乘以矩阵B的每一行,并在Matlab中对所得矩阵求和?

来自分类Dev

R将矩阵的行乘以向量的行的最快方法

来自分类Dev

如何将数组的行乘以向量的相应行中存储的值?

来自分类Dev

如何乘以二维数组?矩阵乘法

来自分类Dev

矩阵乘以矩阵矩阵的乘法

来自分类Dev

跳过JavaScript中数组的各个部分

来自分类Dev

在Eigen c ++中,如何将NxM矩阵的每一行乘以Nx1标量的向量?

来自分类Dev

矩阵的第i行乘以向量的第i个元素

来自分类Dev

从数组中包含的行索引中选择矩阵的列

来自分类Dev

根据单元格数组值从矩阵中删除行

来自分类Dev

爪哇。从矩阵(数组)中删除一行

来自分类Dev

使用了“查找时间”值并将其乘以SQL中各个表的数量

来自分类Dev

根据元素的位置乘以数组中的元素

Related 相关文章

热门标签

归档