我有两个 3-D 数组,A和B,每个 2 x 3 x 3。下面显示的示例(这将有助于阐明我想如何乘法)。
A1 A2 A3 B1 B2 B3
A4 A5 A6 B4 B5 B6
A7 A8 A9 B7 B8 B9
A10 A11 A12 B10 B11 B12
A13 A14 A15 B13 B14 B15
A16 A17 A18 B16 B17 B18
我想要做的是创建一个矩阵,其中 3 个A矩阵被平均,一个位置的值由相应的B值加权......我无法很好地解释,但例如,第一个元素是:
[(A1*B1)+(A7*B7)+(A13*B13)] / sum(B1,B7,B13).
另一个要素是:
[(A5*B5)+(A11*B11)+(A17*B17)] / sum(B5,B11,B17).
依此类推...结果是一个 2 x 3 矩阵。我一直在玩嵌套 for 循环的不同组合,下面显示了一个示例,但我还没有弄清楚如何正确地做到这一点......感谢帮助。
for (j in 1:2){
for (k in 1:3){
ans[j*k]=sum(A[j,k,1:3]*B[j,k,1:3])/sum(B[j,k,1:3])
}
}