【发布时间】:2013-12-18 23:23:50
【问题描述】:
我想比较两个矩阵并替换小于一个值的元素。例如,我有矩阵 A 和 B,即
A=[1 2 3;4 5 6]
B=[9 2 5;6 2 1]
然后我想将矩阵 A 的元素与矩阵 B 的元素进行比较。如果矩阵 A 中元素的值小于矩阵 B 中的元素的值。我将用一个值替换它们(示例 0)。并将该矩阵分配为 A。结果是
A=[0 2 0;0 5 6]
如何在matlab中实现?谢谢大家。
【问题讨论】:
标签: matlab
我想比较两个矩阵并替换小于一个值的元素。例如,我有矩阵 A 和 B,即
A=[1 2 3;4 5 6]
B=[9 2 5;6 2 1]
然后我想将矩阵 A 的元素与矩阵 B 的元素进行比较。如果矩阵 A 中元素的值小于矩阵 B 中的元素的值。我将用一个值替换它们(示例 0)。并将该矩阵分配为 A。结果是
A=[0 2 0;0 5 6]
如何在matlab中实现?谢谢大家。
【问题讨论】:
标签: matlab
A(A<B) = 0
这称为逻辑索引。 A < B 是一个逻辑矩阵。
【讨论】:
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
【讨论】: