如何根据概率密度函数生成随机分布
2017-12-19 22:14
302 查看
问题描述
根据 y=cos(theta)概率函数生成随机抽样解决办法
对概率密度函数积分归一化得到概率函数,然后采用概率函数反函数生成随机分布;代码实现
void GenerateDirection(){
TRandom3 rndm;
TH1D *h1 = new TH1D("","",400,0.,3.1415/2);
for(int i=0;i<100000;i++)
{
double y=rndm.Uniform();
double Theta=asin(y);
h1->Fill(Theta);
}
h1->Draw();
}
结果
相关文章推荐
- python如何生成各种随机分布图
- [转]如何快速生成100万不重复的8位均匀分布的随机编号?
- 如何生成均匀分布随机整数
- 如何生成均匀分布随机整数
- 谈谈.NET中如何根据代码自动生成代码对象模型的解决思路
- 用python生成各种随机分布图
- 如何实现图片的随机生成与显示(转载)
- MATLAB 2015b randi函数生成随机均匀分布信号的用法
- excel(choose)如何随机生成A,B,C,D,E,F,G
- 根据20,80原则生成随机数据
- 如何用java随机生成一个汉字?
- 根据概率密度函数生成随机数的代码
- c#根据当前系统时间生成的随机序列数
- 工欲善其事,必先利其器-如何根据cocos2d-x中tolua++的pkg文件生成ldt的自动帮助
- 如何随机生成01随机字符串
- [代码示例]如何在ASP.NET中获取随机生成的cookie加密与验证密钥
- 如何在ASP.NET中获取随机生成的cookie加密与验证密钥
- Asp.net环境下如何生成随机图片
- 按某种分布生成随机数[用于WSN中随机分布的初始化]
- 如何从一个数组中生成随机数组