matlab複數矩陣矩陣奇異值分解

2021-03-03 21:11:08 字數 2519 閱讀 1289

1樓:我行我素

不論實矩陣或是虛矩陣,奇異值分解的結果都是非負的、實數的奇異值,如:

a=magic(5);b=svd(a)

c=rand(5);d=a+1i*c;e=svd(d)結果是:

b =65.0000

22.5471

21.6874

13.4036

11.9008

e =65.0554

22.5819

21.6764

13.4087

11.8961

2樓:匿名使用者

svd同樣可以用於複數矩陣;另外svd(a),需要a是一個矩陣

求matlab 奇異值分解函式 svd和svds的區別

3樓:匿名使用者

設a為m*n階矩陣,a'表示a的轉置矩陣,a'*a的n個特徵值的非負平方根叫作a的奇異值。記為σi(a)。

這幾天做實驗涉及到奇異值分解svd(singular value de***position),涉及到這樣的一個問題,

做pca時候400幅影象拉成向量按列擺放,結果擺成了比如說10000*400大小的矩陣,

用到svd函式進行奇異值分解找主分量,結果matlab提示超出記憶體,後來想起還有個函式叫svds,看到別人用過,以為只是一個變體,沒什麼區別,就用上了,結果確實在預料之中。但是今天覺得不放心,跑到變數裡面看了下,發現這個大的矩陣被分解成了

三個10000*6,6*6,400*6大小的矩陣的乘積,而不是普通的svd分解得到的10000*10000,10000*400,400*400大小的矩陣乘積,把我嚇了一跳,都得到預期的結果,難不成這裡還出個簍子?趕緊試驗,

發現任給一個m*n大小的矩陣,都是被分解成了m*6,6*6,n*6大小的矩陣的乘積,為什麼都會出現6呢?確實很納悶。help svds看了一下,發現svds(a) 返回的就是svds返回的就是最大的6個特徵值及其對應的特徵行向量和特徵列向量,

還好,我們實驗中是在svds得到列向量中再取前5個最大的列向量,這個與普通的svd得到的結果是一致的,虛驚一場。。。還得到了一些別的,比如

改變這個預設的設定,

比如用[u,d,v]=svds(a,10)將得到最大的10個特徵值及其對應的最大特徵行向量和特徵列向量,

[u,d,v]=svds(a,10,0)將得到最小的10個特徵值及其對應的特徵行向量和特徵列向量,

[u,d,v]=svds(a,10,2)將得到與2最接近的10個特徵值及其對應的特徵行向量和特徵列向量。

總之,相比svd,svds的可定製性更強。

奇異值分解非常有用,對於矩陣a(m*n),存在u(m*m),v(n*n),s(m*n),滿足a = u*s*v』。

u和v中分別是a的奇異向量,而s是a的奇異值。

aa'的正交單位特徵向量組成u,特徵值組成s's,

a'a的正交單位特徵向量組成v,特徵值(與aa'相同)組成ss'。

matlab中svd奇異值分解是什麼作用

4樓:kyoya斯

答案1:: 奇異值分解 (sigular value de***position,svd) 是另一

種正交矩陣分解法;svd是最可靠的分解法,但是它比qr 分解法要花

上近十倍的計算時間。[u,s,v]=svd(a),其中u和v代表二個相互正交

矩陣,而s代表一對角矩陣。 和qr分解法相同者, 原矩陣a不必為正方矩陣。

使用svd分解法的用途是解最小平方誤差法和資料壓縮

答案2:: 奇異值分解是線性代數中一種重要的矩陣分解,在訊號處

啊?答案3:: [u,s,v]=svd(a)奇異值分解,就是要把矩陣a分解成

u*s*v' (v'代表v轉置).其中u s是正交矩陣(複數域對應為酉矩陣)

奇異值分解可以用來求矩陣的逆,資料壓縮等等,不過具體的用法不

是幾句話就能說清楚的。總之,奇異值分解特別重要。

:::::::::::::::::::請參考以下相關問題::::::::::::::::::::

求matlab中的矩陣的奇異值分解(svd)程式

:::::::::::::::::::請參考以下相關問題::::::::::::::::::::

最近在翻譯matlab**為vc**,遇到svd奇異值分解卡住了。

:::::::::::::::::::請參考以下相關問題::::::::::::::::::::

:::::::::::::::::::請參考以下相關問題:::::::::::::::::::::::::::::::::::::::請參考以下相關問題::::::::::::::::::::

求matlab中的矩陣的奇異值分解(svd)程式

5樓:匿名使用者

使用svd函式就行了

[u,s,v]=svd(a)

6樓:匿名使用者

這是一個 build-in 的函式,底層是用 c 語言寫的了。由於是商業軟體,應該找不到相應的源程式。

如何理解矩陣奇異值和特徵值一個矩陣的特徵值和它的奇異值有什麼關係

基本介紹 奇異值分解在某些方面與對稱矩陣或hermite矩陣基於特徵向量的對角化類似。然而這兩種矩陣分解儘管有其相關性,但還是有明顯的不同。對稱陣特徵向量分解的基礎是譜分析,而奇異值分解則是譜分析理論在任意矩陣上的推廣。1 編輯本段理論描述 假設m是一個m n階矩陣,其中的元素全部屬於域 k,也就是...

matlab中如何將多個矩陣儲存到同矩陣中

將a,b,c合併成d,然後再一次性儲存為txt.d a b c 讀入到txt建議用dlmwrite函式 例如 有100個同維數的矩陣,使其從左到右的順序儲存到同一個txt檔案中。example a,b,c,d是25 3的矩陣 儲存在txt檔案中後的形式是 a b c d 程式設計了25 12的矩陣。...

在matlab裡面如何在矩陣中找出值為零的行和列

row,col find r 0 row,col是所有非零元 素的橫座標和縱座標 num size row,1 有多少個非回零元素 for i 1 num r row i col i 1 非零元素置一 答end 可以考慮用find函式 這個問題看著就頭大,就跟我的割集演算法一樣,愁啊。matlab如...