资源简介
ICA原理及matlab实现
代码片段和文件信息
function Z=ICA(X)
%-----------去均值---------
[MT] = size(X); %获取输入矩阵的行/列数,行数为观测数据的数目,列数为采样点数
average= mean(X‘)‘; %均值
for i=1:M
X(i:)=X(i:)-average(i)*ones(1T);
end
%---------白化/球化------
Cx = cov(X‘1); %计算协方差矩阵Cx
[eigvectoreigvalue] = eig(Cx); %计算Cx的特征值和特征向量
W=eigvalue^(-1/2)*eigvector‘; %白化矩阵
Z=W*X; %正交矩阵
%----------迭代-------
Maxcount=10000; %最大迭代次数
Critical=0.00001; %判断是否收敛
m=M; %需要估计的分量的个数
W=rand(m);
for n=1:m
WP=W(:n); %初始权矢量(任意)
% Y=WP‘*Z;
% G=Y.^3;%G为非线性函数,可取y^3等
% GG=3*Y.^2; %G的导数
count=0;
LastWP=zeros(m1);
W(:n)=W(:n)/norm(W(:n));
while abs(WP-LastWP) & abs(WP+LastWP)>Critical
count=count+1; %迭代次数
LastWP=WP; %上次迭代的值
% WP=1/T*Z*((LastWP‘*Z).^3)‘-3*LastWP;
for i=1:m
WP(i)=mean(Z(i:).*(tanh((LastWP)‘*Z)))-(mean(1-(tanh((LastWP))‘*Z).^2)).*LastWP(i);
end
WPP=zeros(m1);
for j=1:n-1
WPP=WPP+(WP‘*W(:j))*W(:j);
end
WP=WP-WPP;
WP=WP/(norm(WP));
if count==Maxcount
fprintf(‘未找到相应的信号‘);
return;
end
end
W(:n)=WP;
end
Z=W‘*Z;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1387 2014-05-29 11:11 ICA\ICA.m
文件 909 2014-05-29 11:09 ICA\TEST_ICA.m
目录 0 2014-05-29 11:20 ICA
----------- --------- ---------- ----- ----
2296 3
- 上一篇:基于形态学的权重自适应图像去噪.zip
- 下一篇:故障分类svm代码
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
川公网安备 51152502000135号
评论
共有 条评论