我在MATLAB中處理point cloud數據時遇到'數據過載'問題。這是我目前正在做的:如何在分析過程中存儲我的大型MATLAB數據文件?
- 我開始我的原始數據文件,每個約30Mb的順序。
然後,我對它們進行初始化處理,以提取n個單獨的對象,並刪除離散點,這些點全部組合爲1×n結構,
testset
,保存到testset.mat
(〜100Mb)。到目前爲止好。現在事情變得複雜:
對於
testset
中的每個對象的每個點,我將計算數的功能,其中最終被某些大小的矩陣(每個點)中的一個。矩陣的大小和計算的其他一些屬性是計算的參數。我將這些計算的特徵保存在1×n單元格數組中,每個單元格包含每個點的矩陣數組。然後,我將這個單元格數組保存在
.mat
文件中,其中名稱指定了參數,使用的測試數據的名稱和提取的特徵的類型。例如:testset_feature_type_A_5x5_0.2x0.2_alpha_3_beta_4.mat
現在對於每個這些文件,我然後做一些進一步的處理(使用分類算法)。同樣有更多參數要設置。
所以,現在我在一個棘手的情況,其中初始數據的每一個最後一塊已經通過一些路徑來了,但路徑採取(與沿該路徑設置的參數),本質上並沒有與數據舉行本身。
所以我的問題是:
有沒有更好的方式來做到這一點?任何在MATLAB中處理大型數據集的經驗的人都能提出一種更高效,更整合地存儲數據和參數設置的方法嗎?
理想情況下,我將能夠查找某一段數據,而不必在文件字符串上使用正則表達式,但也有一種激勵措施,即在單獨處理文件時將它們分開以節省系統內存(以及幫助防止腐敗)。
每次計算所花費的時間(約2小時)禁止「即時」計算數據。
+1我與@Jonas合作,很難在每個matfile中存儲一個數據集以提高速度和簡單性。你需要的是將加載和保存抽象爲一組訪問函數。我個人不喜歡Matlab中的類,只是使用一些函數。 – 2011-01-21 18:53:36