gramschmidt.m

来自「本人编写的GramSchmidt神经网络算法」· M 代码 · 共 31 行

M
31
字号
function [w,a]=GramSchmidt(p)
    [row,column] = size(p);
    w = zeros(row,column);
    w(:,1) = p(:,1);
    a = eye(column);
    for k = 2:column
        b = zeros(row,1);
        for i = 1:k-1
            temp = w(:,i)'*w(:,i);
            if temp<10^-8
                temp = 0.00001;
            end
            a(i,k) = w(:,i)'*p(:,k)/temp;
            b = b+a(i,k)*w(:,i);
        end
        w(:,k) = p(:,k)-b;
    end
%%%%%%%%%%%%%%%%%%%%    normlization    %%%%%%%%%%%%    
    tempMatrixA = zeros(column,column);
    tempMatrixB = zeros(column,column);
    for i=1:column
        tempNorm=norm(w(:,i));
        tempMatrixA(i,i) = 1/tempNorm;
        tempMatrixB(i,i) = tempNorm;
    end
    
    w=w*tempMatrixA;
    a=tempMatrixB*a;
    
    clear tempMatrixA;
    clear tempMatrixB;

⌨️ 快捷键说明

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