Bonjour
j'ai des soucie de compréhension de la fonction entropy qui me donne des résultat différent de ce que je calcul

exemple
E=entropy([0.16 0.15 0.01 0.05 0.26 0.11 0.14 0.12]) me donne 3 sous matlab

mais si je fais ca manuellement somme(-pi*log2(pi)) j’obtiens 2.7358
ce qui me rassure c'est qu'un de mes ancien cour dit "
exemple 3 : soit une source discrète à 8 messages a1, a2, a3, a4, a5, a6, a7, a8 avec les
probabilités d’apparition respectives {0.16; 0.15; 0.01; 0.05; 0.26; 0.11; 0.14; 0.12} d’entropie
H(X)=2.7358."

j'ai regarder un peut sous matlab la fonction entropy mais je n'ai pas réussi a comprendre la différence



le cas d'utilisation est le suivant
j'ai un texte avec 30 caractère différent, j'ai extrais un histogramme me donnant un vecteur 'histo' donnant le nombre de chaque caractère [nb'a' nb'b' nb'c' ....nb'z' nb'espace' nb'point' nb'virgule' nb'apostrophe']
ce qui est demandé c'est
"
Calculer l’entropie de cette source en supposant les caractères indépendants. On pourra
utiliser la commande
E=entropy(histo+eps)
"
et la aussi j'ai un ecart car la fonction entropy me donne 0.2108 tandis que mes calcul me donne 4.095 ( et j'ai bien mis des probabilité et non le nombre d’occurrences)

es-ce que quelqu'un pourrais m'aider a comprendre pourquoi il y a une tell différence (ou me dire le cas échéant ou je me suis trompé)