2013-12-18 106 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