2013-12-18 102 views
1

我想比較兩個矩陣,並將小於一個值的元素替換。例如,我有矩陣A和B,即比較兩個矩陣並替換更小的元素

A=[1 2 3;4 5 6] 
B=[9 2 5;6 2 1] 

然後我想和基質B的元素如果比較基質A的元素矩陣中矩陣B A比vaule越小元素的元素的值我會用一個值來代替它們(例子0)。並將該矩陣分配爲A.結果是

A=[0 2 0;0 5 6] 

如何在matlab中實現它?謝謝大家。

回答

5

A(A<B) = 0

這就是所謂的邏輯索引。 A < B是一個邏輯矩陣。

3
A=[1 2 3;4 5 6] 
B=[9 2 5;6 2 1] 
issmall = A<B; % find elements of A that is smaller than B, issmall is a logical array. 
A(issmall)=0; % index using the logical array. And make corresponding values 0