infomax.m

来自「这是盲信号的代码 都已经通过编译了 做这方面的同仁可以参考一下 我觉得蛮惯用的」· M 代码 · 共 42 行

M
42
字号
function y=infomax(x)
%author lucky zhang
%copyright 2005.6.21


%**** prewhite the data

[N,P]=size(x);
x=baihua(x);


w=eye(2);
afa=0.001;
%********迭代程序**********************
for i=1:300
y=w*x;
y1=y(1,:);
J1=peak(y1);
y2=y(2,:);
J2=peak(y2);
J=[J1,J2];
J=diag(J);
sum=0;
B=fix(P/1000);
for k=1:1000
    D=y(:,(k-1)*B+1:k*B)*y(:,(k-1)*B+1:k*B)'+J*tanh(y(:,(k-1)*B+1:k*B)*y(:,(k-1)*B+1:k*B)');
    D=D/B;
    af=diag(diag(D));
    dw=afa*(af-D)*w;
    w=w+dw;
end
W(:,:,i)=w;
end
y=w*x;
y=y';
temp=repmat(mean(y),[P 1]'); 	y=y-temp;
temp=repmat(std(y,1),[P 1]');	y=y./temp;
[dim,sample]=size(y);
if dim>sample
    y=y';
end

⌨️ 快捷键说明

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