admin 发表于 2023-4-30 19:26:40

schmidt正交化matlab程序

function Y = schimidt(X)
% function:对X的列向量进行规范正交化
= 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
页: [1]
查看完整版本: schmidt正交化matlab程序