[英]Plotting a gaussian sample against theoretical gaussian curve in Matlab
我正在運行一些關於高斯過程的基本示例。
我想手動生成一個帶有高斯過程樣本的向量,然后是 plot 它們。
首先,我創建一個高斯分布和一個樣本向量s
:
% CLEAR ALL
clear all
close all
% CREATE GAUSSIAN PROCESS
mu = 2
sigma = 1
d = makedist('Normal','mu',mu,'sigma',sigma);
% CREATE SAMPLE OF ABOVE GAUSSIAN PROCESS
s = random(d, [1000, 1]);
然后我 plot 直方圖中的樣本:
% DISPLAY HOW DISTRIBUTION LOOKS LIKE
figure('Name', 'PDF')
title('GAUSSIAN DISTRIBUTION \mu=2 and \sigma=1')
histogram(s,100); hold on;
% DISPLAY HOW DISTRIBUTION SHALL LIKE
gauss_x = -5:0.01:5
gauss_y = ...
(1/(sigma*sqrt(2*pi))) ...
*exp( ...
(-1/2)*((gauss_x-mu)/sigma).^2 ...
)
plot(gauss_x, gauss_y); hold off;
由於面積未歸一化為 1,因此mu=2
和sigma=1
的理論高斯 plot 出現在低得多的比例。
我嘗試使用Normalization
參數對該區域進行規范化:
% NORMALIZE SAMPLE
figure('Name', 'PDF NORMALISED')
title('GAUSSIAN DISTRIBUTION \mu=2 and \sigma=1 NORM.')
histogram(s,100, 'Normalization','probability'); hold on;
plot(gauss_x, gauss_y); hold off;
但是我仍然沒有得到預期的結果,即直方圖與理論曲線一起縮放。
我錯過了什么? 是否與未正確理解Normalization
參數有關,還是我遺漏了與數學高斯概率本身相關的內容?
問題確實是Normalization
的設置。 嘗試:
histogram(s,100, 'Normalization','pdf')
歸一化“pdf”將考慮 bin 的寬度並確保直方圖下方的面積等於 1(因此允許在相同比例下與 pdf 進行比較)。 選項“概率”還沒有考慮面積,只是使直方圖的條形高度加到 1。更多細節可以在 Matlab 的幫助中找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.