在Matlab中绘制直方图和估计PDF

重点关注点:通过示例,让我们使用Matlab直方图函数估计并绘制随机变量的概率密度函数。

生成具有所需概率分布特性的随机变量在通信系统仿真中至关重要。让我们看看如何生成一个简单的随机变量,估计并绘制概率密度函数然后将其与预期的理论PDF进行匹配。此处考虑正态随机变量进行说明。其他类型的随机变量,如制服,伯努利,二项式,方形,Nakagami-m在下一节中进行了说明。

注: 如果您倾向于使用Python编程,请访问本文

步骤1:创建随机变量

生成给定随机变量的常用基本方法概述如下[1]。对于此演示,我们将考虑具有以下参数的正态随机变量:\亩–平均值和\西格玛 –标准偏差。首先生成一个长度足够(比如100000)的随机分布随机数向量,其中包含以下有效值\亩\西格玛 。有多种方法可以生成此。下面给出了其中一些。

这篇文章是这本书的一部分
Matlab中的无线通信系统(第二版),ISBN:979-8648350779,可从中获得电子书(PDF)格式纸质(硬拷贝)格式.

方法1:使用内置的随机函数(需要统计工具箱)

mu=0;σ=1;%平均值=0,偏差=1L=100000;%随机向量的长度R=随机(“正常”,mu,sigma,L,1);%方法1

方法2:使用randn函数生成具有\mu=0\西格玛= 1

mu=0;σ=1;%平均值=0,偏差=1L=100000;%随机向量的长度R=兰登(L,1)*西格玛+mu;%方法2

方法3:Box-Muller变换[2]方法使用兰特生成均匀分布随机数的函数

mu=0;σ=1;%平均值=0,偏差=1L=100000;%随机向量的长度U1=兰特(L,1);%均匀分布随机数U(0,1)U2=兰特(L,1);%均匀分布随机数U(0,1)Z=sqrt(-2log(U1)).cos(2piU2);%标准正态分布R=Z*sigma+mu;%具有均值和西格玛的正态分布

步骤2:绘制估计的直方图

通常,如果我们有一个从分布中提取的随机数向量,我们可以使用直方图工具来估计PDF。Matlab支持两个内置函数来计算和绘制直方图:

历史记录–在R2006a之前引入
直方图–R2014b中引入

使用哪一个?Matlab的帮助页面指出历史 函数是 推荐由于几个原因,不一致性问题就是其中之一。这个直方图函数是推荐要使用的函数。

估算并绘制归一化的直方图使用推荐'直方图'功能。为了进行验证,覆盖预期分布的理论PDF。使用直方图函数绘制生成的随机数据的估计PDF时,请使用“pdf”的选项“规范化”选项。不要使用“概率”的选项“规范化”选项,因为它与理论PDF曲线不匹配。

直方图(R,‘归一化’,‘df’);%根据生成的数据绘制估计pdfX=-4:0.1:4;%计算理论pdf的x范围fx_theory=pdf(“正常”,X,mu,sigma);%理论正态概率密度坚持;图(X,fx_theory,'r');%绘图计算理论PDF标题(“概率密度函数”);xlabel(“值-x”);伊拉贝尔('pdf-f(x)');轴紧;图例(“模拟”,“理论”);
估计PDF(使用直方图函数)和理论PDF
估计PDF(使用直方图函数)和理论PDF

但是,如果您没有R2014b之前发布的Matlab版本,请使用“历史记录”函数并获取直方图频率计数(如果)和bin-centers(x个). 使用这些数据,使用直方图下的总面积标准化频率计数。绘制此标准化直方图并覆盖所选参数的理论PDF。

%对于那些无法访问“直方图”功能的用户%使用与直方图函数相同的箱子数从hist函数中获取非规范化值箱子数量=50;%适当地选择[f,x]=历史记录(R,数字箱);%使用hist函数并获取非规范化值图形;绘图(x,f/trapz(x,f),'b-*');%根据生成的数据绘制标准化直方图X=-4:0.1:4;%计算理论pdf的x范围fx_theory=pdf(“正常”,X,mu,sigma);%理论正态概率密度坚持;图(X,fx_theory,'r');%绘图计算理论PDF标题(“概率密度函数”);xlabel(“值-x”);伊拉贝尔('pdf-f(x)');轴紧;图例(“模拟”,“理论”);
估计PDF(使用hist函数)和理论PDF
估计PDF(使用hist函数)和理论PDF

第3步:理论PDF:

上面给出的代码片段已经包含了通过使用“pdf”Matlab中的函数。如果您没有访问此函数的权限,可以使用以下公式计算理论PDF

f_X(X)=\frac{1}{\sqrt{2\pi\sigma^2}}exp\left[-\frac{left(X-\mu\right)^2}{2\sigma^2}\right]

下面给出了用于此目的的代码片段。

X=-4:0.1:4;%计算理论pdf的x范围fx_theory=1/sqrt(2*pi*sigma^2)*exp(-0.5*(X-mu))^2./西格玛^2);绘图(X,fx_theory,'k');%绘图计算理论PDF

注: 功能–“随机”“pdf”,需要统计工具箱。

评价此文章:可怜的低于平均水平平均很好非常好(8平均票数:4.63(共5个)

参考文献:

[1]John Mount,“生成随机变量的六种基本方法”,2012年1月20日。Ş
[2]托马斯·D·B·卢克。W.,Leong,P.H.W.和Villasenor,J.D.,2007年。高斯随机数生成器。ACM计算。Surv公司。39,4,第11条(2007年10月),38页DOI=10.1145/1287620.1287622http://doi.acm.org/10.1145/1287620.1287622.Ş

本章主题

随机变量-模拟概率系统
介绍
绘制估计PDF
单变量随机变量
 均匀随机变量
 伯努利随机变量
 二项式随机变量
 指数随机变量
 泊松过程
 高斯随机变量
 齐方随机变量
 非中心齐方随机变量
 Chi分布随机变量
 瑞利随机变量
 Ricean随机变量
 Nakagami-m分布随机变量
中心极限定理——一个证明
生成相关随机变量
 生成两个相关随机变量序列
 利用Cholesky分解生成多个相关随机变量序列
生成相关高斯序列
 谱分解法
 自动后退(AR)模型

作者的书籍

Matlab中的无线通信系统
Matlab中的无线通信系统
第二版(PDF)

可怜的低于平均水平平均很好非常好(169平均票数:3.70(共5个)

使用Python的数字调制
使用Python的数字调制
(PDF电子书)

可怜的低于平均水平平均很好非常好(125平均票数:3.61(共5个)

数字模块使用matlab图书封面
使用Matlab的数字调制
(PDF电子书)

可怜的低于平均水平平均很好非常好(130平均票数:3.68(共5个)

手绘通信工程最佳书籍
信号处理最佳书籍

发表您的宝贵意见!!!