mondeo_2008 发表于 2007-5-22 22:15

求助 schmidt正交化

怎么样用schmidt正交化,来使下面的 L正交化,谢谢各位了

代码:
load orl_faces%加载orl数据库faces
a=faces; %644*400

%取出所有训练图像y 是644*200
y=[];
for i=1:40
    for j=1:5    %相当于 for(i=0;i<mm;i++)
      y=;
    end
end


a2=y'; %转置
yy=mean(a2); %求均值,yy:1*644
x=[];
zz=[];
L=[];
for i=1:39
for j=1:5    %相当于 for(i=0;i<5;i++)
x=;
end
a1=x'; %转置
xx=mean(a1);
zz=xx-yy;
L=;
end


L是39*644的,我用orth指令正交结果变成了39*39的,我希望得到的L仍然是39*644的,谢谢大家了

mondeo_2008 发表于 2007-5-23 08:44

已解决,谢谢大家的关心

用schmidt正交化
for i=1:n
    for j=1:i-1
      W(:,i)=W(:,i)-(W(:,i)'*W(:,j))*W(:,j);
    end
    W(:,i)=W(:,i)/norm(W(:,i));
end

内循环采用向量运算的形式的schimit正交化方法
V(:,1)=V(:,1)/norm(V(:,1));
for i=2:n
    V(:,i)=V(:,i)-V(:,1:i-1)*(V(:,1:i-1)'*V(:,i));
    V(:,i)=V(:,i)/norm(V(:,i));
end

leowho 发表于 2010-12-21 17:55

好,支持一下!!!
页: [1]
查看完整版本: 求助 schmidt正交化