我有这段代码:
allObjects=[]
for i=1:100
allObjects(end+1) = MyObject(); % push the object to the end of my vector
end
但这会打印出来:
无法从MyObject转换为double。
如果我将allObjects声明为单元格数组
,则相同 allObjects = {}
如何在Matlab中有一个对象矢量,考虑一下我不知道需要存储多少个对象?
答案 0 :(得分:6)
allObjects = MyObject.empty
将为您提供类MyObject
的空数组对象。 empty
是为此目的而设计的所有非抽象类的公共静态方法。输入doc empty
了解详情。
答案 1 :(得分:2)
解决方案是
allObjects=[MyObject]
这将告诉matlab allObjects是MyObject的向量
唯一的问题是真实对象将从索引2开始(因为你用end+1
推送一个元素)