matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

5.6.6 求根位移QR方法计算实对称矩阵的特征值及其MATLAB程序

5.6.6  求根位移QR方法计算实对称矩阵的特征值及其MATLAB程序

用求根位移QR方法求实对称矩阵全部特征值的MATLAB主程序

function tzg=qr8(A,jd,max1)

[n,n]=size(A); Ak=A; k=0; tzg=zeros(n); state=1;i=1;s0=0;

while((k<=max1)&(state==1)&(n>2))

         bn=abs(Ak(n,n-1));

if(bn>=jd)

S=eig(Ak(n-1:n,n-1:n));sk=s0; [j,t]=min([abs(Ak(n,n)*[1,1]'-S)]);

t=t;sk=S(t); Bk= Ak-sk*eye(n);

[Qk,Rk]=qr(Bk); Ak=Rk*Qk;

k=k+1;tzgk=sk+s0;s0=tzgk;

disp('请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:')

i,state=1;k,sk,tzgk;Ak,

else

disp('请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.')

i=i+1, k;sk;tzgk,tzg(n,1)=tzgk;Ak;B=Ak(1:n-1,1:n-1); Ak=B,n=n-1;state==1;

end

end

disp('如果迭代矩阵Ak的阶数=2,则原n阶矩阵A的最后两个特征值λj=λk+xj,k=n-2,j=1,2.')

for n=2:2

         D=eig(Ak);x1=D(1),x2=D(2),tzg1=tzgk+x1,tzg2=tzgk+x2,

end

tzg(1,1)= tzg1; tzg(2,1)= tzg2;tzg=sort(tzg(:,1));

disp('请注意:n阶实对称矩阵A的全部真特征值lamoda和精度为jd的近似特征值tzg如下:')

lamoda=sort(eig(A))

 

例5.6.5  用求根位移QR方法求实对称矩阵全部特征值,精度为.并将计算结果与全部真特征值比较.其中

(1);(2).

解 (1)首先把用求根位移QR方法求实对称矩阵全部特征值的MATLAB主程序保存为M文件,命名为qr8.m.然后在工作窗口输入MATLAB程序

>>  A=[5 2 2 1;2 -3 1 1;2 1 3 1;1 1 1 2];

tzg=qr8(A,0.0001,100)

运行后屏幕显示结果如下:

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     1

k =

     1

sk =

    1.3820

Ak =

    5.3439   -2.1900    0.3494   -0.0007

   -2.1900   -4.5179   -0.1912    0.0006

    0.3494   -0.1912    0.6437   -0.0019

   -0.0007    0.0006   -0.0019    0.0024

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     1

k =

     2

sk =

    0.0024

Ak =

    5.4899    1.8979    0.0373   -0.0000

    1.8979   -4.6431    0.0211   -0.0000

    0.0373    0.0211    0.6159   -0.0000

   -0.0000   -0.0000   -0.0000   -0.0000

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     2

tzgk =

    1.3843

Ak =

    5.4899    1.8979    0.0373

    1.8979   -4.6431    0.0211

    0.0373    0.0211    0.6159

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     2

k =

     3

sk =

    0.6160

Ak =

    4.8235   -2.0282    0.0000

   -2.0282   -5.2085   -0.0000

    0.0000   -0.0000   -0.0004

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     3

tzgk =

    2.0004

Ak =

    4.8235   -2.0282

   -2.0282   -5.2085

如果迭代矩阵Ak的阶数=2,则原n阶矩阵A的最后两个特征值λj=λk+xj,k=n-2,j=1,2.

x1 =

    5.2180

x2 =

   -5.6030

tzg1 =

    7.2183

tzg2 =

   -3.6027

请注意:n阶实对称矩阵A的全部真特征值lamoda和精度为jd的近似特征值tzg如下:

lamoda =

   -3.6027

    1.3843

    2.0000

    7.2183

tzg =

   -3.6027

    1.3843

    2.0004

    7.2183

(2)首先在工作窗口输入MATLAB程序

>> A=[12 -56 3 -14 -90 -41;-56 71 23 61 -9 -21;3 23 53 12 -72 51;-14 61 12 73 23 21;-90 -9 -72 23 -34 -61;-41 -21 51 21 -61 -52];

Ak=qr8(A,0.0001,100)

然后运行后屏幕显示

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     1

k =

     1

sk =

 -104.6604

Ak =

  204.0767  -52.0380   33.2001  -23.0059   42.7318   15.5248

  -52.0380  188.5829   37.4826   39.5606   28.7652   16.0494

   33.2001   37.4826  206.1483    1.2528   10.8059  -25.8849

  -23.0059   39.5606    1.2528  148.3330  -12.3189  -10.6514

   42.7318   28.7652   10.8059  -12.3189  -19.2722  -44.9149

   15.5248   16.0494  -25.8849  -10.6514  -44.9149   23.0934

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     1

k =

     2

sk =

   51.5700

Ak =

  193.6018  -32.5417   32.8853   -7.8692  -28.4695    0.5579

  -32.5417  153.8359   57.3434   23.0379  -41.6293    1.0158

   32.8853   57.3434  105.0492  -12.5360   44.8003   -2.1831

   -7.8692   23.0379  -12.5360   77.3704   28.1861   -1.0783

  -28.4695  -41.6293   44.8003   28.1861  -83.1678    2.1298

    0.5579    1.0158   -2.1831   -1.0783    2.1298   -5.1476

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     1

k =

     3

sk =

   -5.0895

Ak =

  212.2212  -15.9637   20.3171   -0.9641   14.2430    0.0000

  -15.9637  182.5804   44.4902   15.4193   28.2474    0.0001

   20.3171   44.4902   61.8862  -28.6162  -69.1715   -0.0002

   -0.9641   15.4193  -28.6162   71.1544  -41.6983   -0.0001

   14.2430   28.2474  -69.1715  -41.6983  -55.7556   -0.0001

    0.0000    0.0001   -0.0002   -0.0001   -0.0001   -0.0079

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     2

tzgk =

  -58.1798

Ak =

  212.2212  -15.9637   20.3171   -0.9641   14.2430

  -15.9637  182.5804   44.4902   15.4193   28.2474

   20.3171   44.4902   61.8862  -28.6162  -69.1715

   -0.9641   15.4193  -28.6162   71.1544  -41.6983

   14.2430   28.2474  -69.1715  -41.6983  -55.7556

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     2

k =

     4

sk =

  -68.2300

Ak =

  284.0436   -9.6315    7.7123   -2.5643    2.5516

   -9.6315  262.3211   17.7609    3.9340    5.8291

    7.7123   17.7609  155.1351  -10.1496  -26.8565

   -2.5643    3.9340  -10.1496  148.4074  -21.1153

    2.5516    5.8291  -26.8565  -21.1153  -36.6703

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     2

k =

     5

sk =

  -39.0488

Ak =

  323.9633   -8.3008    4.5758   -1.6668    0.0337

   -8.3008  302.7230   11.0164    1.9231    0.0846

    4.5758   11.0164  196.7647   -6.9213   -0.6039

   -1.6668    1.9231   -6.9213  189.2251   -0.5366

    0.0337    0.0846   -0.6039   -0.5366   -4.1955

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     2

k =

     6

sk =

   -4.1970

Ak =

  328.6763   -7.5149    2.8635   -0.9801    0.0000

   -7.5149  307.2098    7.2600    1.1589    0.0000

    2.8635    7.2600  200.6671   -6.7350   -0.0000

   -0.9801    1.1589   -6.7350  192.9146   -0.0000

    0.0000    0.0000   -0.0000   -0.0000   -0.0020

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     3

tzgk =

 -169.6556

Ak =

  328.6763   -7.5149    2.8635   -0.9801

   -7.5149  307.2098    7.2600    1.1589

    2.8635    7.2600  200.6671   -6.7350

   -0.9801    1.1589   -6.7350  192.9146

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     3

k =

     7

sk =

  189.0200

Ak =

  140.4576   -6.1713    0.3209   -0.0016

   -6.1713  117.9758    0.7619    0.0020

    0.3209    0.7619   15.1443   -0.1164

   -0.0016    0.0020   -0.1164   -0.1902

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     3

k =

     8

sk =

   -0.1911

Ak =

  141.1467   -5.1611    0.0349   -0.0000

   -5.1611  117.6756    0.1025    0.0000

    0.0349    0.1025   15.3297   -0.0000

   -0.0000    0.0000   -0.0000   -0.0000

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     4

tzgk =

   19.1733

Ak =

  141.1467   -5.1611    0.0349

   -5.1611  117.6756    0.1025

    0.0349    0.1025   15.3297

请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Ak迭代矩阵:

i =

     4

k =

     9

sk =

   15.3296

Ak =

  126.2003   -4.1826    0.0000

   -4.1826  101.9627    0.0000

    0.0000    0.0000   -0.0000

请注意:下面的i表示求第i个特征值,如果迭代矩阵Ak的阶数>2,且m 阶矩阵Ak的m行第m-1列的元近似等于零.则原n阶矩阵A的第j个特征值λj=∑skj,j=1,2,...,n-2;下面的矩阵Ak降一阶.

i =

     5

tzgk =

   34.5030

Ak =

  126.2003   -4.1826

   -4.1826  101.9627

如果迭代矩阵Ak的阶数=2,则原n阶矩阵A的最后两个特征值λj=λk+xj,k=n-2,j=1,2.

x1 =

  126.9018

x2 =

  101.2613

tzg1 =

  161.4048

tzg2 =

  135.7642

请注意:n阶实对称矩阵A的全部真特征值lamoda和精度为jd的近似特征值tzg如下:

lamoda =

 -169.6576

  -58.1877

   19.1733

   34.5029

  135.7642

  161.4048

Ak =

 -169.6556

  -58.1798

   19.1733

   34.5030

  135.7642

  161.4048

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3050606.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1