施密特正交化

[row,col] = size(X);
if row < col
    fprintf('行数小于列数,不能规范正交化!\n');
    return;
end
Y = zeros(row,col);
Y(:,1) = X(:,1);
for i = 1:col
    Y(:,i) = X(:,i);
    for j = 1:i - 1
        Y(:,i) = Y(:,i) - (X(:,i)'*Y(:,j))/(Y(:,j)'*Y(:,j)) * Y(:,j);
    end
end
for i = 1:col
    Y(:,i) = Y(:,i)/norm(Y(:,i));
end

猜你喜欢

转载自blog.csdn.net/weixin_38452468/article/details/73931453
今日推荐