我在matlab
中提到了这两个语句,这里想询问语法的含义。
area_xy = (f > 1);
area_xyz = (f == 1);
这是否意味着area_xy
包含某些vecotr f
的元素,使这些元素为> 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}}