楼主: xiarizhongnian1
1815 0

[问答] 独立成分分析中的信号源数MDL matlab求解 [推广有奖]

  • 0关注
  • 0粉丝

已卖:51份资源

本科生

19%

还不是VIP/贵宾

-

威望
0
论坛币
98 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1559 点
帖子
78
精华
0
在线时间
14 小时
注册时间
2017-10-23
最后登录
2019-3-26

楼主
xiarizhongnian1 发表于 2019-3-2 15:56:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求问 为什么做出来不对呢,感觉这个程序没什么问题,用的是MDL方法来估计信号源数,在进行ICA分析,跪求大神解答
function EVA=EVA(X)
N=size(X,2);
Rxx=X*X'/N;
[EV,D] = eig(Rxx);          %特征值分解(D是特征值对角阵,EV是特征向量阵)
EVA = diag(D)';             %提取特征值,行排列 (diag把主对角线上的数据取出写成列向量的形式)
[EVA,I] = sort(EVA);        %特征值从小到大排列(sort从小到大排列,I保存原排序位置)
EVA = fliplr(EVA);          %特征值从大到小排列(fliplr函数表示左右翻转)
EV = fliplr(EV(:,I));       %特征向量与特征值排序一一对应
end




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%信源数估计算法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%M      阵元数 s.M
%EVA    特征值
%T      快拍数/采样数
function Ke = MDL(X_processed, X)
T=size(X,2);    %T是X的列数
M=size(X,1);    %M是X的行数
   MDL = zeros(1,M);
   for k = 0:M-1
       temp = X_processed(k+1:M);                           %提取释然函数需要的特征值
       Tsph = mean(temp)/((prod(temp))^(1/(M-k)));          %释然函数
       MDL(k+1) = T*(M-k)*log(Tsph)+2*k*(2*M-k);     %MDL算法
   end
   [~,b] = min(MDL);
   Ke = b-1;

end


clear
clc
A= xlsread('d00.xlsx');
X=A';

Ke = MDL(EVA(X), X);


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 20:58