⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ffpica.m

📁 Fast Fixed-Point Independent Component Analysis
💻 M
字号:
%function ffpICAout27=ffpICAnalysis(finalout1327,max_iteration,epsilon)

%Fast Fixed-Point Independent Component Analysis

[num_IC,num_sample]=size(finalout1327);
max_iteration=100;
epsilon=0.0001;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%第一步:零均值化(whitening)
tempaverage=mean(finalout1327')';
finaloutzeroaverage1327=finalout1327-tempaverage*ones(1,size(finalout1327,2));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%第二步:球化(sphering)
covariancematrix1313=cov(finaloutzeroaverage1327');
%con(X),where if X is a matrices,each row of which is an observation and each column a variable 
%注意:这个命令最后除的是observation数减一。
[eigenvectors13,eigenvaluesdiag13]=eig(covariancematrix1313);%eigenvectors13的每一列为一个eigenvector
whitening_matrix=inv(sqrt(eigenvaluesdiag13))*eigenvectors13';
whitened_finaloutzeroaverage1327=whitening_matrix*finaloutzeroaverage1327;%whitened(or sphered)signals

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%第三步:calculate the ICA using the fixed point Algorithm
B=zeros(num_IC);
for ii=1:num_IC
    w=rand(num_IC,1)-0.5;%Initialize the weight vector
    %The rand function generates arrays of random numbers whose elements are uniformly distributed in the interval (0,1). 
    w=w-B*B'*w;%To ensure that different independent components are estimated each time.
    w=w/norm(w);
    w_old=zeros(size(w));%size(w)返回矩阵w的行和列。
    for jj=1:max_iteration
        w=w-B*B'*w;
        w=w/norm(w);
        if norm(w-w_old) < epsilon | norm(w+w_old) < epsilon
            B(:,ii)=w;
            W(ii,:)=w'*whitening_matrix;
            break;
        end
        %Let w(j)=E[v(w'(j-1)v)^3]-3w(j-1)
        w_old=w;
        u=whitened_finaloutzeroaverage1327'*w;
        w=(whitened_finaloutzeroaverage1327*(u.^3))/num_sample-3*w;
    end
end
ffpICAout27=W*finalout1327;

⌨️ 快捷键说明

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