编程论坛
注册
登录
编程论坛
→
C++教室
怎么从分布函数随机取样
cyuchi
发布于 2013-10-24 11:07, 364 次点击
大家好,我想从概率密度为f(x)=(4/(1+pi))*(cosx)^2的分布中随机抽取x,请问怎么在C++语言实现啊?我是小白,请大家指教,谢谢!
4 回复
#2
yuccn
2013-10-24 12:36
随机生成一个x,然后计算一下f(x)=(4/(1+pi))*(cosx)^2?
随机生成x的办法很多,
比如 获取当前计算机运行的时间 GetTickCount + GetCurrentThreadId() + GetCurrentProcessId()+系统时间,再摸一个你想要的值 就行了
好像c的那个随机数产生的函数 得出的是固定的,不好用
#3
cyuchi
2013-10-25 16:05
回复 2楼 yuccn
原来是这样啊,那不会计算很久吗?如果它取很久都不符合那个表达式。。
#4
yuccn
2013-10-25 16:10
回复 3楼 cyuchi
你生成随机数x在计算f(x),不会很久的
#5
cyuchi
2013-10-25 17:03
回复 4楼 yuccn
好,那我试试,谢谢斑竹啦啦啦~
1