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

在MATLAB中如何生成已知均值和方差的服从拉普拉斯分布的随机数呢?
I need 拉普拉斯的随机数~
棉贝 1年前 已收到1个回答 举报

20053500 幼苗

共回答了13个问题采纳率:100% 举报

百度一下和容易得到拉普拉斯分布的性质其中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的拉普拉斯分布的

1年前

8
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.020 s. - webmaster@yulucn.com