Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,我在 Matlab 中有两个矩阵 A 和 B
A=[0,0,1,2,3,0,4,2,0] B=[2,3,1,2,2,3,4,4,1]
我想要做的是将B中的元素设置为零,它们与A中的零元素具有相同的位置。所以在我的例子中:
我希望 B 是这样的:
B=[0,0,1,2,2,0,4,4,0]
任何想法?
您可以像这样使用逻辑索引来做到这一点:B(A==0) = 0
B(A==0) = 0
编辑:
您也可以这样做:根据您在下面的评论B.*(A~=0),这将更容易推广到更高的维度。bsxfun
B.*(A~=0)
bsxfun
丹建议做某事的唯一问题是,如果 A 和 B 的大小不同。但是,您仍然可以通过一些额外的工作来做到这一点。
indices = find(A==0); indices = indices(indices <= length(B)); B(indices) = 0;