为了重申Shai在评论中提到的内容,MATLAB 支持创建对象数组,并假设它们都属于同一类(否则,不会显式覆盖cat / horzcat / vertcat方法)。例如:
obj = MyClass();
arr = [obj,obj]; %# 1x2 array of objects
for ii=1:numel(arr)
arr(ii)
end
Run Code Online (Sandbox Code Playgroud)
甚至可以通过实现converters方法或让您的所有类都从matlab.mixin.Heterogeneous超类继承来创建不同类型的对象数组。