GS求解与QR分解的一致性校验

2023-12-14 15:06:45

QR分解相对于GS分解更简单,在MATLAB中更容易实现;

我们使用一组数据进行测试,代码如下:

clc;
clearvars;


%% 方法A:GS求解,construct new orthonormal basis by gram-schmidt
y0=1:12;
znorm=zeros(3,1);
n1=3;
znorm(1)=0.0;
for j=1:n1  znorm(1)=znorm(1)+y0(n1*j+1)^2; end;

% znorm
znorm(1)=sqrt(znorm(1));
% znorm
for j=1:n1  y0(n1*j+1)=y0(n1*j+1)/znorm(1); end;
% y0

gsc=zeros(3,1);


for j=2:n1
    for k=1:(j-1)
        gsc(k)=0.0;
        for l=1:n1 gsc(k)=gsc(k)+y0(n1*l+j)*y0(n1*l+k); end;
    end;
    
    for k=1:n1
        for l=1:(j-1)
            y0(n1*k+j)=y0(n1*k+j)-gsc(l)*y0(n1*k+l);
        end;
    end;
    
    znorm(j)=0.0;
    for k=1:n1 znorm(j)=znorm(j)+y0(n1*k+j)^2; end;
    znorm(j)=sqrt(znorm(j));
    
    for k=1:n1 y0(n1*k+j)=y0(n1*k+j)/znorm(j); end;
en

文章来源:https://blog.csdn.net/superdont/article/details/134869960
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。