hqr.m

来自「基于Matlab语言编写的」· M 代码 · 共 23 行

M
23
字号
function [Q,R]=HQR(A)
[m,n]=size(A);
R=zeros(n,n);
Q=eye(n,n);
for k=1:n-1
    Q=eye(n,n);
    [H,u,p]=holderk(A(:,k),k);
    %计算上三角阵
    for j=k:n
        t(j)=p\sum(u(k:n).*A(k:n,j));
        for i=k:n
            A(i,j)=A(i,j)-t(j)*u(i);
            R(i,j)=A(i,j);
        end
    end
    %计算正交阵Q
    for i=1:n
        t(i)=p\sum(Q(i,k:n).*u(k:n)');
        for j=k:n
            Q(i,j)=Q(i,j)-t(i)*u(j);
        end
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?