基于MATLAB的泊松分布、正态分布与伽玛分布详解(附完整代码与例题)
基于MATLAB的泊松分布、正态分布与伽玛分布详解(附完整代码与例题)
一. 泊松分布
1.1 理论部分
泊松分布是一种离散概率分布,通常用于描述单位时间内随机事件发生的次数。其概率密度函数为:
[ P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!} ]
其中,( k ) 是事件发生的次数,( \lambda ) 是单位时间内事件发生的平均次数。
1.2 MATLAB函数模型
泊松分布的概率密度函数,在MATLAB中可以直接调用:
y = poisspdf(x, lambda);
给定 ( x ) 与 ( \lambda ) 的值,就可以直接求该点的概率密度值。
分布函数(累积概率函数),在MATLAB中可以直接调用:
F = poisscdf(x, lambda);
如果给定分布函数值,反过来求 ( x ),则需要调用逆概率分布函数:
x = poissinv(F, lambda);
MATLAB本身非常适合用来处理向量和矩阵,所以,如果输入的 ( x ) 为一个向量的话,那么输出的 ( y ) 则是 ( x ) 各个点处的概率密度函数值。
1.3 例题
绘制 ( \lambda = 1, 2, 5, 10 ) 时,泊松分布的概率密度函数与概率分布函数曲线图。
MATLAB代码:
x = [0:15]';
% x 为 0~15 之间的整数,注意需要通过 ' 转为列向量
y1 = []; y2 = [];
% 要画两个图像
lam1 = [1, 2, 5, 10];
% lambda 确定了,泊松分布就确定了
for i = 1:length(lam1)
% lam1(i) 代表调用集合 lam1 中的第 i 个元素
y1 = [y1, poisspdf(x, lam1(i))];
y2 = [y2, poisscdf(x, lam1(i))];
end
plot(x, y1), figure;
plot(x, y2)
注意题目要求是画曲线,所以需要将这些点连起来。
泊松概率密度函数图:
泊松分布的概率分布函数图:
二. 正态分布
2.1 理论部分
正态分布的概率密度函数如下:
[ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} ]
其中 ( \mu ) 代表均值,( \sigma^2 ) 代表方差。
2.2 MATLAB函数模型
正态分布的概率密度函数,在MATLAB中可以直接调用:
y = normpdf(x, mu, sigma);
给定 ( x, \mu, \sigma ) 的值,就可以直接求该点的概率密度值。注意函数调用格式中的 ( \sigma ) 使用的是标准差。
分布函数(累积概率函数),在MATLAB中可以直接调用:
F = normcdf(x, mu, sigma);
如果给定分布函数值,反过来求 ( x ),则需要调用逆概率分布函数:
x = norminv(F, mu, sigma);
2.3 例题
分别绘制出 ( (\mu, \sigma) = (-1, 1), (0, 0.1), (0, 1), (0, 10), (1, 1) ) 时,正态分布的概率密度函数与分布函数曲线。
MATLAB代码:
x = [-5:.02:5]';
y1 = [];
y2 = [];
mu1 = [-1, 0, 0, 0, 1];
sig1 = [1, 0.1, 1, 10, 1];
sig1 = sqrt(sig1); % 注意函数调用的是标准差
for i = 1:length(mu1)
% length(mu1) = 5
y1 = [y1, normpdf(x, mu1(i), sig1(i))];
y2 = [y2, normcdf(x, mu1(i), sig1(i))];
end
plot(x, y1), figure;
plot(x, y2)
正态分布的概率密度函数图:
根据对称轴的值,也就是均值的大小可以对应曲线代表的正态分布。方差越大,曲线越胖。
分布函数曲线图:
函数严格单调递增。
三. 伽玛分布
伽玛分布是一种连续概率分布,广泛应用于可靠性分析、排队论等领域。其概率密度函数为:
[ f(x) = \frac{\beta^\alpha}{\Gamma(\alpha)} x^{\alpha-1} e^{-\beta x} ]
其中 ( \alpha ) 是形状参数,( \beta ) 是速率参数,( \Gamma(\alpha) ) 是伽玛函数。
在MATLAB中,伽玛分布的概率密度函数可以直接调用:
y = gampdf(x, a, b);
给定 ( x, a, b ) 的值,就可以直接求该点的概率密度值。
分布函数(累积概率函数),在MATLAB中可以直接调用:
F = gamcdf(x, a, b);
如果给定分布函数值,反过来求 ( x ),则需要调用逆概率分布函数:
x = gaminv(F, a, b);
伽玛分布的参数 ( a ) 和 ( b ) 分别对应形状参数和速率参数。通过调整这两个参数,可以得到不同形状的伽玛分布曲线。