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]