通过布尔数组选择多维矩阵的一部分



我想通过其他具有布尔项的矩阵来选择多维数组的一部分。

因此,如果细胞是";真";我想把号码记在手机里。如果是";false";它应该是0。

示例:

M=兰特(Int64[1:5],3,4,2)3x4x2阵列{Int64,3}:

[:,:,1]=

5 5 1 2

1 2 3 4

4 2 5 4

[:,:,2]=

2 4 1 1

3 5 3 1

1 1 4 5

B=

3x4位阵列{2}:

假-假-假

假真假

假-假-真-假

结果应该是:

Mred=

[:,:,1]=

0 0 0 0

0 2 0 0

0 0 5 0

[:,:,2]=

0 0 0 0

0 5 0 0

0 0 5 0

我试过这样的东西:

Mred=M[B,:]

Mred=M[(B,1),(B,2),2]

还有很多其他的东西,但有些东西缺失了,维度似乎是。

您可以使用元素乘法:

M.*B

相关内容

  • 没有找到相关文章

最新更新