首页 > 其他 > 详细

MATLAB中施密特正交化的实现

时间:2018-09-28 17:17:44      阅读:1353      评论:0      收藏:0      [点我收藏+]

1、施密特正交化的概念

技术分享图片

2、MATLAB程序

 1 function b=Schmidt_orthogonalization(a)
 2 [m,n] = size(a);
 3 if(m<n)
 4     error(行小于列,无法计算,请转置后重新输入);
 5     return
 6 end
 7 b=zeros(m,n);
 8 %正交化
 9 b(:,1)=a(:,1);
10 for i=2:n
11     for j=1:i-1
12         b(:,i)=b(:,i)-dot(a(:,i),b(:,j))/dot(b(:,j),b(:,j))*b(:,j);
13     end
14     b(:,i)=b(:,i)+a(:,i);
15 end
16 
17 %单位化
18 % for k=1:n
19 %     b(:,k)=b(:,k)/norm(b(:,k));
20 % end

 

说明1:如果需要单位化,把单位化后的注释删除即可

说明2:输入a为列向量矩阵,输出b也为列向量矩阵

 

MATLAB中施密特正交化的实现

原文:https://www.cnblogs.com/Martin-Soaring/p/9719555.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!