信号数据shannon entropy计算
生活随笔
收集整理的這篇文章主要介紹了
信号数据shannon entropy计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import math
import numpy as np
def shannon_entropy(single,k):'''single:1-D信號k: 分多少個bin'''numofx = single.shape[0]maxV = np.max(single)minV = np.min(single)bin = np.linspace(minV,maxV,k+1)bin_numx = [0]*k # 落在每個bin的數據點數目for x in single: # 計算落在每個bin的數據點數目for i in range(k): # 看落在哪個binif x <= bin[i]:bin_numx[i-1] += 1shannon_ent = 0for i in bin_numx:shannon_ent -= (i/numofx) * math.log((i/numofx),2)return shannon_enta = np.array([1,2,3,4,54,6,7,8,99])
b = shannon_entropy(a,2)print(b)
總結
以上是生活随笔為你收集整理的信号数据shannon entropy计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css3实现磨砂效果,CSS3打造磨砂玻
- 下一篇: 【算法】Shannon Entropy决