例如,对象‘Student’具有属性‘test’,而‘test’也是具有属性‘Score’的对象。
classdef student < handle
properties
name
test
end
methods
function obj = student(name)
obj.name = name;
obj.test = test();
end
end
end
classdef test < handle
properties
content
score
end
end
student_arr=[student('A') student('B')]
student_arr(1).test.score=100
student_arr(2).test.score=80
我想找考试分数是100分的学生。我使用函数findobj
findobj([student_arr.test],'score',100)
ans =
test with properties:
content: []
score: 100
它返回测试数组,而不是学生数组。
但是如果我试着在Student_arr中找到它
findobj(student_arr,'score',100)
ans =
0×0 student array with properties:
name
test
它返回一个0*0学生数组,因为‘Score’不是学生属性。
问题是,如果一个对象的属性是另一个对象,如何根据后者的属性找到前者?
1条答案
按热度按时间irtuqstp1#
它有点没有文档记录,但您可以使用
findobj
和附加的function
来指定搜索: