R语言:作业七(创建随机变量函数)
Posted fxalll
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言:作业七(创建随机变量函数)相关的知识,希望对你有一定的参考价值。
5(1)
用筛选法来模拟如下密度函数的随机变量,f(x)是需要模拟的随机变量的密度函数,g(x)是其对应的筛选函数。
(1) f ( x ) = x ( 1 − x ) f(x)=x(1-x) f(x)=x(1−x), g ( x ) g(x) g(x)为常值函数。
令 g ( x ) = 1 g(x)=1 g(x)=1 , f ( x ) g ( x ) = x ( 1 − x ) \\frac{f(x)}{g(x)}=x(1-x) g(x)f(x)=x(1−x) ,这个函数在x=0.5处取得极大值0.25 。我们首先生成一个服从(0,1)区间的均匀分布的随机数u1,然后产生另外一个(0,1)上均匀分布的随机数u2 ,如果( u 2 < = 4 x ( 1 − x ) u2<=4x(1-x) u2<=4x(1−x)) ,则令X=Y,并停止,否则就重头再做。R程序如下:
Q<-function(n)
{
x<-rep(0,n)
y<-0
for(i in 1:n)
{
u1<-runif(1)
y<-u1
u2<-runif(1)
while(u2>4*y*(1-y))
{
u1<-runif(1)
y<-u1
u2<-runif(1)}
x[i]<-y
}
x
}
8
给出模拟一个具有概率函数 P j Pj Pj, j = 5 , 6 , . . . , 14 j=5,6,...,14 j=5,6,...,14的随机变量的方法,其中 P j = Pj= Pj=
0.11 , 当 j 是 奇 数 且 5 < = j < = 13 0.11,当j是奇数且5<=j<=13 0.11,当j是奇数且5<=j<=13
0.09 , 当 j 是 偶 数 且 6 < = j < = 14 0.09,当j是偶数且6<=j<=14 0.09,当j是偶数且6<=j<=14
Q<-function(n)
{
x <- rep(0,n)
P <- 0
for(i in 1:n){
j<-round(runif(1,5,14))
if(j %% 2 != 0 && j>=5 && j<=13){
P <- 0.11
}else{
P <- 0.09
}
x[i] <- P
}
x
}
以上是关于R语言:作业七(创建随机变量函数)的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)randomSequence函数创建不含重复项的随机序列数据集创建随机字符串