1
我開始了一個代碼,我必須生成很多給定類的實例。我想將它們保存到一個數組中,就像我在python中一樣。如何在Matlab中生成類的實例並將它們保存在數組中?
這就是我想做的事:
object_list = [];
for i=1:100
my_object = MyClass(i)
object_list(i) = my_object
end
在Python這個作品,因爲我可以追加任何我想我的名單。 我應該如何在Matlab中做到這一點?
/錯誤得到是這樣的: 「從MyClass轉換爲double是不可能的。」 我想Matlab的行爲不同於通用的Python列表,實際上需要包含雙打。/
你絕對可以在MATLAB中追加,但追加並不是一個好主意。更好的方法是預先分配到預期的長度。對於你的情況,你需要一個單元陣列。因此,初始化一個預期大小的單元數組,即'object_list = cell(1,100)',並用'object_list {i}'替換'object_list(i)',即花括號。做這種改變的原因正是錯誤信息所暗示的。 (也請避免使用'i'(和'j')作爲變量名稱,因爲它們默認代表虛數) –