模糊熵FE,MATLAB可运行代码

近似熵样本熵排列熵,小鱼🐟也有相关可运行的matlab代码以及其原理和算法提供哦,大家点击即可找到哦。

模糊熵原理:

        为解决样本熵估算值不准确问题,于 2007 年提被出。借用模糊函数的理论来度量两个向量的相似程度。

FE算法:       

        以下内容如有不对之处,望大家在评论区里告诉小鱼🐟哦,谢谢大家啦!!

        step1:x={x(1),x(2),…,x(N)},确定维数m

        step2:X1(n)={x(n),x(n+1),…,x(n+m-1)},n=1,2,…,N-m+1

        step3:x0(n)=X1(n)的均值

        step4:X(n)=X1(n)-x0(n)

        step5:d[X(n),X(j)]=max(|X(n+k)-X(j+k)|),n不等于j,k=0.1,…,m-1

        step6:dm(n,j)=exp(-(d(n,j)/r).^s),s是边界梯度,r是边界宽度

        step7:Θ1=dm的均值

        step8:m=m+1,重复步骤step2~step7,得到Θ2

        step9:FE=lnΘ1-lnΘ2

MATLAB代码:

%%  %%%%清除历史记录%%%%
clc,clear,close all;
%%  %%%%仿真信号设置%%%%
fs=200;T=1/fs;time=1;
t=0:T:time-T;
len=length(t);
x=2*sin(60*pi*t).*(1+0.5*sin(2*pi*t));
[fai5]=Fe(20,x,len);
[fai6]=Fe(21,x,len);
FE=log(fai5)-log(fai6);
function [fai]=Fe(m,x,len)
    s=4;r=0.11;%%模糊函数边界的梯度和宽度(该值,小鱼也不大清楚,需要加强相关理论)
    i=0:m-1;
    for ii=1:len-m+1
        x1(ii,:)=x(ii+i);
        x0(ii)=mean(x);
        X(ii,:)=x1(ii,:)-x0(ii);
    end
    n=1:len-m;
    j=1:len-m;
    k=0:m-1;
    for nn=n
        for jj=j
            if nn==jj
                continue;
            end
            d(nn,jj)=max((X(nn,:)-X(jj,:)));
            dm(nn,jj)=exp(-(d(nn,jj)/r).^s);
        end
    end
    fai=mean(mean(dm));
end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值