⑴ matlab用QR方法怎麼求特徵值,把程序寫出來,謝謝
function l = rqrtz(A,M)
%QR演算法求矩陣全部特徵值
%已知矩陣:A
%迭代步數:M
%求得的矩陣特徵值:l
A = hess(A);
for i=1:M
N = size(A);
n = N(1,1);
u = A(n,n);
[q,r]=qr(A-u*eye(n,n));
A = r*q+u*eye(n,n);
l = diag(A);
end
------------------------------------
A=[0 5 0 0 0 0;1 0 4 0 0 0;0 1 0 3 0 0;0 0 1 0 2 0;0 0 0 1 0 1;0 0 0 0 1 0]
A =
0 5 0 0 0 0
1 0 4 0 0 0
0 1 0 3 0 0
0 0 1 0 2 0
0 0 0 1 0 1
0 0 0 0 1 0
>> rqrtz(A,50)
ans =
-3.2030
3.2030
-1.8837
1.8837
-0.6167
0.6167
>> eig(A)
ans =
-3.3243
3.3243
-1.8892
-0.6167
1.8892
0.6167
⑵ 用QR方法怎樣求矩陣的特徵值
A=Q R
A1=R Q=Q1 R1
A2=R1 Q1=Q2 R2
...
注意所有的A,A1,...相似(A1=RQ=Q^T A Q =Q^{-1} A Q),具有相同的特徵值。在一定條件下最終收斂到一個上三角陣,把對角線上的元拿出來就是特徵值。事實上,因為A是對稱矩陣,A1=Q1^T A Q 所以A1是對稱陣(顯然A1^T=A1),以此類推,A2,A3...都是對稱陣。所以當A是對稱陣時An收斂於對角陣(既是上三角陣又是對稱陣,所以是對角陣),對角線上的元素就是特徵值。
⑶ 利用QR 方法求矩陣的特徵和特徵向量
1.[S,H]=hess(A)
H為Hessenberg 矩陣。S為變換矩陣
2.[Q,R]=qr(A)
[v,d]=eig(A)
⑷ 一個關於C語言的演算法QR方法算矩陣全部特徵值 求教~怎麼做
笨蛋。你不會去問老師吖、
⑸ 用QR方法求一般復數矩陣的特徵值
你說的是把M階復矩陣嵌入到2M階實矩陣再算特徵值的方法吧
這種情況最好是通過特徵向量來判斷
當然,如果沒有特殊需求的話不如直接對復矩陣用QR演算法,沒必要嵌入到實矩陣
⑹ QR演算法求矩陣的特徵值的優點
主要優點:
1.不會遺漏特徵值
2.向後穩定
3.局部二次收斂,相當於直接法,一般O(n^3)步可以完成
對於非對稱矩陣而言,QR演算法仍然是目前求所有特徵值的最好演算法.
⑺ 如何用QR演算法求矩陣特徵值
function l = rqrtz(A,M)
%瑞利商位移的QR演算法求矩陣全部特徵值
%已知矩陣:A
%迭代步數:M
%求得的矩陣特徵值:lA = hess(A);
for(i=1:M)
N = size(A);
n = N(1,1);
u = A(n,n);
[q,r]=qr(A-u*eye(n,n));
A = r*q+u*eye(n,n);
l = diag(A);
end4.4 QR算 法 QR演算法也是一種迭代演算法,是目前計算任意實的非奇異矩陣全部特徵值問題的最有效的方法之一.該方法的基礎是構造矩陣序列 ,並對它進行QR分解. 由線性代數知識知道,若A為非奇異方陣,則A可以分解為正交矩陣Q與上三角形矩陣R的乘積,即A=QR,而且當R的對角線元素符號取定時,分解式是唯一的. 若A為奇異方陣,則零為A的特徵值.任取一數p不是A的特徵值,則A-pI為非奇異方陣.只要求出A-pI的特徵值,就很容易求出A的特徵值,所以假設A為非奇異方陣,並不妨礙討論的一般性. 設A為非奇異方陣,令 ,對 進行QR分解,即把 分解為正交矩陣 與上三角形矩陣 的乘積 = 做矩陣 繼續對 進行QR分解 並定義 一般地,遞推公式為 QR演算法就是利用矩陣的QR分解,按上述遞推公式構造矩陣序列 .只要A為非奇異方陣,則由QR演算法就完全確定 .這個矩陣序列 具有下列性質. 性質1 所有 都相似,它們具有相同的特徵值. 證明 因為 若令 ,則 為正交陣,且有 因此 與A相似,它們具有相同的特徵值. 性質2 的QR分解式為 其中 證明 用歸納法.顯然當k=1時,有 假設 有分解式 於是 因為 ,所以 因為 都是正交陣,所以 也是正交陣,同樣 也是上三角形陣,從而 的QR分解式為 由前面的討論知 .這說明QR演算法的收斂性有正交矩陣序列 的性質決定. 定理1 如果 收斂於非奇異矩陣 為上三角形矩陣,則 存在並且是上三角形矩陣. 證明 因為 收斂,故下面極限存在 由於 為上三角形矩陣,所以 為上三角形矩陣.又因為 所以 存在,並且是上三角形矩陣. 定理2 (QR演算法的收斂性)設A為n 階實矩陣,且1) A的特徵值滿足: 2) ,其中 且設 有三角分解式 =LU(L為單位下三角陣,U為上三角陣),則由QR演算法得到的矩陣序列 本質上收斂於上三角形矩陣.即 滿足 當 當 的極限不一定存在 證明 因為 ,矩陣 決定 的收斂性.又 我們利用 求 ,然後討論 的收斂性. 由定理條件 得 令 其中 的(i,j)元素 為 於是 由假設,當i>j時, 故 設方陣X的QR分解式為 由 由 知,對充分大的 非奇異,它應有唯一的QR分解式 ,並且 於是 但上三角陣 的對角線元素不一定大於零.為此,引入對角矩陣 以便保證( )的對角線元素都是正數,從而得到 的QR分解式 由 的QR分解式的唯一性得到 從而 由於 ,所以 從而 其中 於是 因為 為上三角陣, 為對角陣,且元素為1或-1,所以 當 當 的極限不一定存在 例 用QR演算法求矩陣 的特徵值.A的特徵值為-1,4,1+2i,1-2i. 解 令 ,用施密特正交化過程將 分解為 將 與 逆序相乘,求出 用 代替A重復上面過程,計算11次得 由 不難看出,矩陣A的一個特徵值是4,另一個特徵值是-1,其他兩個特徵值是方程 的根.求得為
⑻ qr分解怎麼求特徵向量,求矩陣E的特徵值和特徵向量
對於任意方陣a,首先求出方程|λe-a|=0的解,這些解就是a的特徵值,再將其分別代入方程(λe-a)x=0中,求得它們所對應的基礎解系,則對於某一個λ,以它所對應的基礎解系為基形成的線性空間中的任意一個向量,均為λ所對應的特徵向量。
⑼ matlab中如何用qr函數求特徵值和特徵向量,矩陣是mxn
先不要考慮matlab了, 先回去復習一下線性代數, 單個的矩陣但不是方陣何談特徵值
即使是方陣, QR分解也不是直接用來求特徵值和特徵向量的.
盡管求所有特徵值和特徵向量最重要的演算法是QR演算法, 數學上可以解釋為反復做QR分解, 但實際上也並不該qr這個函數來實現.
當然, 如果你一定想用qr, 那麼可以反復迭代
[Q,R]=qr(A); A=Q'*A*Q;
直到A收斂到對角塊不超過2階的分塊上三角陣.
至於求特徵向量, 對每個特徵值各解一次方程組就行了.
就講這些, 即使你看不明白, 我也不會繼續回答了, 這純粹是浪費時間.
⑽ 求QR法求矩陣特徵值與特徵向量的代碼
看書