2013-11-04 135 views
0

我必須創建50-100個多維矩陣(這些矩陣的矩陣包含大約7個矩陣,維數爲25 * 10)。我想存儲它們,以便我可以遍歷它們並操作它們的條目。既然我已經讀過,將矩陣的名稱與數字和eval()連接起來並不是一個好主意,我想我可以將它們全部存儲在一個單元格數組中。但是後來我讀到,如果矩陣只包含數字和沒有字符串,則不應使用單元陣列,因爲與矩陣相比,它們的處理速度較慢。 現在我希望你能告訴我如何處理一個決定。Matlab:單元陣列或多個多維矩陣(迭代)

回答

1

如果所有矩陣的大小相同,最好使用4D矩陣,大小爲25x10x7x100。你說「約7」:這個數字對於所有的3D矩陣都是一樣的嗎?如果不是,我認爲單元陣列是正確的方法。

當您要存儲的矩陣不是全部相同大小時,需要使用單元陣列,因此無法存儲(至少不容易)到更高維矩陣中。

0

你的問題有點不清楚,但這裏的解決您的quandery嘗試:

電池陣列允許你存儲「混合」數據 - 一個字符串,另一個矩陣,等等。因爲你說的關於不同「單元格」中的不同矩陣(大小,數量),單元陣列是存儲它們的完全合理的方式。但是如果矩陣的大小相同,那麼將它們存儲在單個矩陣中(具有額外的維度)會更好。實際上,當矩陣本身很大時,低效率的開銷很小 - 與訪問所有250個元素的時間相比,「調用」一個矩陣需要的時間很少,等等。