求助 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的,谢谢大家了
已解决,谢谢大家的关心
用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 好,支持一下!!!
页:
[1]