⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 householder.m

📁 利用MATLAB进行程序C7_3 QR方法的算法
💻 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 + -