0

我有一个这样的矩阵数据

   1      2    3  

1: 1.0    2.0  5.0 
2: 2.0    2.0  5.0              
3: 4.0    0    5.0

还有另一个像这样的矩阵测试

   1      2    3  

1: 3.0    0     0 
2: 0      5.0   0              
3: 0      0    3.0

问题:设置数据使得: data(i,j) = 0 当 test(i,j) == 0

我的代码:

for i=1:N
        for j=1:M
                if test(i,j) == 0
                        data(i,j) = 0;
                end 
        end 
end 

问题:有没有一种无循环的方式来做到这一点/

4

1 回答 1

4

是的。试试这个

 data(find(test==0)) = 0;

或者正如@Peter 在下面的评论中所说,这种更简单的形式就足够了

 data(test==0) = 0;
于 2012-12-06T18:15:21.633 回答