?? householder.m
字號:
function [M,f1,eig1]=householder(A,n)
%%%%%%%%%%%%把一個對稱矩陣化為三對角矩陣
%n=5;
%A_{1}=[5,4,3,2,1;4,4,2,2,1;3,2,3,2,1;2,2,2,2,1;1,1,1,1,1];
A_{1}=A;
eig1=zeros(n,1);
for m=1:n-2
f(m)=0;
for i=m+1:n
f(m)=f(m)+A_{m}(i,m)^(2);
end
G(m)=sqrt(f(m))*sign(A_{m}(m+1,m));
h(m)=G(m)^(2)+G(m)*A_{m}(m+1,m);
for k=1:m
u_{k}=zeros(n,1);
end
for i=k+1:n
if i==k+1
u_{m}(i)=A_{m}(i,m)+G(m);
else u_{m}(i)=A_{m}(i,m);
end
end
p_{m}=eye(n)-u_{m}*u_{m}'/h(m);
A_{m+1}=p_{m}*A_{m}*p_{m};
end
M=A_{n-1}
h=0.5; %%%%%%% 節點步長
for k=1:n+1
t(k)=(k-1)*h;
f_{1}(k)=det(M-t(k)*eye(n)); %%% 節點數值
end
f1=f_{1}
eig1=eig(M)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -