这些陈述在matlab中意味着什么

时间:2013-02-25 15:15:05

标签: matlab

我在matlab中提到了这两个语句,这里想询问语法的含义。

area_xy = (f > 1);

area_xyz = (f == 1);

这是否意味着area_xy包含某些vecotr f的元素,使这些元素为> 1

感谢。

1 个答案:

答案 0 :(得分:3)

在MATLAB中,比较运算符(例如>==<=)总是给出一个布尔结果:1表示true,0表示假。此外,如果其中一个操作数是向量,或者两个操作数都是相同大小的向量,则进行比较 element-wise ,结果是布尔结果的向量。例如:

x = (1 < 2)     % x contains 1 since this is true
x = (1 == 2)    % x contains 0 since this is false

a = [ 1 3 5 3 2 ]
x = (a < 3)         % x contains [ 1 0 0 0 1 ], since 1 and 2 are less than 3 but the others are not

a = [ 1 3 5 2 3 ]
b = [ 1 4 2 2 4 ]
x = (a == b)        % x contains [ 1 0 0 1 0 ], since elements 1 and 4 are the same in each

因此,area_xy 包含满足不等式的f元素;相反,它包含一个掩码,其中包含1,其中不等式为真,而0则不包含。f。您可以通过评估来获得满足此要求的f(area_xy) 的实际值:

{{1}}