在自然科学和工程设计中的许多问题

上传人:无*** 文档编号:59641818 上传时间:2022-03-04 格式:DOCX 页数:36 大小:452.95KB
收藏 版权申诉 举报 下载
在自然科学和工程设计中的许多问题_第1页
第1页 / 共36页
在自然科学和工程设计中的许多问题_第2页
第2页 / 共36页
在自然科学和工程设计中的许多问题_第3页
第3页 / 共36页
资源描述:

《在自然科学和工程设计中的许多问题》由会员分享,可在线阅读,更多相关《在自然科学和工程设计中的许多问题(36页珍藏版)》请在装配图网上搜索。

1、高等教育出版社 教育电子音像出版社 作者:任玉杰 第五章 矩阵的特征值与特征向量的MATLAB程序第五章 矩阵的特征值与特征向量的计算 在自然科学和工程设计中的许多问题,如电磁振荡、桥梁振动、机械振动等,常归结为求矩阵的特征值和特征向量.求矩阵的特征值和特征向量的问题是代数计算中的重要课题.本章着重介绍直接计算矩阵的特征值和特征向量的MATLAB程序、间接计算矩阵的特征值和特征向量的幂法、反幂法、雅可比方法、豪斯霍尔德方法和QR方法及其它们的MATLAB计算程序.最后我们还讨论广义特征值问题.5.1 直接计算特征值和特征向量的MATLAB程序5.1.4 计算特征值和特征向量的MATLAB程序从

2、以上的讨论可以看到,有许多问题归结为求矩阵的特征值和特征向量,而用手工计算高阶矩阵的特征值与特征向量的难度较大,但是,计算机软件MATLAB提供了直接计算特征值与特征向量的MATLAB函数 (见表51),下面介绍这些函数的使用方法. 表51命 令功 能b = eig(A)输入方阵A,运行后输出b为由方阵A的全部特征值构成的列向量V,D = eig (A)输入对称矩阵A,运行后输出D为由A的全部特征值构成的对角矩阵,V的各列为对应于特征值的特征向量构成的矩阵,使得AV = DV V,D = eig (A,nobalance)输入方阵A,运行后输出D为由A的全部特征值构成的对角矩阵,V的各列为对应

3、于特征值的特征向量构成的矩阵,使得AV = DV;如果A是对称矩阵,则输出的结果与程序 V,D = eig (A)的运行结果相同5.2 幂法及其MATLAB程序幂法是求实矩阵的主特征值(即实矩阵按模最大的特征值)及其对应的特征向量的一种迭代方法.5.2.2 幂法的MATLAB程序设阶实矩阵的个特征值为,且满足,的主特征值对应的特征向量为,则我们可以用下面的MATLAB程序计算和的近似值和近似向量. 用幂法计算矩阵的主特征值和对应的特征向量的MATLAB主程序输入的量:阶实矩阵、维初始实向量V0、计算要求的精度jd、迭代的最大次数max1;输出的量:迭代的次数k、的主特征值的近似值lambda、

4、对应的特征向量的近似向量Vk、相邻两次迭代的误差Wc.如果迭代次数已经达到最大的迭代次数max1,则给出提示的相关信息.根据迭代公式(5.20),现提供用幂法计算矩阵的主特征值和对应的特征向量的MATLAB主程序如下:function k,lambda,Vk,Wc=mifa(A,V0,jd,max1)lambda=0;k=1;Wc =1; ,jd=jd*0.1;state=1; V=V0;while(kjd)state=1;endk=k+1;Wc=Wc;endif(Wc A=1 -1;2 4;V0=1,1;k,lambda,Vk,Wc=mifa(A,V0,0.00001,100), V,D =

5、 eig (A), Dzd=max(diag(D), wuD= abs(Dzd- lambda), wuV=V(:,2)./Vk, 运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 33 3.00000173836804 8.691862856124999e-007Vk = V = wuV =-0.49999942054432 -0.70710678118655 0.44721359549996 -0.894428227562941.00000000000000 0.7071067811

6、8655 -0.89442719099992 -0.89442719099992Dzd = wuD = 3 1.738368038406435e-006 由输出结果可看出,迭代33次,相邻两次迭代的误差Wc 8.69 19e-007,矩阵的主特征值的近似值lambda3.000 00和对应的特征向量的近似向量Vk (-0.500 00,1.000 00, lambda与例5.1.1中的最大特征值近似相等,绝对误差约为1.738 37e-006,Vk与特征向量 的第1个分量的绝对误差约等于0,第2个分量的绝对值相同.由wuV可以看出,的特征向量V(:,2) 与Vk的对应分量的比值近似相等.因此,

7、用程序mifa.m计算的结果达到预先给定的精度.(2) 输入MATLAB程序 B=1 2 3;2 1 3;3 3 6; V0=1,1,1; k,lambda,Vk,Wc=mifa(B,V0,0.00001,100), V,D = eig (B), Dzd=max(diag(D), wuD= abs(Dzd- lambda), wuV=V(:,3)./Vk,运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = Dzd = wuD = 3 9 0 9 0Vk = wuV = 0.50000000

8、000000 0.81649658092773 0.50000000000000 0.81649658092773 1.00000000000000 0.81649658092773V = 0.70710678118655 0.57735026918963 0.40824829046386 -0.70710678118655 0.57735026918963 0.40824829046386 0 -0.57735026918963 0.81649658092773由输出结果可看出,迭代3次,相邻两次迭代的误差Wc=0,实对称矩阵B的主特征值的近似值lambda=9和对应的特征向量的近似向量Vk

9、 =(0.500 00,0.500 00,1.000 00,lambda与例5.1.1中的最大特征值相同,Vk与特征向量 的对应分量成比例.从wuV的每个分量的值也可以看出,的特征向量V(:,3) 与Vk的对应分量的比值相等.因此,用程序mifa.m计算的结果达到预先给定的精度.此例说明,幂法对实对称矩阵的迭代速度快且计算结果精度高, (3) 输入MATLAB程序 C=1 2 2;1 -1 1;4 -12 1;V0=1,1,1; k,lambda,Vk,Wc=mifa(C,V0,0.00001,100), V,D = eig (C), Dzd=max(diag(D), wuD= abs(Dzd

10、- lambda), Vzd=V(:,1),wuV=V(:,1)./Vk,运行后屏幕显示请注意:迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 100 0.09090909090910 2.37758124193119 Dzd = wuD = 1.00000000000001 0.90909090909091Vk= Vzd = wuV =0.99999999999993 0.90453403373329 0.904534033733350.99999999999995 0.30151

11、134457776 0.301511344577781.00000000000000 -0.30151134457776 -0.30151134457776由输出结果可见,迭代次数k已经达到最大迭代次数max1=100,并且lambda的相邻两次迭代的误差Wc2.377 582,由wuV可以看出,lambda的特征向量Vk与真值Dzd的特征向量Vzd对应分量的比值相差较大,所以迭代序列发散.实际上,实数矩阵C的特征值的近似值为,并且对应的特征向量的近似向量分别为=(0.90453403373329,0.30151134457776,-0.30151134457776),(-0.72547625

12、011001,-0.21764287503300-0.07254762501100i, 0.58038100008801-0.29019050004400i),( -0.72547625011001, -0.21764287503300 + 0.07254762501100i, 0.58038100008801 + 0.29019050004400i) , 是常数).此例说明,当阶实矩阵有复数特征值时,不宜用幂法计算它的主特征值对应的特征向量.(4)输入MATLAB程序 D=-4 14 0;-5 13 0;-1 0 2; V0=1,1,1; k,lambda,Vk,Wc=mifa(D,V0,0

13、.00001,100), V,Dt = eig (D), Dtzd=max(diag(Dt), wuDt= abs(Dtzd- lambda), Vzd=V(:,2),wuV=V(:,2)./Vk,运行后屏幕显示结果请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = 19 6.00000653949528 6.539523793591684e-006Dtzd = wuDt = 6.00000000000000 6.539495284840768e-006Vk = Vzd = wuV =0.797400480

14、53564 0.79740048053564 0.79740048053564 0.71428594783886 0.56957177181117 0.79740021980618 -0.24999918247180 -0.19935012013391 0.79740308813370由输出结果可见,迭代19次,相邻两次迭代的误差Wc6.539 52e-006,矩阵D的主特征值的近似值lambda6.000 01和对应的特征向量的近似向量为Vk (0.797 40,0.714 29,-0.250 00.用eig(A)计算,lambda与对应的特征值的真值Dtzd的绝对误差wuDt,二者的特征向

15、量V(:,2) 与Vk的对应分量的比值近似相等(请对比wuV的每个分量的值).因此,用程序mifa.m计算的结果达到预先给定的精度. 由例5.2.2的计算结果可见,用幂法计算实对称矩阵的主特征值对应的特征向量时,得到的迭代序列的收敛速度最快且计算结果精度也最高;非实对称矩阵对应的迭代序列的敛散性不定,有时发散(例如矩阵C),有时收敛(例如矩阵A和D),且收敛速度较慢,比较(1)和(4)的计算结果可知,用幂法得到的迭代序列的收敛速度与矩阵的阶数无关;当实矩阵有复数特征值时,不宜用幂法计算它的主特征值对应的特征向量.5.3 反幂法和位移反幂法及其MATLAB程序反幂法是求非奇异矩阵的按模最小特征值

16、及其对应的特征向量的一种迭代方法.5.3.3 原点位移反幂法的MATLAB程序设阶实矩阵的个特征值都不相同,且满足 ,且的按模最小特征值对应的特征向量为,则我们可以根据迭代公式(5.27)和(5.28)编写两种MATLAB程序分别计算和的近似值和近似向量.(一) 原点位移反幂法的MATLAB主程序1根据原点位移反幂法的迭代公式(5.28),现提供用原点位移反幂法计算矩阵的按模最小特征值和对应的特征向量的MATLAB主程序如下: 用原点位移反幂法计算矩阵的特征值和对应的特征向量的MATLAB主程序1输入的量:阶实矩阵、维初始实向量V0、特征值的近似值jlamb、计算的精度jd、迭代的最大次数ma

17、x1;输出的量:迭代的次数k、的特征值的近似值lambdan、与对应的特征向量的近似向量Vk、相邻两次迭代的误差Wc.如果迭代次数已经达到最大的迭代次数max1,则给出提示的相关信息.function k,lambdan,Vk,Wc=ydwyfmf(A,V0,jlamb,jd,max1)n,n=size(A); A1=A-jlamb*eye(n); jd= jd*0.1;RA1=det(A1); if RA1=0disp(请注意:因为A-aE的n阶行列式hl等于零,所以A-aE不能进行Lu分解.)returnendlambda=0;if RA1=0 for p=1:nh(p)=det(A1(1

18、:p, 1:p);endhl=h(1:n);for i=1:nif h(1,i)=0disp(请注意:因为A-aE的r阶主子式等于零,所以A-aE不能进行Lu分解.) returnendend if h(1,i)=0 disp(请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.)k=1;Wc =1;state=1; Vk=V0;while(kjd)state=1;endk=k+1;%Vk=Vk2,mk=mk1,endif(Wc A=1 -1 0;-2 4 -2;0 -1 2;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,0.2,0.0001,1

19、0000)运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = hl = 3 0.2384 1.0213e-007 0.8000 1.0400 0.2720Vk = V = D = 1.0000 -0.2424 -1.0000 -0.5707 5.1249 0 0 0.7616 1.0000 -0.7616 0.3633 0 0.2384 0 0.4323 -0.3200 -

20、0.4323 1.0000 0 0 1.6367(2)输入MATLAB程序 A=1 -1;2 4;V0=20,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,2.001,0.0001,100) 运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc = hl = 2 2.0020 5.1528e-007 -1.0010 -0.0010Vk = V = D = 1.000

21、0 -1.0000 0.5000 2 0 -1.0000 1.0000 -1.0000 0 3(3)输入MATLAB程序 A=-11 2 15;2 58 3;15 3 -3;V0=1,1,-1;k,lambdan,Vk,Wc=ydwyfmf(A,V0,8.26, 0.0001,100) 运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambdan= Wc = hl = 2 8.2640 6.93

22、04e-008 -19.2600 -961.9924 -6.1256Vk = V = D = -0.7692 0.7928 0.6081 0.0416 -22.5249 0 0 0.0912 0.0030 -0.0721 0.9974 0 8.2640 0 -1.0000 -0.6095 0.7906 0.0590 0 0 58.2609例 5.3.3 用原点位移反幂法的迭代公式(5.28),计算的分别对应于特征值,的特征向量,的近似向量,相邻迭代误差为0.001.将计算结果与精确特征向量比较,其中0.999 999 999 999 97,1.999 999 999 999 99,4.000

23、000 000 000 02,分别对应特征向量为0.500 000 000 000 00,0.500 000 000 000 00,1.000 000 000 000 00,-0.249 999 999 999 99,-0.500 000 000 000 00,-1.000 000 000 000 00,-0.400 000 000 000 00,-0.600 000 000 000 00,-1.000 000 000 000 00.解 (1)计算特征值对应的特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,

24、Vk,Wc= ydwyfmf(A,V0,1.001, 0.001,100),V,D=eig(A);Dzd=min(diag(D), wuD= abs(Dzd- lambda),VD=V(:,1),wuV=V(:,1)./Vk,运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl = -1.00100000000000 5.98500100000000 -0.00299600100000k = lambda

25、 = RA1 = 5 1.00200000000000 -0.00299600100000Vk = VD = wuV = -0.50000000000000 -0.40824829046386 0.81649658092773 -0.50000000000000 -0.40824829046386 0.81649658092773 -1.00000000000000 -0.81649658092773 0.81649658092773Wc = Dzd = wuD = 1.378794763695562e-009 1.00000000000000 0.00200000000000 从输出的结果可

26、见,迭代5次,特征向量的近似向量的相邻两次迭代的误差Wc1.379 e-009,由wuV可以看出,= Vk与VD 的对应分量的比值相等.特征值的近似值lambda 1.002与初始值1.001的绝对误差为0.001,而与的绝对误差为0.002,其中,.(2)计算特征值对应特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,2.001, 0.001,100) ,V,D=eig(A); WD=lambda-D(2,2),VD=V(:,2),wuV=V(:,2)./Vk,运行后屏

27、幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl = -2.00100000000000 -8.01299900000000 0.00200099900000k = Wc = lambda = WD = 2 3.131363162302120e-007 2.00200000000016 0.00200000000016Vk = VD = wuV = -0.24999999999999 0.2182178902

28、3599 -0.87287156094401 -0.49999999999999 0.43643578047198 -0.87287156094398 -1.00000000000000 0.87287156094397 -0.87287156094397从输出的结果可见,迭代2次,特征向量的近似向量的相邻两次迭代的误差Wc3.131e-007,与的对应分量的比值近似相等.特征值的近似值lambda2.002与初始值2.001的绝对误差约为0.001,而lambda与的绝对误差约为0.002,其中,.(3)计算特征值对应特征向量的近似向量.输入MATLAB程序 A=0 11 -5;-2 17

29、-7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,4.001, 0.001,100)V,D=eig(A); WD=lambda-max(diag(D),VD=V(:,3),wuV=V(:,3)./Vk,运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl =-4.00100000000000 -30.00899900000000 -0.0060050009

30、9999k = lambda = Wc = WD = 2 4.00199999999990 1.996084182914842e-007 0.00199999999990Vk = VD = wuV = 0.40000000000001 -0.32444284226153 -0.81110710565380 0.60000000000001 -0.48666426339229 -0.81110710565381 1.00000000000000 -0.81110710565381 -0.81110710565381从输出的结果可见,迭代2次,特征向量的近似向量的相邻两次迭代的误差Wc1.996e

31、-007,与的对应分量的比值近似相等.特征值的近似值的绝对误差近似为,而lambda与的绝对误差约为0.002,其中-0.400 000 000 000 00,-0.600 000 000 000 00,-1.000 000 000 000 00, .综上所述,用原点位移反幂法的迭代公式(5.28)求矩阵的全部特征值分别对应特征向量的收敛速度快,且精确度高.但是求矩阵的全部特征值的结果不理想.(二)、原点位移反幂法的MATLAB主程序2根据迭代公式(5.27),我编写用原点位移反幂法计算矩阵的按模最小特征值和对应的特征向量的MATLAB主程序如下: 用原点位移反幂法计算矩阵的特征值和对应的特征

32、向量的MATLAB主程序2输入的量:阶实矩阵、维初始实向量V0、特征值的近似值jlambn、计算的精度jd、迭代的最大次数max1.输出的量:迭代的次数k、的特征值的近似值lambdan、对应的特征向量的近似向量Vk、相邻两次迭代的误差Wc.如果迭代次数已经达到最大的迭代次数max1,则给出提示的相关信息.function k,lambdan,Vk,Wc=wfmifa1(A,V0,jlamb,jd,max1)n,n=size(A); jd= jd*0.1;A1=A-jlamb*eye(n);nA1=inv(A1); lambda1=0;k=1;Wc =1;state=1; U=V0;while

33、(kjd)state=1;endk=k+1;endif(Wc A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1; k,lambda,Vk,Wc=wfmifa1(A,V0,1.001,0.001,100)运行后屏幕显示结果请注意迭代次数k,特征值的近似值lambda,对应的特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = lambda = Wc =5 1.00200000000138 1.376344154436924e-006Vk = -0.50000000000000 -0.50000000000000 -1.00000000000000同理可得,另外与两

34、个特征值对应的特征向量,将计算结果列表53.表53 例题5.3.3和例题5.3.4计算结果比较由(5.27)式计算结果由(5.28)式计算结果迭代次数k和其近似向量Vk的相邻迭代误差Wc和其近似值lambdak = 5=(0.500, 0.500, 1.000) Vk=(-0.500, -0.500, -1.000)Wc = 1.376 344 154 436 924e-006lambda=1.002 000 000 001 38k = 5= (0.500, 0.500, 1.000)Vk=(-0.500, -0.500, -1.000)Wc =1.378 794 763 695 562e-0

35、09lambda=1.002 000 000 000 00迭代次数k和其近似向量Vk的相邻迭代误差Wc和其近似值lambdak = 2=(-0.250, -0.500, -1.000)Vk =(-0.250, -0.500, -1.000)Wc = 6.252 343 455 491 521e-004lambda = 2.001 999 999 687 03k =2=(-0.250, -0.500, -1.000)Vk=(-0.250, -0.500, -1.000)Wc =3.131 258 787 820 493e-007lambda =2.002 000 000 000 16迭代次数k和

36、其近似向量Vk的相邻迭代误差Wc和其近似值lambdak = 2=(-0.400, -0.600, -1.000)Vk=(0.400, 0.600, 1.000)Wc =3.997 600 240 971 801e-004lambda = 4.001 999 999 800 30k = 2=(-0.400, -0.600, -1.000)Vk=(0.400, 0.600, 1.000)Wc=1.996 005 395 108 913e-007lambda =4.001 999 999 999 90通过比较表53中列出的例题5.3.3和例题5.3.4的计算结果可见,由原点位移反幂法的迭代公式(5

37、.27)的迭代序列的收敛速度比迭代公式(5.28)稍慢些.(2)再用两种原点位移反幂法的MATLAB主程序,求对应的特征向量.输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=ydwyfmf(A,V0,0.99999999999997,0.001,100)运行后屏幕显示结果请注意:因为A-aE的各阶主子式都不等于零,所以A-aE能进行Lu分解.A-aE的秩R(A-aE)和各阶顺序主子式值hl、迭代次数k,按模最小特征值的近似值lambda,特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:hl = -0.99999

38、999999997 6.00000000000045 0.00000000000010Vk = 0.50000000000000 0.50000000000000 1.00000000000000Wc = 4.317692037236759e-013RA1 = 1.039168751049192e-013k = 2lambda = 1.00000000000000输入MATLAB程序 A=0 11 -5;-2 17 -7;-4 26 -10;V0=1,1,1;k,lambda,Vk,Wc=wfmifa1(A,V0, 0.99999999999997,0.001,100)运行后屏幕显示结果Vk

39、= 0.50000000000000 0.50000000000000 1.00000000000000请注意迭代次数k,特征值的近似值lambda,对应的特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k = 3lambda = 1.00000000000000Wc = 5.412337245047640e-0165.4 雅可比(Jacobi)方法及其MATLAB程序雅可比方法是用来计算实对称矩阵的全部特征值和对应的特征向量的一种迭代的方法,最早由雅可比给出.自从计算机出现以后,古典的雅可比方法已有了不少的改进和推广.5.4.3 雅可比方法的MATLAB程序设阶实对称矩阵的个特征值为,特

40、征值对应的特征向量为,则我们可以用下面的MATLAB程序计算的全部特征值和对应的特征向量的近似值和向量.用雅可比方法计算对称矩阵的特征值和对应的特征向量的MATLAB主程序输入的量:阶实对称矩阵、计算的精度jd、迭代的最大次数max1;输出的量:计算全过程中每次迭代的序号k, 选取的旋转主元mk及其所在的行数和列数,c,t,pii 和pij的值,旋转矩阵Pk,正交矩阵Vk=P1P2Pk,对称矩阵Bk,判断是否满足控制迭代终止的条件Wc,以特征向量为列向量的矩阵V,特征值为对角元的对角矩阵D.如果迭代次数已经达到最大的迭代次数max1,则给出提示的相关信息.根据雅可比迭代求阶实对称矩阵A的特征值

41、和对应的特征向量的近似向量,精度为的一般步骤,现提供MATLAB主程序如下:function k,Bk,V,D,Wc=renyujjacobite(A,jd,max1)n,n=size(A);Vk=eye(n);Bk=A;state=1;k=0;P0=eye(n);Aij=abs(Bk-diag(diag(Bk);m1 i=max(Aij);m2 j=max(m1);i=i(j);while (kjd)state=1;else returnendPk;Vk;Bk=B2;Wc;endif(kmax1)disp(请注意迭代次数k已经达到最大迭代次数max1,迭代次数k,对称矩阵Bk,以特征向量为列

42、向量的矩阵V,特征值为对角元的对角矩阵D如下:)elsedisp(请注意迭代次数k,对称矩阵Bk,以特征向量为列向量的矩阵V,特征值为对角元的对角矩阵D如下:) endWc;k=k; V=Vk;Bk=B2;D=diag(diag(Bk);V1,D1 =eig(A,nobalance)例5.4.2 用雅可比方法的MATLAB程序计算例5.4.1中矩阵的特征值和对应的特征向量().解 (1)保存名为renjacobite.m为M文件;(2)输入MATLAB程序 A=12 -56 3 -1;-56 7 2 0;3 2 5 1;-1 0 1 12;k,B,V,D,Wc=renyujjacobite(A

43、,0.001,100)(3)运行后屏幕显示计算的全过程中每次迭代的序号k, 选取的旋转主元mk及其所在的行数和列数,c,t,pii 和pij的值,旋转矩阵Pk,正交矩阵Vk=P1P2Pk,对称矩阵Bk,判断是否满足控制迭代终止的条件Wc,以特征向量为列向量的矩阵V,特征值为对角元的对角矩阵D和相关信息如下:k = i = j = mk = Wc =1 2 1 -56 56c = t = -0.04464285714286 -0.95635313919972pii = pij = 0.72270271801843 -0.69115901308510Pk = 0.72270271801843 0.

44、69115901308510 0 0 -0.69115901308510 0.72270271801843 0 0 0 0 1.00000000000000 0 0 0 0 1.00000000000000Vk = 0.72270271801843 0.69115901308510 0 0 -0.69115901308510 0.72270271801843 0 0 0 0 1.00000000000000 0 0 0 0 1.00000000000000Bk = 65.55577579518456 0 0.78579012788509 -0.72270271801843 -0.0000000

45、0000001 -46.55577579518456 3.51888247529217 -0.69115901308510 0.78579012788509 3.51888247529217 5.00000000000000 1.00000000000000 -0.72270271801843 -0.69115901308510 1.00000000000000 12.00000000000000k = i = j = mk = Wc = 2 3 2 3.51888247529217 3.51888247529217c = t = -7.32558932518824 -0.0679388556

46、8129pii = pij = 0.99770011455446 -0.06778260409592Pk = 1.00000000000000 0 0 0 0 0.99770011455446 0.06778260409592 0 0 -0.06778260409592 0.99770011455446 0 0 0 0 1.00000000000000Vk = 0.72270271801843 0.68956942653035 0.04684855775127 0 -0.69115901308510 0.72104058455581 0.04898667221449 0 0 -0.067782

47、60409592 0.99770011455446 0 0 0 0 1.00000000000000Bk = 65.55577579518456 -0.05326290114092 0.78398290060672 -0.72270271801843 -0.05326290114093 -46.79484464383285 0 -0.75735203062627 0.78398290060672 0.00000000000000 5.23906884864829 0.95085155680318 -0.72270271801843 -0.75735203062627 0.95085155680318 1

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!