0001 function [A,B,cc] = ccakirby(X,Y)
0002
0003
0004
0005 mx = mean(X);
0006 MX = repmat(mx,size(X,1),1);
0007 my=mean(Y);
0008 MY = repmat(my,size(Y,1),1);
0009
0010 if 0
0011 S11 = (X-MX)'*(X-MX)/size(X,1);
0012 S22 = (Y-MY)'*(Y-MY)/size(Y,1);
0013 S12 = (X-MX)'*(Y-MY)/size(X,1);
0014 else
0015 S11 = cov(X);
0016 S22 = cov(Y);
0017 end
0018 S12 = (X-MX)'*(Y-MY)/(size(X,1)-1);
0019
0020 K = inv(real(sqrtm(S11)))*S12*inv(real(sqrtm(S22)));
0021
0022
0023
0024 [E,RHO,F] = svd(K);
0025 E = real(E);
0026 F = real(F);
0027
0028 A = inv(real(sqrtm(S11)))*E;
0029 if nargout > 1
0030 B = inv(real(sqrtm(S22)))*F;
0031 end
0032
0033 cc = diag(RHO);