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

5.5.3 实对称矩阵的三对角化及其MATLAB程序

5.5.3  实对称矩阵的三对角化及其MATLAB程序

将n阶实对称矩阵规约成三对角形式的MATLAB主程序

function T=house(A)

[n,n]=size(A);

for k=1:n-2

s=norm(A(k+1:n,k),2);

if (A(k+1,k)<0)

s=-s;

end

r=sqrt(2*s*(A(k+1,k)+s));

U(1:k)=zeros(1,k);

U(k+1)=(A(k+1,k)+s)/r;

U(k+2:n)=A(k+2:n,k)'/r;

V(1:k)=zeros(1,k);

V(k+1:n)=A(k+1:n,k+1:n)*U(k+1:n)';

C=U(k+1:n)*V(k+1:n)';

P(1:k)=zeros(1,k);

P(k+1:n)=V(k+1:n)-C*U(k+1:n);

A(k+2:n,k)=zeros(n-k-1,1);

A(k,k+2:n)=zeros(1,n-k-1);

A(k+1,k)=-s; A(k,k+1)=-s;

A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-2*U(k+1:n)'*P(k+1:n)-2*P(k+1:n)'*U(k+1:n);

end

T=A;

 

 

例5.5.4  用初等反射矩阵正交相似约化实对称矩阵为三对角矩阵.其中

解  输入MATLAB程序

>> A=[12 -56 3 -14 -90 -4;-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];

T=house(A)

运行后屏幕显示结果

T =  

12.0000   114.5513          0          0         0         0

114.5513   -43.2395   -108.2763          0         0         0

0  -108.2763     49.7411    -22.7766         0         0

0         0    -22.7766     40.2476   -89.1355         0

0         0          0     -89.1355   44.9606    39.3090

0         0          0          0    39.3090    19.2902

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