急求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] 展开
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] 展开
展开全部
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
}
}
方法一:
反函数法
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
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询