在近似熵(一)中,记录了a)的方法使用,本次记录将介绍 b)的方法:
b)EntropyHub中ApEn计算:
准备工作:
此方法需要先下载EntropyHub工具包:
链接如下:https://github.com/MattWillFlood/EntropyHub/releases/tag/v2.0
下载后解压,找到EntropyHub-Matlab,打开后,双击里面的EntropyHub_v2.0.0进行安装;
在matlab命令行窗口,输入help EntropyHub 回车,可查看如下图所示,表示安装成功;
注:在上篇记录中,使用approximateEntropy函数,m默认的值为2,而在ApEn函数中m值默认的是0,1,2,三个数值分别对应的近似熵apen的值,所以我们计算出来的结果是三列值;
% ApEn 函数默认的 m=0,1,2;r = 0.2*SD(``Sig``);
clc;clear;close all;
a = load('EEG111802.mat'); % 加载数据
data = a.EEG.data; % 提取数据data
data = data(1:32,:,1); % 取1到32通道的一个trial数据
channels = size(data,1); % 通道数
% 初始化
apen01 = zeros(channels,3);
% 计算近似熵
for i = 1:channels
apen01(i,:) = ApEn(data(i,:));
end
% 简单画图
figure;
bar(apen01(:,3)); % 画第三列的apen值,也即m=2时的值
xlabel('通道编号','FontSize',15);
ylabel('apen数值','FontSize',15);
title('apen(m=2)','FontSize',20);
对比approximateEntropy函数和ApEn函数,可以发现,结果几乎是相同的,有时会差个0.0001,需要进行近似熵计算时,选择其中一种就可以;
补充:
对于EntropyHub工具包,里面包含很多关于熵值计算的函数:
网址:https://gitcode.com/gh_mirrors/en/EntropyHub/overview,有相关的介绍,
下面是,在命令行窗口,输入help EntropyHub回车,里面的一些截图:
熵的种类比较多,根据自己的实验设计,相关的文献支持,选择所需的熵函数计算实验结果。
基础熵
交叉熵
双维度熵
多尺度熵
多尺度交叉熵