对象传染媒介在Matlab的,不用知道维度

时间:2013-01-17 17:15:43

标签: matlab

我有这段代码:

allObjects=[]
for i=1:100
   allObjects(end+1) = MyObject();   % push the object to the end of my vector
end

但这会打印出来:

  

无法从MyObject转换为double。

如果我将allObjects声明为单元格数组

,则相同
 allObjects = {}

如何在Matlab中有一个对象矢量,考虑一下我不知道需要存储多少个对象?

2 个答案:

答案 0 :(得分:6)

allObjects = MyObject.empty将为您提供类MyObject的空数组对象。 empty是为此目的而设计的所有非抽象类的公共静态方法。输入doc empty了解详情。

答案 1 :(得分:2)

解决方案是

allObjects=[MyObject]

这将告诉matlab allObjects是MyObject的向量

唯一的问题是真实对象将从索引2开始(因为你用end+1推送一个元素)