Я пытался найти энтропию определенного распределения вероятностей в MATLAB.Для p я попытался сделать
E = -sum(p .* log2(p))
и Echeck = entropy(p)
Разве E и Echeck не должны быть одинаковыми?
Справка Matlab по энтропии говорит, что энтропия определяется как -sum (p. * Log2 (p)), где p содержит счетчики гистограмм, возвращенные из imhist. Но также эта энтропия преобразует любой класс, кроме логического, в uint8для вычисления количества гистограмм, поскольку он на самом деле пытается вычислить энтропию изображения в градациях серого и, следовательно, хочет, чтобы значения пикселей были дискретными.Так что я думаю, что неправильно использовать эту функцию для моих целей?Есть ли хорошая альтернатива?