您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 用QR算法求矩阵的特征值
姜改革太原科技大学数值分析实验报告1一、实验名称:用QR算法求矩阵的特征值二、实验目的:1、通过实验进一步熟悉掌握求矩阵特征值的QR方法及原理。2、理解QR方法的计算流程。3、能够编程实现QR方法。三、实验内容:给定矩阵111132126A,0100098200876307654465432H,采用QR方法计算A和H矩阵的全部特征值。四、实验要求:(1)根据QR算法原理编写程序求矩阵A及矩阵H的全部特征值(要求误差<105)。(2)直接用MATLAB的内部函数eig求矩阵A及矩阵H的全部特征值,并与(1)的结果比较。五、QR方法计算矩阵特征值的程序:function[namda,time,data_na]=qr_tz(A,tol)ifnargin==1;tol=1e-5;endwucha=1;time=0;while(wuchatol)&(time500)[q,r]=qr(A);A1=r*q;tz0=diag(A1);tz1=diag(A);wucha=norm(tz0-tz1);A=A1;time=time+1;data_na(time,:)=tz1;endnamda=tz1;disp(‘特征值为’)namdadisp(‘第一个特征在值’)timen1=length(data_na);姜改革太原科技大学数值分析实验报告2n2=(1:n1)’;temp1=[n2,data_na];subplot(2,2,1:2)plot(date_na(:,1))title(‘迭代次数为’)gridsubplot(2,2,3)plot(data-na(:,2))title(‘第二个特征值’)gridsubplot(2,2,4)plot(data-na(:,3))title(‘第三个特征值’)grid六、实验结果:A=[6,2,1;2,3,1;1,1,1];[namda,time,data_na]=qr_tz(A,1e-5);特征值为namda=7.2879843012651962.1330820016653110.578933697069494迭代次数为time=6图1姜改革太原科技大学数值分析实验报告3A=[6,2,1;2,3,1;1,1,1];[V,D]=eig(A,'nobalance'),V=-0.043168204294791-0.497425032351127-0.866432249704755-0.3507314460324820.819589100011505-0.4530575679825850.9354806031671250.284327354176152-0.209842790596346D=0.5789333856910520002.1330744753485250007.287992138960417姜改革太原科技大学数值分析实验报告4A=[2,3,4,5,6;4,4,5,6,7;0,3,6,7,8;0,0,2,8,9;0,0,0,1,0];[namda,time,data_na]=qr_tz(A,1e-5);特征值为namda=13.1723417364180786.5518880135989451.595655961778729-0.929097677537164-0.390788034258589迭代次数为time=22图2姜改革太原科技大学数值分析实验报告5A=[2,3,4,5,6;4,4,5,6,7;0,3,6,7,8;0,0,2,8,9;0,0,0,1,0];[V,D]=eig(A,'nobalance'),V=0.7249523252112400.6391331392559610.3360440722687030.541826077153744-0.3035915645965991.0000000000000001.0000000000000000.803166939605544-1.0000000000000000.3142500266250900.7929990443383310.470313263418813-1.0000000000000000.659286335558985-0.352004942324224姜改革太原科技大学数值分析实验报告60.353299625949037-0.3333458614844780.1660486347345090.090068905369684-0.9290962777522970.026821302838908-0.0508779076136260.104063020611483-0.2304801961730731.000000000000000D=13.1723513981031920006.5518783519156650001.5956545731499390000000000-0.39078804541648800-0.929096277752297表1用两种方法求得矩阵A的全部特征值特征值QR法直接用eig法17.2879843012651967.28799213896041722.1330820016653112.13307447534852530.5789336970694940.578933385691052表2用两种方法求得矩阵H的全部特征值特征值QR法直接用eig法113.17234173641807813.172351398103192姜改革太原科技大学数值分析实验报告726.5518880135989456.55187835191566531.5956559617787291.5956545731499394-0.929097677537164-0.3907880454164885-0.390788034258589-0.929096277752297七、实验结果分析:从图1和图2中可以看出在迭代前几次可能会有一些波动,但逐渐趋于平稳,并且收敛速度快,算法稳定。从表1和表2可以看出直接用MATLAB的内部函数eig求矩阵A及矩阵H的全部特征值与QR方法的结果进行比较时其特征值相差不大。虽然用MATLAB内部函数eig直接求出矩阵的特征值的方法比较快,但是其计算结果和用QR方法相比存在一定的误差,即没有用QR方法求得精确值高和特征值全。
本文标题:用QR算法求矩阵的特征值
链接地址:https://www.777doc.com/doc-6112204 .html