资源简介
一个实用的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(
- 上一篇:PHD滤波的MATLAB实现
- 下一篇:任意十进制数转换为二进制
相关资源
- 二维对称图像矩阵ICA人脸识别MATLAB源
- 光流场计算 MATLAB 源码 optical flow
- matlab FastICA工具箱111010
- Mathematica_10.1.0_Keygen
- Numerical Methods with MATLAB(NMM1[1].5计算方
-
Matlab Simuli
nk 光通信仿真 - Fast ICA matlab源代码
- fastica工具箱
- fast ICA的Matlab代码
- matlab 实现fastica源代码
- 帝国竞争算法ICA的matlab实现
- fast ica matlab程序
- Duda模式分类Pattern Classification MATLAB 代
- 独立成分分析 ICA的matlab代码实现
- BP Classification 基于matlab神经网络的遥
- Serial Port Communication matlab实现的串口采
- 帝国竞争算法资料
- ICA人脸识别
- 独立分量ICA图像特征提取程序和图片
- 比较分析协作通信三个节点时系统 (
- Numerical Methods using MATLAB 无水印原版
- MIMO-OFDM Wireless Communications with MATLAB
- principles_of_communications
- FastIca盲源分离算法(Matlab编写)
- fastica的matlab实现
- matlab fastica工具箱
- 超强FastICA算法matlab程序+gui操作
- 使用BP神经元网络、ELM分类分类实例(
- Current-Control-of-BLDC-Drive-for-EV-applicati
- 计算室内光强分布情况的代码 (Opt
评论
共有 条评论