dxxg.m

来自「MATLAB科学计算与工程分析源代码源程序3」· M 代码 · 共 38 行

M
38
字号
function [maxVV1,maxVV2,F,G]=dxxg(X,Y)
[n,p]=size(X);
[n,q]=size(Y);
meanX=mean(X);%junzhi
varX=var(X);%fangcha
meanY=mean(Y);%junzhi
varY=var(Y);%fangcha
for i=1:p      
    for j=1:n
    X0(j,i)=(X(j,i)-meanX(i))/((varX(i))^0.5);
    end
end
for i=1:q
    for j=1:n
    Y0(j,i)=(Y(j,i)-meanY(i))/((varY(i))^0.5);
    end
end
V1=inv(X0'*X0)*X0'*Y0*inv(Y0'*Y0)*Y0'*X0;
V2=inv(Y0'*Y0)*Y0'*X0*inv(X0'*X0)*X0'*Y0;
[VV1,lamda1]=eig(V1);
[VV2,lamda2]=eig(V2);

lamda11=sum(lamda1);
lamda21=sum(lamda2);
k=1;
while(k<=(length(lamda1)))
    [maxlamda1(k),I]=max(lamda11);   
    maxVV1(:,k)=VV1(:,I);
    lamda11(I)=[];
    VV1(:,I)=[];
     [maxlamda2(k),I]=max(lamda21);
    maxVV2(:,k)=VV2(:,I);
     lamda21(I)=[];
    VV2(:,I)=[];
    k=k+1;
end
F=X0*maxVV1;
G=Y0*maxVV2;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?