0

私はそのような1つのマトリックスデータを持っています:

   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

問題:次のようにデータを設定します:test(i、j)== 0の場合はdata(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 に答える