R语言:作业七(创建随机变量函数)

作业

  • 5(1)
  • 8

5(1)

用筛选法来模拟如下密度函数的随机变量,f(x)是需要模拟的随机变量的密度函数,g(x)是其对应的筛选函数。
(1) f ( x ) = x ( 1 − x ) f(x)=x(1-x) f(x)=x(1x), g ( x ) g(x) g(x)为常值函数。

R语言:作业七(创建随机变量函数)_第1张图片
R语言:作业七(创建随机变量函数)_第2张图片

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(1x) ,这个函数在x=0.5处取得极大值0.25 。我们首先生成一个服从(0,1)区间的均匀分布的随机数u1,然后产生另外一个(0,1)上均匀分布的随机数u2 ,如果( u 2 < = 4 x ( 1 − x ) u2<=4x(1-x) u2<=4x(1x)) ,则令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
 }

R语言:作业七(创建随机变量函数)_第3张图片

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,j5<=j<=13
0.09 , 当 j 是 偶 数 且 6 < = j < = 14 0.09,当j是偶数且6<=j<=14 0.09,j6<=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语言:作业七(创建随机变量函数)_第4张图片

你可能感兴趣的:(R语言)