請問如遇到奇異矩陣,廣義特徵值用Matlab如何求出,能否用eig求?如x lambda

2021-04-21 05:48:20 字數 4289 閱讀 4559

1樓:累了僦蹲下

可以,在來eig中新增引數sigma,取值為'smallestabs',即自

可對b矩陣是奇異矩陣的情況進行運算。

函式用法是:[y, eigenvalues, exitflag] = eigs(l, d, ydims + 1,'smallestabs')

其中輸出項就忽略,輸入項d是奇異矩陣,ydims是要輸出的特徵值數量,第四個引數就是要新增的sigma引數。

給你乙個sigma取值用錯的時候的報錯,你就應該能懂了,這裡面提到的『sm』就是指的是smallestabs

注意如果a也是奇異矩陣,eigs就算不出來了

如何計算廣義特徵值和特徵向量,c**或者實現方法,不要用matlab eig來計算!

2樓:匿名使用者

^廣義的特來徵值求解問題可以轉源化為一般特徵值的求解問題。總體思想是將b用cholesky分解轉化為 b = r^h * r, 這樣,令a2 = r^(-h) * a * r^(-1), x2 = rx,求解 a*x=λ*b*x 即等價於求解 a2 * x2 = λ * x2。求解這個一般特徵值問題,可以使用qr法。

給我郵箱,我有求解一般特徵值問題的c**,跟詳細講解整個思路的一篇**。

劉老師您好,請問使用matlab對矩陣a和b計算其廣義特徵值,其中a為全零矩陣,結果應該是什麼,多謝了!

3樓:電燈劍客

廣義特徵值

抄問題ax=λbx和標準襲特徵值問題(b^baia)x=λx差不太多, 當dub非奇異

的zhi時候理論上是等價的

所以在你的問題裡daob^a=0, 特徵值全是0, 任何非零向量都是特徵向量, v可以隨便取乙個非奇異陣

matlab中如何求矩陣的特徵值和特徵向量

4樓:枕風宿雪流年

具體步驟分析如下:

1、第一步我們首先需要知道計算矩陣的特徵值和特徵向量要用eig函式,可以在命令列視窗中輸入help eig,檢視一下eig函式的用法,如下圖所示:

2、第二步在命令列視窗中輸入a=[1 2 3;2 4 5;7 8 9],按回車鍵之後,輸入[x,y]=eig(a),如下圖所示:

3、第三步按回車鍵之後,得到了x,y的值,其中x的每一列值表示矩陣a的乙個特徵向量,這裡有3個特徵向量,y的對角元素值代表a矩陣的特徵值,如下圖所示:

4、第四步如果我們要取y的對角元素值,可以使用diag(y),如下圖所示:

5、第五步按回車鍵之後,可以看到已經取出y的對角線元素值,也就是a矩陣的特徵值,如下圖所示:

6、第六步我們也可以在命令列視窗help diag,可以看到關於diag函式的用法,如下圖所示:

5樓:子衿悠你心

可以運用eig函式求特徵值和特徵向量。

e=eig(a):求矩陣a的全部特徵值,構成向量e。

[v,d]=eig(a):求矩陣a的全部特徵值,構成對角陣d,並求a的特徵向量構成v的列向量。

[v,d]=eig(a,'nobalance'):與第2種格式類似,但第2種格式中先對a作相似變換後求矩陣a的特徵值和特徵向量,而格式3直接求矩陣a的特徵值和特徵向量。

例項:求矩陣a=[1,2;2,1]的特徵值和特徵向量。

拓展說明:

在matlab中,還有個函式eigs,可以求特徵向量和特徵值的子集。

d = eigs(a)     %求稀疏矩陣a的6個絕對值最大特徵值d,d以向量形式存放。

d = eigs(a,k)        %返回k個最大特徵值

6樓:百度使用者

a=[1 1/4;4 1]

a =1.0000 0.2500

4.0000 1.0000

>> [v,d]=eig(a)

v =0.2425 -0.2425

0.9701 0.9701

d =2 0

0 0

按照這道題的計算過程算就可以了,eig是求特徵值和特徵向量命令,v是特徵向量,是列向量,d是特徵值矩陣,主對角線元素就是特徵值,與特徵向量的列對應的

7樓:匿名使用者

[v.d]=eig(a) a為矩陣

如何計算矩陣a關於矩陣b的廣義特徵值(matlab實現)

8樓:匿名使用者

若b可逆比較好計算,如下:

[v,d]=eig(a/b)

d是廣義特徵值構成的對角矩陣,v是相應特徵向量。進一步用qr分解還可以得到正交基,不過你只要特徵值,所以就不用了。

在matlab中求矩陣特徵值和特徵向量的**

9樓:大野瘦子

>>clc;clear;close;

>>a=[3,-1,-2;2,0,-2;2,-1,-1];

>>[x,b]=eig(a) %求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值,

%x的列是相應的特徵向量

最後的結果是:

x =0.7276 -0.5774 0.6230

0.4851 -0.5774 -0.2417

0.4851 -0.5774 0.7439

b =1.0000 0 0

0 0.0000 0

0 0 1.0000

特徵值和特徵向量的求解根據專案的需求或者是矩陣的具體形式,主要可以分成如下三種形式:

1、只需要獲得矩陣的最大特徵值和特徵值所對應的特徵向量。

2、需要求取矩陣的所有特徵值。

3、需要求取特徵值和特徵向量的矩陣為實對稱矩陣,則可以通過另一種方法進行求解。

這三種形式特徵值和特徵向量的求取:

1.如果自己僅僅要求最大特徵值的話肯定採用形式1的演算法,該演算法的優點是時間複雜度較低,計算量相對較小,該方法不但能夠求取特徵值和特徵向量,而且只要特徵值不全為0,該方法都能獲得想要的結果。

2.如果需要獲得乙個矩陣的所有特徵值,則通過形式2可以很好的解決該問題,但是該方法的缺點是僅僅能夠獲得特徵值,獲得特徵值之後利用其它方法進行求解,這樣做自然而然計算量就大了起來。

3.如果矩陣為實對稱矩陣,那麼可以通過形式3對其進行特徵值和特徵向量的求取,該方法相對於形式2的好處就是能夠一次性將特徵值和特徵向量求取出來,缺點就是矩陣必須是實對稱矩陣,至於演算法複雜度方面我沒有進行測試。

10樓:匿名使用者

1、首先開啟自己的電腦,然後在桌面上開啟matlab軟體,進入matlab主介面。

2、然後需要知道計算矩陣的特徵值和特徵向量要用eig函式,可以在該軟體的命令列視窗中輸入help eig,檢視一下eig函式的用法。

3、在該軟體命令列視窗中輸入a=[1 2 3;2 4 5;7 8 9],你按鍵盤上的回車鍵之後,輸入[x,y]=eig(a)。

4、當你按了鍵盤上的回車鍵之後,得到了x,y的值,其中x的每一列值表示矩陣a的乙個特徵向量,裡面有3個特徵向量,y的對角元素值代表a矩陣的特徵值。

11樓:

matlab具體**如下:

>>clc;

>>clear;

>>close;

>>a=[3,-1,-2;2,0,-2;2,-1,-1];

>>[x,b]=eig(a)

**中最後一行指的是求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值,而x的列即為相應的特徵向量。

12樓:g用事實說話

不明白你說的是什麼意思,我看不懂啊,你能把那個意思詳細說一下嗎?

13樓:匿名使用者

>> a=[3 -1 -2;2 0 -2;2 -1 -1]a =3 -1 -2

2 0 -2

2 -1 -1

>> [v,d]=eig(a)

v =0.7276 -0.5774 0.

62300.4851 -0.5774 -0.

24170.4851 -0.5774 0.

7439d =1.0000 0 00 0.0000 00 0 1.

0000d為特徵值,v為每個特徵值對應

的特徵向量

14樓:匿名使用者

[d,v]=eig(a)

15樓:匿名使用者

a=[3 -1 -2 ;2 0 -2;2 -1 -1];

[u v]=eigs(a)

奇異矩陣能否做lu分解,奇異矩陣能否做LU分解

不能,lu分解必須是可逆矩陣。因為分解的結果l和u逆陣都是可逆的。雖然定義是可逆矩陣,但是是可以進行lu分解的,但是分解結果不唯一。未必不能,看這個矩陣 b 1 1 1 2 2 1 3 3 1 可以分解為 1 0 0 1 1 1 2 1 0 0 0 1 3 a 1 0 0 a 2 怎樣判斷乙個矩陣能...

矩陣分解的奇異值分解法

奇異值分解 singular value de position,svd 是另一種正交矩陣分解法 svd是最可靠的分解法,但是它比qr 分解法要花上近十倍的計算時間。u,s,v svd a 其中u和v分別代表兩個正交矩陣,而s代表一對角矩陣。和qr分解法相同,原矩陣a不必為正方矩陣。使用svd分解法...

請問開車假如遇到和別車刮碰的情況該如何處理

開車假如遇到和別車刮碰處理步驟 1.停車熄火查狀況 如果車子不小心與別的車子發生刮擦事故後,應立即選擇較合適地點停車。拉緊手制動,切斷電源,關掉車子的引擎。夜間還要開示寬燈 尾燈。在高速公路上則需在車後方設定危險警告標誌。2.確認雙方人員安全狀況 注意檢查雙方人員的安全狀況,如果有 受傷 人身安全受...