2012-01-10 70 views
2

可能重複:
Efficient low-rank appoximation in MATLAB做奇異值分解在Matlab

我試圖尺寸爲7468在Matlab X 1193的矩陣做SVD。令人驚訝的是,這需要很長時間 - 我認爲這是一個相對較小的Matlab/SVD矩陣。 matlab中是否有更好的SVD實現來處理這種大小的矩陣?我並不需要全部來自U和V的奇異向量,但是它們中的相對少數(例如50左右)。

+0

我有矩陣5383x6236,我使用Math.Extreme代碼thorowing OutOfMemoryException異常,我可以在MATLAB做到這一點? – 2014-06-18 06:13:54

回答

6

是的,它是在MATLAB可能,使用svds(用s末):

k=50; 
[U,S,V]=svds(A,k); 
+0

我有矩陣5383x6236,我正在使用Math.Extreme代碼扼殺outofMemoryException我可以在matlab中做到這一點? – 2014-06-18 06:14:11

+0

什麼是「Math.Extreme」?無論如何,如果它拋出OutofMemoryException,我想你應該購買更多的RAM或使用更小的矩陣。 – Oli 2014-06-19 02:41:09

+0

Math.Extreme是.net libruary – 2014-06-19 04:08:54