在异构对象数组找到元素
6视图(30天)
显示旧的评论
你好,
我有一个ParentClass子类化
matlab.mixin.Heterogeneous
和两个SubClasse1 SubClasse2 ParentClass子类化。
我建立一个异构SubClasse1和SubClasse2对象的数组。
我怎样才能找到数组中,元素等于一个给定对象SubClasse1或SubClasse2。
child1 = SubClasse1;
child2 = SubClasse2;
child1 = = [child1 child2]
我得到以下错误由于异构数组:
不能调用方法的“情商”,因为一个或多个输入类的ParentClass异构和“情商”不是密封。更多细节请参阅方法调度规则异构数组。
我想看看方法调度规则但“情商”怎么做?
提前感谢你的帮助。
0评论
接受的答案
史蒂文的主
2023年3月31日
这样应该工作。
child1 = SubClasse1;
child2 = SubClasse2;
vectorOfObjects = [child1 child2]
isClass1 = arrayfun (@ (x) isa (x,“SubClasse1”),vectorOfObjects)
allTheSubClasse1Objects = vectorOfObjects (isClass1)
allTheSubClasse2Objects = vectorOfObjects (~ isClass1)