我想通过其他具有布尔项的矩阵来选择多维数组的一部分。
因此,如果细胞是";真";我想把号码记在手机里。如果是";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