Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何通过指定属性值的范围来查找对象?_Matlab_Sorting_Oop_Object_Properties - Fatal编程技术网

Matlab 如何通过指定属性值的范围来查找对象?

Matlab 如何通过指定属性值的范围来查找对象?,matlab,sorting,oop,object,properties,Matlab,Sorting,Oop,Object,Properties,在Matlab中,我定义了一个类并创建了一组对象,如何通过指定某个属性的范围来选择所有对象的子集 例如,如果我有一个属性为name(char)和height(double)的person类,我如何找到高度在x和y之间的所有person 在这种情况下,它使用findobj查找属性与确切值匹配的char对象,如 NW = findobj(PB,'Name','Nancy Wong'); 但是,对于数值和范围,我如何才能做到这一点呢?您可以根据所需的条件手动创建逻辑向量,并使用来选择对象: h =

在Matlab中,我定义了一个类并创建了一组对象,如何通过指定某个属性的范围来选择所有对象的子集

例如,如果我有一个属性为
name
(char)和
height
(double)的
person
类,我如何找到高度在x和y之间的所有
person

在这种情况下,它使用
findobj
查找属性与确切值匹配的
char
对象,如

NW = findobj(PB,'Name','Nancy Wong');

但是,对于数值和范围,我如何才能做到这一点呢?

您可以根据所需的条件手动创建逻辑向量,并使用来选择对象:

h = [PB.height]; % collect all height values in a vector
ind = (x<=h) & (h<=y); % logical index of values in the desired range
NW = PB(ind); % apply that index to select objects
h=[PB.height];%收集向量中的所有高度值
ind=(x