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

📄 myexinfomax.m

📁 扩展的Infomax算法
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  NO.2  extended infomax 算法                        20051109
%%%%  
%%%%  子程序的形式,外部可以调用.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  out1为出信号,out2解混矩阵,x为观测信号
function [out1,out2] = myexinfomax(x);
[row,col] = size(x);
x = x - (mean(x'))'*ones(1,col);
%%%%-------------------------------------------------------------------
%%%%  参数设置
mu = 0.005;N = col;w0 = rand(row);N=col;
%%%%-------------------------------------------------------------------
w = orth(w0);
dw = w;
for t = 1:N    
    u(:,t)=w*x(:,t);
    cs = sech(u(:,t)).^2.*u(:,t).^2-tanh(u(:,t)).*u(:,t);
    temp0 = sign(cs);
    temp0 = 2*temp0-1;
    K = zeros(row,row);
    for i=1:row
        K(i,i) = temp0(i,1);
    end
    temp1 = tanh(u(:,t));
    temp2 = eye(row)+K*temp1*u(:,t)'-u(:,t)*u(:,t)';
    dw = mu*temp2*w;
    w = w+dw;
end
u = w*x;
out1 = u;
out2 = w;

⌨️ 快捷键说明

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