Если я оцениваю энтропию вектора стандартных нормальных случайных величин, используя функцию Matlab entropy()
, я получаю ответ где-то в области 4, тогда как actual entropy должен быть 0.5 * log(2*pi*e*sigma^2)
, который равен приблизительно равный 1,4.Matlab 'entropy()' on Normal RVs
Кто-нибудь знает, откуда происходит несоответствие?
Примечание: Для того, чтобы сэкономить время здесь код Matlab
for i = 1:1000
X(i) = randn();
end
'The entropy of X is'
entropy(X)
Вы можете использовать 'X = randn (1000,1);' но: "энтропия использует 2 бункера в IMHIST для логических массивов и 256 ящиков для uint8, double или uint16 массивов." – chappjc
@Masi 256 часть не связана с генерацией случайных чисел. См. Второй абзац ответа horchler. – chappjc
@chappjc Я сделал и поэкспериментировал связанный ответ здесь http://stackoverflow.com/a/16529739/54964 –