所謂稀疏矩陣是指大多數元素為0的矩陣。如果用常規方式存儲這類矩陣,會浪費大量空間,而且由於大量的加減0元素等無意義操作,效率會很低。MATLAB提供了壹種稀疏存儲方法,它是稀疏的。
稀疏函數通常直接用於創建稀疏矩陣,例如
s?=?稀疏(1:n,1:n,1);將創建壹個n×n單位數組,並且
b?=?sparse(10000,10000,pi)將創建壹個10000x10000的矩陣,該矩陣只有右下角的PI值,其他所有元素都為零。
矩陣的稀疏存儲和常規存儲可以通過稀疏函數和全函數相互轉換。例如,前面創建N階單位矩陣的示例也可以通過以下方式實現:
s?=?稀疏(eye(n,n));但是,後壹種方法需要創建壹個臨時單元數組用於常規存儲,這可能會造成大量空間消耗,甚至導致內存不足。對於前面創建的稀疏矩陣B,不要嘗試使用。
滿(B)將其轉換為正常存儲模式,因為這需要800M的內存。
關於稀疏矩陣應用的例子,使用了我不久前回答的壹個問題。有興趣的可以參考壹下:
/question/572466904.html?oldq=1
有關稀疏矩陣的壹般概念,請參考。
http://en.wikipedia.org/wiki/Sparse_matrix
有關MATLAB中稀疏矩陣的更多信息,請參考文檔中的相關章節(用戶手冊中有專門的稀疏矩陣)。
希望對樓主有幫助。如果妳有任何問題,請提問。