从试验数据绘制概率曲线

时间:2021-04-16 09:19:15

标签: python matplotlib graph statistics

在我的程序中,我进行了 1000 次掷 50 个骰子的试验并计算了香农熵。
我能够以图形方式绘制结果。这里是: enter image description here
但我想要的是绘制这些数据的单个概率曲线(如二项式概率分布曲线)。像 x 轴上的 0 到 6 缩放,最可能的点将获得最高峰值(像这里 2.55 左右是最可能的)。




这是我的程序:

#Entropy in dice
import math
import pylab
import random
import numpy as np
def rollDie():
    """Returns a random int between 1 and 6"""
    return random.choice([1,2,3,4,5,6])
def rollN(roll,trial):
    result = []
    entropy=[]
    
    c=[1,2,3,4,5,6]
    p=[0,0,0,0,0,0]
    
    for a in range(trial):
        
        s=0;P=0
        for i in range(roll):
            x=rollDie()
            result.append(x)
            for j in range(6):
            
                if(j+1==x):
                    p[j]+=1
                    break
            
        
        for k in range(6):
            p[k]=p[k]/roll
            P+=p[k]
            if(p[k]!=0):
                s+=-p[k]*math.log(p[k],2)
            
        entropy.append(s)
        p=np.linspace(0,10,trial)
    pylab.plot(p,entropy,'*')
    print(entropy)
    
rollN(50,1000)    

如果可以,请帮忙。谢谢。

0 个答案:

没有答案