资源简介
基于峭度的MATLAB代码程序,可以直接运行,有图
代码片段和文件信息
%基于峭度极大的ICA算法
clear
%模拟数据
a=0:pi/4:100;
b=sin(a);
[mn]=size(b);
c=rand(mn);
data=zeros(2n);
data(1:)=b+c;
data(2:)=0.5*b+2*c;
[MN]=size(data);
%画出数据
for(i=1:M)
subplot(M1i);
plot(data(M:));
end
%去均值
mean1=mean(data2);
X=zeros(MN);
for(i=1:M)
X(i:)=data(i:)-mean1(i1);
end
%whiten
[U1S1V1]=svd(X); %对观测数据进行奇异值分解
P=U1‘*X; %主分量分解
C=P*P‘;
Z=C^(-1/2)*P; %观测数据的白化
%对W赋初值,设置迭代步长
W=eye(MM);
u=0.01; %迭代步长
%算法迭代
W1=zeros(MM);
%step
i=1;
W1(:i)=W(:i);
partial=4*sign(mean((W1(:i)‘*Z).^42)-3)*mean((W1(:i)‘*Z).^3*Z‘2);
W0=zeros(M1);
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
while((norm(W1(:i)-W0))>=0.0001)
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
end
%step
i=2;
W1(:i)=W(:i);
partial=4*sign(mean((W1(:i)‘*Z).^42)-3)*mean((W1(:i)‘*Z).^3*Z‘2);
W0=zeros(N1);
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
while((norm(W1(:i)-W0))>=0.0001)
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
end
%判断是否正交
while(W1(:2)‘*W1(:1)>=0.01)
W1(:i)=W(:i);
partial=4*sign(mean((W1(:i)‘*Z).^42)-3)*mean((W1(:i)‘*Z).^3*Z‘2);
W0=zeros(N1);
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
while((norm(W1(:i)-W0))>=0.0001)
W0=W1(:i);
W1(:i)=W0+u*partial;
W1(:i)=W1(:i)/norm(W1(:i));
end
end
% W(:i)=W1(:i);
%分离后矩阵
Y=zeros(MN);
Y=W1‘*Z;
%画出分离后的图形
for(i=1:M)
subplot(41i);
plot(Y(i:));
end
subplot(413);
plot(b);
subplot(414);
plot(c);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2015 2009-04-20 17:39 ica2.m
----------- --------- ---------- ----- ----
2015 1
- 上一篇:Simuli
nk电池仿真模型 - 下一篇:明小子(超大字典)多后台 多字段 多表名
相关资源
-
Simuli
nk电池仿真模型 - RLC电路matlab仿真m文件
- matlab矩阵运算
- 最大匹配matlab程序
- 凸轮仿真加工MATLAB程序
- LCE OCE GCEmatlab代码用于图像分割精度评
- 连续粒子群算法的matlab程序
- 窗口傅里叶正反变换matlab程序
- 改进的Bradley二值化matlab程序
- 改进的bernsen二值化算法
- matlab_webrtc_fullaec.m
- 边缘检测的matlab实现代码
- A*算法最短路径万能通用matlab代码
- 蚁群算法最短路径万能matlab源代码
- MATLAB蚁群算法ACA最短路径-注释完整
- 卡尔曼平滑
- matlab强化学习平衡杆代码
- matlab_基于QPSK的ML检测算法
- 模糊综合评判的matlab实现
- 三相全控整流电路matlab仿真
- 带转矩内环的转速、磁链闭环矢量控
- matlab实现LZW码
- matlab 三维 物体 运动 仿真
- 基于MATLAB的GUI图像处理剪裁程序设计
-
单极性SPWMsimuli
nk仿真 - 计算阶乘matlab算法
- 卡尔曼滤波算法的matlab 实现
- matlab中的计时工具timeit.m
- 自己编写的matlab运动模糊盲复原程序
- LFM脉冲压缩matlab程序264292
评论
共有 条评论