I am trying to plot for binary entropy

9 次查看(过去 30 天)
I am trying to plot binary entropy and the value of entropy is coming as NaN but, it shouldn't be NaN, it should be 0.
Here's my code:
%Question No 1
%H(p) versus probability of binary logic 1 (p)
p= 0:0.5:1
h= p.*(abs(log2(p)))+ (1-p).*(abs(log(1-p)))
plot(p,h);
  1 个评论
yair mazal
yair mazal 2021-3-17
Obviously you also miss the "2" in the second call to the log function. You're using log in the base of 10.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2018-1-31
If your equations are correct then nan is the correct answer for p values of 0 and p values of 1.
Suppose p = 0. Then log2(p) is -infinity. p.*log2(p) is 0 * -infinity which is nan.
For p=1 something similar takes place.

类别

Help CenterFile Exchange 中查找有关 Log Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by