在MATLAB中如何生成已知均值和方差的服从拉普拉斯分布的随机数呢?

问题描述:

在MATLAB中如何生成已知均值和方差的服从拉普拉斯分布的随机数呢?
I need 拉普拉斯的随机数~
1个回答 分类:数学 2014-09-18

问题解答:

我来补答
百度一下和容易得到拉普拉斯分布的性质其中mu就是均值,而b是标准差除以根号2

逆累计分布函数
我们利用matlab的rand函数很容易生成(0,1)区间内均匀分布的随机数列将(0,1)区间内均匀分布的随机数列当成是变量p,代入你累积分布函数就可以得到符合拉普拉斯分布的随机数列.
mu=0;                      %均值sigma=1;                  %标准差,方差的开平方b=sigma/sqrt(2);      %根据标准差求相应的ba=rand(1,10000)-0.5;    %生成(-0.5,0.5)区间内均匀分布的随机数列 (一万个数的行向量);x=mu-b*sign(a).*log(1-2*abs(a)); %生成符合拉普拉斯分布的随机数列
我们可以用
mean(x)std(x)
验证,均值应该接近0,标准应该接近1hist(x,100);还可以画出x的分布图是符合均值为0,标准为1的拉普拉斯分布的
 
 
展开全文阅读
剩余:2000
上一页:课时练P3