2012-11-21 121 views
0

我的功能叫做DicePlot,模擬滾動10個骰子5000次。在該函數中,它計算每個卷的10個骰子的值的總和,其將是1×5000向量,並且以直方圖中的每個分檔應該表示的相同方式選擇分箱的邊緣來繪製相對頻率直方圖骰子總和的可能值。如何繪製直方圖上的概率密度函數?

計算骰子值的1 x 5000總和的平均值和標準偏差,並繪製在相對頻率直方圖頂部的正態分佈(計算出的平均值和標準差)的概率密度函數。

我已經完成了一切,但我很困惑如何繪製概率密度函數。任何幫助表示讚賞。謝謝!

供參考的圖應該看起來像! enter image description here

function DicePlot (throw_num, die_num) 

throw_num=5000 
die_num= 10 

    throws = rand (throw_num, die_num); 

    throws = ceil (6 * throws); 

    for i = die_num : die_num*6 
    j = find (score == i); 
    y(i-die_num+1) = length (j)/throw_num; 
    end 

    bar (x, y) 

    xlabel ('Score') 
    ylabel ('Estimated Probability') 


    score_ave = sum (score(1:throw_num))/throw_num; 
    score_var = var (score); 



    return 
end 

回答

2

我已經添加到代碼從我的回答對your previous question在你的直方圖的頂部繪製一個縮放高斯PDF。兩個主要添加如下:1)使用hold onhold off獲取同一圖上的直方圖和繪圖。 2)將normpdf的輸出縮放到合適的大小,以便與直方圖具有相同的比例。

另一件事,我不禁注意到你還沒有將我以前的答案中的建議納入你的功能。這有什麼特別的原因?除非我能看到證據表明你已將過去的建議融入工作中,否則我當然不會對你的問題+1。現在你走了,讓我聽起來像是我的一位高中老師! :-)

%#Define the parameters 
NumDice = 2; 
NumFace = 6; 
NumRoll = 500; 

%#Generate the rolls and obtain the sum of the rolls 
AllRoll = randi(NumFace, NumRoll, NumDice); 
SumRoll = sum(AllRoll, 2); 

%#Determine the bins for the histogram 
Bins = (NumDice:NumFace * NumDice)'; 

%#Build the histogram 
hist(SumRoll, Bins); 
title(sprintf('Histogram generated from %d rolls of %d %d-sided dice', NumRoll, NumDice, NumFace)); 
xlabel(sprintf('Sum of %d dice', NumDice)); 
ylabel('Count'); 
hold on 

%#Obtain the mean and standard deviation of the data 
Mu = mean(SumRoll); 
Sigma = sqrt(var(SumRoll)); 

%#Obtain the Gaussian function using 4 standard deviations on either side of Mu 
LB = Mu - 4 * Sigma; UB = Mu + 4 * Sigma; 
Partition = (LB:(UB - LB)/100:UB)'; 
GaussianData = normpdf(Partition, Mu, Sigma); 

%#Scale the Gaussian data so the size matches that of the histogram 
GaussianData = NumRoll * GaussianData; 

%Plot the Gaussian data 
plot(Partition, GaussianData, '-r'); 
hold off 

ps的,如果你不知道先驗到柱狀圖應該是高斯(因爲中心極限定理),那麼你可以也使用ksdensity從統計工具箱拿到使用核函數的經驗密度。

相關問題