2011-03-10 3 views
3

동일한 크기의 두 행렬 (x1x2)이 있습니다. x1에서 0과 같은 요소를 사용하여 x2에서 sames 요소를 0으로 지정하고 싶습니다.지정된 인덱스를 0으로 설정하십시오.

내가있어 비 작업 솔루션은 이제 다음과

[i j] = find(x1 == 0); 
for n=1:length(i) 
    x2(i(n),j(n)) = 0; 
end 

감사 :

[i j] = find(x1 == 0); 
x2(i,j) = 0; 

나는 또한 작업 솔루션을 가지고있어!

+0

질문이 있습니까? – ilalex

답변

2

시도 x2(x1 == 0) = 0. 예 :

 
>> x1 = rand(5, 5) 

x1 = 

    0.4229 0.6999 0.5309 0.9686 0.7788 
    0.0942 0.6385 0.6544 0.5313 0.4235 
    0.5985 0.0336 0.4076 0.3251 0.0908 
    0.4709 0.0688 0.8200 0.1056 0.2665 
    0.6959 0.3196 0.7184 0.6110 0.1537 

>> x2 = randi(2, 5, 5) - 1 

x2 = 

    0  1  1  0  1 
    0  1  0  0  1 
    1  1  1  1  0 
    0  1  1  1  1 
    1  0  0  0  0 

>> x1(x2 == 0) = 0 

x1 = 

     0 0.6999 0.5309   0 0.7788 
     0 0.6385   0   0 0.4235 
    0.5985 0.0336 0.4076 0.3251   0 
     0 0.0688 0.8200 0.1056 0.2665 
    0.6959   0   0   0   0 
+0

달콤한! 고맙습니다! – Johan

관련 문제