Matlabで確率密度分布関数のグラフを描く方法
確率密度分布を MATLAB でプロットするには、プロットする確率密度関数の数学的表現またはデータを確認する必要があります。
確率密度分布図を描く一般的な手法を以下に示します。
- 確率密度関数を定義する
- 既に数学的な表現があれば、単に、与えられた入力値の確率密度値を計算する関数として定義することができます。例えば、「pdf_func」という名前の関数定義。
- 離散的なデータがある場合は、曲線をフィッティングしたり平滑化関数を使用したりすることで、確率密度関数を近似することができます。
- 確率変数を表す値のセットを生成する
- randまたはrandn関数を用いて、乱数の配列を生成し、それらは確率変数の観察値とみなされます。
- 生成する乱数は、確率密度関数の定義域と値域に一致させる必要がある。
- 確率密度関数を計算する
- 生成された各乱数の値に対し、定義された確率密度関数より、その確率密度値を計算する。この時、先に定義した「pdf_func」関数を使用する。
- 計算で得られた確率密度値をベクトルで表現する。
- 確率密度分布のグラフを書く
- プロット関数を使い、生成された乱数の値を x 軸にして、確率密度値を y 軸にしてプロットする。
- ヒストグラム関数はヒストグラムを描画するために使用でき、その後ライン関数は確率密度関数の曲線をヒストグラム上にプロットします。
例を以下に示します。
% 1. 定义概率密度函数
mu = 0; % 均值
sigma = 1; % 标准差
pdf_func = @(x) normpdf(x, mu, sigma); % 正态分布的概率密度函数
% 2. 生成一组代表随机变量的值
num_samples = 1000; % 随机变量的数量
x = randn(num_samples, 1); % 从标准正态分布中生成随机数
% 3. 计算概率密度值
pdf_values = pdf_func(x);
% 4. 绘制概率密度分布图
histogram(x, 'Normalization', 'pdf'); % 绘制直方图
hold on;
x_values = linspace(min(x), max(x), 100); % 创建用于绘制概率密度函数的x轴值
y_values = pdf_func(x_values); % 计算概率密度函数的值
plot(x_values, y_values, 'r', 'LineWidth', 2); % 绘制概率密度函数的曲线
hold off;
注意:これは単なる例であり、実際の確率密度関数のプロットは、適切な確率密度関数の選択やカーブの色と線の太さの調整など、状況に応じて調整する必要がある可能性があります。