一、功能

产生拉普拉斯分布的随机数。

二、方法简介

1、产生随机变量的组合法

将分布函数\(F(x)\)分解为若干个较为简单的子分布函数的线性组合

\[F(x)=\sum_{i=1}^{K}p_{i}F_{i}(x)

\]

其中 $ p_{i}> 0 \ (\forall i) $ ,且 $ \sum_{i=1}^{K}p_{i}=1 $ ,\(F(x)\)是分布函数。

定理若随机变量\(\xi \sim s\)离散分布\(\left \{ p_{i} \right \}\),即\(P(\xi =i)=p_{i}\),并且\(z \sim F_{\xi }(x)\),取\(z=x\),则\(z \sim F(x) = \sum_{i=1}^{K}p_{i}F_{i}(x)\)

证明\(z\)的分布函数为

\[P(z \leqslant t) = P((z \leqslant t) \cap \bigcup_{i=1}^{K}( \xi = i)) \\

= \sum_{i=1}^{K}P(z \leqslant t, \xi =i) \\

= \sum_{i=1}^{K}P(\xi = i)P(z \leqslant t \mid \xi =i) \\

= \sum_{i=1}^{K}p_{i}F_{i}(t)=F(t)

\]

定理证毕。

根据此定理,我们给出产生随机数的组合算法如下:

产生一个正随机数\(\xi\),使得\(P(\xi = i) = p_{i} \ (i = 1,2,...,K)\);

在\(\xi = i\)时,产生具有分布函数\(F_{i}(x)\)的随机变量\(x\)。

该算法中首先以概率\(p_{i}\)选择子分布函数\(F_{i}(x)\),然后取\(F_{i}(x)\)的随机数作为\(F(x)\)的随机数。

2、产生拉普拉斯分布随机数的方法

拉普拉斯分布的概率密度函数为

\[f(x) = \frac{1}{2\beta }e^{-\frac{\left | x \right |}{\beta }}

\]

Laplace分布的均值为0,方差为\(2\beta ^{2}\)。拉普拉斯分布也称为双指数分布。

根据上述的组合算法,产生拉普拉斯分布随机数的方法为:

产生均匀分布的随机数\(u_{1}\)和\(u_{2}\),即\(u_{1},u_{2} \sim U(0,1)\);

计算\(x = \left\{\begin{matrix}

-\beta \ ln(1 - u_{1}) & u_{1} \leqslant 0.5 \\

\beta \ ln(u_{2}) & u_{2} > 0.5

\end{matrix}\right.\)

三、使用说明

使用C语言实现产生拉普拉斯分布随机数的方法:

#include "math.h"

#include "uniform.c"

double laplace(double beta, long int *s)

{

u1 = uniform(0.0, 1.0, s);

u2 = uniform(0.0, 1.0, s);

if(u1 <= 0.5)

x = -beta * log(1.0 - u2);

else

x = beta * log(u2);

return(x);

}

uniform.c文件参见均匀分布的随机数

matlab中表示拉普拉斯分布_拉普拉斯分布的随机数相关推荐

  1. matlab stem 属性,matlab中stem函数用法_常见问题解析

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  2. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  3. matlab中的:的优先级_内容早期设计:内容优先

    matlab中的:的优先级 By Simone Ehrlich, Content Strategy Manager 由 西蒙·埃利希 ,内容策略经理 Words are cheap. Cheaper ...

  4. matlab中结束脚本运行_疫情当前,生活向前 | MATLAB 一直 Online 等你

    疫情当前,生活向前,希望如期而至的不止是春天,还有疫情过后平安而充实的你 ! MATLAB 连夜帮你整理了我们所有网上的学习资源,为了注定不平凡的你. ◆  ◆  ◆   三大工具,在家开学也不怕[1 ...

  5. matlab中单独存图_[转载]matlab中保存图片的方法

    matlab中保存图片的方法 一.一种是出来图形窗口后手动保存(这儿又可以分两种): 1 直接从菜单保存,有fig,eps,jpeg,gif,png,bmp等格式. 2 edit------〉copy ...

  6. 如何在matlab中建立水箱模型_在MATLAB中实现水箱液位控制系统的设计

    在 MATLAB 中实现水箱液位控制系统的设计 [摘要] 本论文的目的是设计双容水箱液位串级控制系统. 在设计中充分利 用计算机技术, 自动控制技术, 以实现对水箱液位的串级控制. 首先对被控对象 的 ...

  7. 拉普拉斯变换_拉普拉斯变换——奇妙的数学

    无奈学不会工程数学中的拉普拉斯变换,没办法去感知他的存在形式,在YOUTOBE上看到一个讲解拉普拉斯变换的视频,好像懂了些,分享给同样迷茫的小伙伴,下载的时候是有字幕的,发到知乎上就没字幕了,英文好的 ...

  8. 拉普拉斯变换_拉普拉斯变化(s变换)定义与性质

    <工程控制论>第二章--拉普拉斯变化方法章节导言中说:"For linear differential equations with constant coefficients ...

  9. matlab中的mkdir函数_科学网—Matlab中计算函数运行时间的三种方法及判断新建文件夹 - 张伟的博文...

    (一)运行时间 1.tic和toc组合 计算daotic和toc之间那专段程序之间的属运行时间,它的经典格式为 : tic 函数 toc 复制函数代码,当代码遇到tic时Matlab自动开始计时,运行 ...

最新文章

  1. 谷歌花4亿英镑下注AI开始有回报 DeepMind创收了
  2. 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)
  3. STL库容器vector at函数
  4. Tree UVALive - 8212
  5. 聚烷撑乙二醇(数学+期望)
  6. CSS:盒子模型和清除float浮动的三种常用方法
  7. css 旋转 animation动画
  8. CoreAnimation-CALayer简述
  9. solve stiffness matrix in matlab
  10. 机器学习之监督学习(四)——贝叶斯分类器
  11. Okhttp之CallServerInterceptor简单分析
  12. BZOJ 1055 [HAOI2008]玩具取名 DP
  13. sqlserver企业版秘钥_SqlServer2008到期升级企业版 密钥+图解
  14. 空间解析几何 | 空间曲线的切向量与曲面的法向量
  15. easy touch5.0.17的安装与使用
  16. 工厂模式及在项目中的应用
  17. 英语老师超强整理:18条小学英语语法快速记忆口诀,英语成绩次次100!
  18. setdbprefs matlab,matlab数据导入与导出
  19. no matching provisioning profile found
  20. uv视差检测障碍物_社区组成–视差效果,节拍检测,精美游戏和艺术研究

热门文章

  1. python有道云笔记_一键导出「有道云笔记」所有笔记
  2. Open3D法线双边滤波, 利用法向信息提高点云滤波效果
  3. WaWaYaYa儿童教育系列软件全集 76CD 下载
  4. 随身WIFI设置APN(不能开ADB的中星微)
  5. 《秘密》卷一:秘密-秘密的发现
  6. 个人C语言的一次综合运用程序
  7. X61 U盘安装系统
  8. SUN服务器可能遇到得问题总结(一)
  9. Couldn't find an AF_INET address for
  10. oracle 游标(oracle游标查询)