📄 myinfomax.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% out1为出信号,out2解混矩阵,x为观测信号
function [out1,out2]=myinfomax(x);
[row,col] = size(x);
x = x - (mean(x'))'*ones(1,col);
%%%%-----------------------------------------------------------------------
%%%% 参数设置
mu = 0.01; N = col;w0 = rand(row);
%%%%-----------------------------------------------------------------------
w = orth(w0);
dw = w;
for t = 1:N
u(:,t)=w*x(:,t);
temp1 = (exp(-u(:,t))-1)./(exp(-u(:,t))+1);
temp2 = eye(size(w))+(temp1)*u(:,t)';
dw = temp2*w;
w = w+mu*dw;
end
u = w*x;
out1 = u;
out2 = w;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -