比较两个矩阵并替换较小的元素

时间:2013-12-18 15:17:43

标签: matlab

我想比较两个矩阵并用一个值替换较小的元素。例如,我有矩阵A和B,

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

然后我想将matric A的元素与matric B的元素进行比较。如果矩阵A中元素的值小于矩阵B中元素的值,我将用一个vaule替换它们(例0)。并将该矩阵指定为A.结果为

A=[0 2 0;0 5 6]

如何在matlab中实现它?谢谢大家。

2 个答案:

答案 0 :(得分:5)

A(A<B) = 0

这称为逻辑索引。 A < B是一个逻辑矩阵。

答案 1 :(得分: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