查看: 199|回复: 3|关注: 0

[已答复] vmd的能量熵

[复制链接]

新手

12 麦片

财富积分


050


7

主题

8

帖子

0

最佳答案
发表于 2020-6-1 15:16:24 | 显示全部楼层 |阅读模式
本帖最后由 羽翼日丰 于 2016-1-13 15:26 编辑


正在学习求vmd的能量熵
公式是

                               
登录/注册后可看大图

其中:

                               
登录/注册后可看大图
,为第i个能量占总能量的比值,

                               
登录/注册后可看大图


而能量的公式是

                               
登录/注册后可看大图



,但是具体该怎么用matlab实现呢?求指导

回复主题 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


3

主题

8

帖子

0

最佳答案
发表于 2020-6-2 16:32:49 | 显示全部楼层
我也在求能量熵,查到的是
%%计算各PF分量的能量谱%%
for i=1:n
        EPF(i) = sum(PF(:,1).^2,2));%求取各个IMF分量的能量
end

disp(['所有PF分量的能量'])
disp(EPF(1:n))

%%能量熵%%
E = sum(EPF);   %所有IMF分量的能量和
for j=1:n
        p(j)=EPF(j)/E; %各个IMF分量能量占总能量的占比
        HE(j)=-sum(p(j).*log(p(j)));
end
disp('PF分量的能量熵=%.4f');
disp(HE(1:n));
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


0

主题

3

帖子

0

最佳答案
发表于 2020-6-25 14:55:15 | 显示全部楼层
bb666 发表于 2020-6-2 16:32
我也在求能量熵,查到的是
%%计算各PF分量的能量谱%%
for i=1:n

程序HE(j)=-sum(p(j).*log(p(j)));
感觉有问题
等价于HE(j)=-p(j).*log(p(j));
并没有体现sum
改为HE=-sum(p(j).*log(p(j)));
感觉符合公式
回复此楼 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


3

主题

8

帖子

0

最佳答案
发表于 2020-6-26 15:32:53 | 显示全部楼层
对,是这样的, 我当时想的是把所有HE(j)加起来的总和也是HE的值
回复此楼 已获打赏: 0 积分

举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表