matlab用QR方法怎么求特征值,把程序写出来,谢谢

matlab用QR方法怎么求特征值,把程序写出来,谢谢,第1张

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 01 0 4 0 0 00 1 0 3 0 00 0 1 0 2 00 0 0 1 0 10 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

设特征值矩绝顷阵为V,你只要构造出一个随机的单位慎帆正宽宏雹交矩阵U,则 UVU'即为满足条件的矩阵: V = diag([1 2 3])U = orth(rand(3))A = U*V*U'

A=[5 -3 26 -4 44 -4 5]

[Q,R]=qr(A)

while 1

R1=R

[Q,R]=qr(R*Q)

if sum(sum((R-R1).^2))<0.0001

break

end

end

diag(R)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12337703.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存