我有A =(n,m)数组和B =(n,p,q)数组。对于每个n,p,q,我想强制说当B的一个元素的值> 0时,A的相应值(对于相同的n)是0.然后,我想获得q版本A或A的大小(n,m,q)。感谢
答案 0 :(得分:3)
这是你想要的吗?
result = bsxfun(@times, A, B<=0);
例如,
A =
2 2 2 2
3 3 3 1
3 2 3 3
B(:,:,1) =
-0.3906 -1.2784 0.3662 -1.2602
0.7467 -0.3885 0.3249 2.0529
-0.2782 -0.8268 -0.4256 0.7897
B(:,:,2) =
0.2148 -0.9502 -0.4125 0.1795
1.2660 0.4453 0.0328 -1.6019
0.2740 -0.6132 0.7554 1.4524
给
result(:,:,1) =
2 2 0 2
0 3 0 0
3 2 3 0
result(:,:,2) =
0 2 2 0
0 0 0 1
0 2 0 0