2015-11-03 67 views
1

稀疏我有400行,500列和所述第三尺寸的3D矩陣是4 1和0的該矩陣撰寫但它不是一個眼睛矩陣。
怎樣纔可以轉換爲稀疏3D矩陣?在3D基質

謝謝

+0

MATLAB不支持3-d稀疏陣列。 400x500x4是非常小的(特別是如果你將其存儲爲'logical'),所以我不認爲稀疏存儲會給你無論如何多少好處。關鍵的問題是:你需要在這個陣列上執行什麼操作? – Edric

回答

2

AFAIK MATLAB不支持3D稀疏數組,只有2D。您可以將數據轉換爲4維的2D稀疏400×500矩陣。

for ii=4:-1:1 
    mySp{ii} = sparse(myFull(:,:,ii)); 
end 

有關更多信息,請參閱sparse

+0

我不想使用「for」。所以,我將每個維度轉換爲稀疏矩陣,但是當我想用「貓」來集成這些維度時。我得到錯誤。 – user196345

+0

@ user196345這是因爲'cat'-ING稀疏2D需要Matlab來創建不被支持的SPase 3D。使用循環轉換爲單元格數組。 – Shai

+0

@ user196345這有什麼錯了'for'循環? – rayryeng