matlab中表示拉普拉斯分布_拉普拉斯分布的随机数[通俗易懂]
产生拉普拉斯分布的随机数。
二、方法简介
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文件参见均匀分布的随机数
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/219609.html原文链接:https://javaforall.cn
相关文章
- matlab求两向量夹角_MATLAB基础练习(一)
- matlab 求矩阵秩,用MATLAB编程求矩阵的秩
- 通过 MATLAB 处理大数据[通俗易懂]
- Matlab fitrsvm自带支持向量回归[通俗易懂]
- matlab激光雷达三角测距,三角测距激光雷达原理[通俗易懂]
- OFDM调制matlab仿真详细代码
- matlab矩阵除法「建议收藏」
- MATLAB绘制折线图和散点图[通俗易懂]
- 神经网络学习笔记1——BP神经网络原理到编程实现(matlab,python)[通俗易懂]
- MATLAB好玩的代码_Matlab代码
- Fill my holes_imfilter函数matlab
- matlab保存所有图,Matlab中图片保存的5种方法
- Matlab读取txt数据的实用方法[通俗易懂]
- matlab误差条形图_excel柱状图添加标准误差线
- Matlab函数定义_matlab子函数
- 【MATLAB】matlab 文档使用 ( 文档查询 | 文档层次 | 自带搜索工具 | 帮助命令 | 学习导引 )
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
- 【数字信号处理】卷积编程实现 ( 卷积计算原理 | 卷积公式计算 | 使用 matlab 计算卷积 | 使用 C 语言实现卷积计算 )
- 科学计算工具软件MATLAB 2022b中文版下载安装,MATLAB软件下载