matlab-线性代数 施密特正交化

时间:2022-11-22 20:09:41
       慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。



%施密特正交化,自己写的你们看着,有错误自行修改

a=ones(4,2); %四行,两列
%必须是线性无关的向量组
a(:,1)=[1;1;2;3];
a(:,2)=[-1;1;4;-1];

a %看看a

c=size(a1); %去判断a1多少行

b=zeros(c(1),2);

b(:,1)=a1; %根据施密特,b1=a1

for i=2:1:2 %需要改的是最后一个2,要把它改成共有几个向量的数目,比如说有a3,那么就改成3
for j=1:1:i-1
b(:,i)=b(:,i)+(-1*dot(b(:,j),a(:,2))/dot(b(:,j),b(:,j)))*b(:,j);
end
end

n=input('你想看第几个正交向量组的向量呢:')
b(:,n)







感恩曾经帮助过 心少朴 的人。
matlab优秀,值得学习。基础知识 + 专业知识 + matlab = ?
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。