急求R语言有关问题 20

WriteRfunctionsandgenerate1000randomnumberswithanexponentialdistributionwithrate=2and... Write R functions and generate 1000 random numbers with an exponential distribution
with rate=2 and truncated at 2 (left) and 3 (right).
² Use at least two different approaches
² The only existing random number generating function you can use is runif() [or equivalent
if software other than R is used]
展开
 我来答
wzy970503
2010-07-13 · TA获得超过110个赞
知道答主
回答量:29
采纳率:0%
帮助的人:39.2万
展开全部
truncate是什么意思? 我理解为只取那些取值在2 3之间的随机数
方法一:
反函数法

temp<-rep(0,1000) #temp是长度1000的数组
i<-1
while (i<=1000)
{
a<-runif(1) #生成0 1之间的均匀分布的随机数
b<-log(1-a)/(-2) #转为满足指数分布的随机数
if ((b<=3)&(b>2))
{
temp[i]<-b
i=i+1
}
}

方法二:
舍选法

temp<-rep(0,1000) #temp是长度1000的数组
i<-1
while (i<=1000)
{
a<-runif(1) #生成0 1之间的均匀分布的随机数
b<-runif(1,min=0,max=10)
#生成0 10之间的均匀分布的随机数
if ((exp(-2*b)>=a)&(b<=3)&(b>2))
{
temp[i]<-b
i=i+1
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式