在另一个矩阵matlab中删除具有相应零的元素

Tak*_*Tak 2 matlab matrix

例如,我在Matlab中有两个矩阵A和B.

A=[0,0,1,2,3,0,4,2,0]
B=[2,3,1,2,2,3,4,4,1]
Run Code Online (Sandbox Code Playgroud)

我想要做的是将B中的元素设置为零,它们与A中的零元素具有相同的位置.所以在我的例子中:

A=[0,0,1,2,3,0,4,2,0]
B=[2,3,1,2,2,3,4,4,1]
Run Code Online (Sandbox Code Playgroud)

我希望B是这样的:

B=[0,0,1,2,2,0,4,4,0]
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Dan*_*Dan 5

您可以使用逻辑索引来执行此操作:B(A==0) = 0

编辑:

您也可以这样做:根据下面的评论B.*(A~=0),可以更容易地推广到更高的尺寸bsxfun.