施密特正交化
Matlab中施密特正交化的实现
1. 施密特正交化的概念
2.MATLAB程序
function b=Schmidt_orthogonalization(a)
[m,n] = size(a);
if(m<n)
ERROR('行小于列,无法计算,请转置后重新输入');
return
end
b=zeros(m,n);
%正交化
b(:,1)=a(:,1);
for i=2:n
for j=1:i-1
b(:,i)=b(:,i)-dot(a(:,i),b(:,j))/dot(b(:,j),b(:,j))*b(:,j);
end
b(:,i)=b(:,i)+a(:,i);
end
%单位化
% for k=1:n
% b(:,k)=b(:,k)/norm(b(:,k));
% end
说明1:如果需要单位化,把单位化后的注释删除即可
说明2:输入a为列向量矩阵,输出b也为列向量矩阵
转载请注明出处
相关阅读
埃里克·施密特 - 谷歌董事会主席兼CEO - 在2006-2009
http://tech.sina.com.cn/i/2017-12-22/doc-ifypxrpp3280170.shtml施密特简历:埃里克·施密特(Eric Emerson Schmidt),1955年生,先后在