資源簡介
CCA 特征融合 降維 matlab程序實現 多元統計應用
代碼片段和文件信息
function?[?SolVecs?]?=?CCA_zq?(?X??M?ClassNum?)
%X????????---訓練樣本特征向量(列向量),把每個樣本的兩組特征向量,按照特征向量的維數由小到大首尾相連。
%M????????---存儲兩組特征向量維數的數組(列向量)
%ClassNum?---類別數
%SolVecs??---求得的近似解向量
%Author???---陸鳳娟、周強(本程序是在陸鳳娟師姐程序基礎上直接截取添加所得)?南京理工大學603教研室?moxibingdao@qq.com
%?%以下為添加改動部分
pcafeature=X(1:M(1):);
TrainImage1=pcafeature;
otherfeature=X(1+M(1):M(1)+M(2):);
TrainImage2=otherfeature;
cn=ClassNum;
train_NUM=size(X2)/ClassNum;
N=(train_NUM)*cn;
vec_dim1=M(1);
vec_dim2=M(2);
%?%以上為添加改動部分
disp(‘計算Sxx...‘);
%求Swx
Sxx?=?zeros(vec_dim1vec_dim1);
I?=?eye(vec_dim1);
for?i?=1:cn
????within_xx?=?zeros(vec_dim1vec_dim1);
%????temp?=?TrainImage1(:(i-1)*train_NUM?+?1:i*train_NUM?);
????for?j=1:train_NUM
%?????????x?=?TrainImage1(:(i-1)*train_NUM?+?j)?-?mean2(TrainImage1(:(i-1)*train_NUM?+?1:i*train_NUM?));
????????x?=?TrainImage1(:(i-1)*train_NUM?+?j)?-?mean(TrainImage12);%mean(temp2);
????????within_xx?=?within_xx?+?x*x‘;
????end;
????Sxx?=?Sxx?+?within_xx;
end;
Sxx?=?Sxx?;
disp(‘計算Syy...‘);
%求Syy
Syy?=?zeros(vec_dim2vec_dim2);
I?=?eye(vec_dim2);
for?i?=1:cn
????within_yy?=??zeros(vec_dim2vec_dim2);
%?????temp?=?TrainImage2(:(i-1)*train_NUM?+?1:i*train_NUM?);
????for?j=1:train_NUM
????????y?=?TrainImage2(:(i-1)*train_NUM?+?j)?-?mean(TrainImage22);%?mean(temp2);
????????within_yy?=?within_yy?+?y*y‘;
????end;
????Syy?=?Syy?+?within_yy;
end;
Syy?=?Syy;
disp(
- 上一篇:語音共振峰檢測的MATLAB程序
- 下一篇:HHT變換的三種方法 Matlab
評論
共有 條評論