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 + -
显示快捷键?