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(1x), 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(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
 }

在这里插入图片描述

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语言:作业七(创建随机变量函数)的主要内容,如果未能解决你的问题,请参考以下文章

R语言:逆变换法生成密度函数的随机变量

R语言:作业九(编写模拟算法)

C语言绝命七连问,你能坚持到第几问?欢迎挑战

R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)randomSequence函数创建不含重复项的随机序列数据集创建随机字符串

90-预测分析-R语言实现-时间序列1

R语言基础-统计函数