问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用MATLAB生成高斯随机变量及其概率密度函数估计

创作时间:
作者:
@小白创作中心

使用MATLAB生成高斯随机变量及其概率密度函数估计

引用
CSDN
1.
https://m.blog.csdn.net/weixin_45333185/article/details/142534763

在通信系统仿真和信号处理中,高斯分布(正态分布)是一个非常重要的概率分布模型。本文将介绍如何使用MATLAB生成服从高斯分布的随机变量,并通过直方图估计其概率密度函数,最后与理论上的概率密度函数进行对比验证。

一、高斯分布的概率密度函数

高斯分布,也称为正态分布,是一种在自然界和社会科学中广泛存在的连续概率分布。均值为μ、标准差为σ的高斯分布的概率密度函数为:

$$
f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$

其中,μ是分布的均值,σ是标准差,决定了分布的形状。这个函数描述了随机变量取不同值的概率密度。

二、MATLAB仿真代码

下面的MATLAB代码演示了如何生成服从特定高斯分布的随机变量,并估计其概率密度函数:

clc
close all

% 设置高斯分布的参数
mu = 5;                     % 均值
sigma = 2;                  % 标准差
N = 10000;                  % 生成的随机变量数量

% 生成高斯随机变量
x = sigma * randn(N, 1) + mu;

% 绘制直方图以估计概率密度函数
figure()
histogram(x, 'Normalization', 'pdf')  % 'Normalization'设置为'pdf'表示绘制概率密度函数估计值

% 计算理论上的概率密度函数值
y = -5:0.1:15;
f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));

% 在图上叠加理论概率密度函数曲线
hold on
plot(y, f, 'Color', '#D95319', 'LineWidth', 1.5)

% 添加标题和图例
title('高斯分布的概率密度')
legend('概率密度函数的估计值', '概率密度函数的理论值')

三、仿真结果

运行上述代码后,可以得到如下仿真结果:

从图中可以看出,通过直方图估计出的概率密度函数(蓝色柱状图)与理论上的概率密度函数(橙色曲线)非常吻合,验证了估计方法的正确性。

四、备注

需要注意的是,histogram函数是在MATLAB R2014b版本中引入的。对于R2014a及更早的版本,可以使用hist函数来实现类似的功能,但需要对代码进行适当的修改。后续文章将介绍如何使用hist函数来估计概率密度函数。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号