
% Read data from ncfd file: Matrix C(m,n)
C_matrix = ncread('/home/tanpv/Progs/CEFD/Dr_SEA/MCA/C_Matrix.nc','cor');
m = ncread('/home/tanpv/Progs/CEFD/Dr_SEA/MCA/C_Matrix.nc','x');
n = ncread('/home/tanpv/Progs/CEFD/Dr_SEA/MCA/C_Matrix.nc','y');

% Calculating U,S,V: C(m,n)=U(m,n)xS(n,n)xVT(n,n)
[U,S,V]= svd(C_matrix,'econ');
leng_m = length(m);
leng_n = length(n);

% Creating NetCDF file for U-matrix:
nccreate('MCA_U.nc','m','Dimensions',{'x',1,leng_m},'Datatype','single');
nccreate('MCA_U.nc','n','Dimensions',{'y',1,leng_n},'Datatype','single');
nccreate('MCA_U.nc','U','Dimensions',{'x','y'},'Datatype','single');
ncwrite('MCA_U.nc','U',U);
ncwrite('MCA_U.nc','m',m);
ncwrite('MCA_U.nc','n',n);
ncwriteatt('MCA_U.nc', 'U', 'long_name', 'matrix U');
ncwriteatt('MCA_U.nc', 'U', 'units', '-');
ncwriteatt('MCA_U.nc', 'm', 'long_name','rows');
ncwriteatt('MCA_U.nc', 'm', 'units','-');
ncwriteatt('MCA_U.nc', 'n', 'long_name','columns');
ncwriteatt('MCA_U.nc', 'n', 'units','-');

% Creating NetCDF file for S-matrix:
nccreate('MCA_S.nc','m','Dimensions',{'x',1,leng_n});
nccreate('MCA_S.nc','n','Dimensions',{'y',1,leng_n});
nccreate('MCA_S.nc','S','Dimensions',{'x','y'});
ncwrite('MCA_S.nc','S',S);
ncwrite('MCA_S.nc','m',n);
ncwrite('MCA_S.nc','n',n);
ncwriteatt('MCA_S.nc', 'S', 'long_name', 'matrix S - matran duong cheo');
ncwriteatt('MCA_S.nc', 'S', 'units', '-');
ncwriteatt('MCA_S.nc', 'm', 'long_name','rows');
ncwriteatt('MCA_S.nc', 'm', 'units','-');
ncwriteatt('MCA_S.nc', 'n', 'long_name','columns');
ncwriteatt('MCA_S.nc', 'n', 'units','-');

% Creating NetCDF file for V-matrix (but not VT):
nccreate('MCA_V.nc','m','Dimensions',{'x',1,leng_n},'Datatype','single','Format','classic');
nccreate('MCA_V.nc','n','Dimensions',{'y',1,leng_n},'Datatype','single','Format','classic');
nccreate('MCA_V.nc','V','Dimensions',{'x','y'},'Datatype','single','Format','classic');
ncwrite('MCA_V.nc','V',V);
ncwrite('MCA_V.nc','n',n);
ncwrite('MCA_V.nc','m',n);
ncwriteatt('MCA_V.nc', 'V', 'long_name', 'matrix V');
ncwriteatt('MCA_V.nc', 'V', 'units', '-');
ncwriteatt('MCA_V.nc', 'm', 'long_name','rows');
ncwriteatt('MCA_V.nc', 'm', 'units','-');
ncwriteatt('MCA_V.nc', 'n', 'long_name','columns');
ncwriteatt('MCA_V.nc', 'n', 'units','-');

% End

