Расчет энтропии Шеннона

У меня есть распределение вероятностей, которое определяет вероятность появления n возможные состояния.

Я хотел бы вычислить значение энтропии Шеннона в битах заданного распределения вероятности.

Могу ли я использовать wentropy(x,'shannon') получить значение и, если да, где я могу определить количество возможных состояний системы?

1 ответ

Решение

Поскольку у вас уже есть распределение вероятностей, назовите его p, вы можете сделать следующую формулу для энтропии Шеннона вместо использования wentropy:

H = sum(-(p(p>0).*(log2(p(p>0)))));

Это дает энтропию H в битах.

p должен составить 1.

Другие вопросы по тегам