文档章节

R语言模拟投硬币掷骰子

非线性方程
 非线性方程
发布于 2017/03/30 13:50
字数 566
阅读 259
收藏 0
R

#掷骰子100次
a=sample(c(1:6),100,replace=T)

#硬币的正面记为1,反面记为0,开始投掷,只要投出背面就停止。模拟一万次求平均模拟停止时的次数
len=NULL           ##初始化
for(i in 1:10000){
 y=NULL
 repeat{
  x=sample(c(0,1),1)
  y=c(y,x)
  if(x==0)  break
 }

 len=c(len,length(y))
}
sum(len)/10000

#均匀硬币的正面记为1,反面记为0,开始投掷,只要有连续三次投掷出“110”这样的结果就停止。
#请问:模拟停止时的次数;模拟一万次,平均投掷次数是?

##先模拟一次投掷出110
y=sample(c(0,1),3,replace=T)
i=3
repeat{
  if(y[i]==0&&y[i-1]==1&&y[i-2]==1) break     #最后三位是110即停止循环
  y = c(y,sample(c(0,1),1,replace=T))       #如果不是的话,继续抽样并将原值赋给y
  i=i+1
}
length(y)

##接下来是连续三次投掷出110 是不是只要重复y[i]==0部分就可以了?
y=sample(c(0,1),9,replace=T)
i=9
repeat{
  if(y[i]==0&&y[i-1]==1&&y[i-2]==1&&y[i-3]==0&&y[i-4]==1&&y[i-5]==1&&y[i-6]==0&&y[i-7]==1&&y[i-8]==1) break     #
  y = c(y,sample(c(0,1),1,replace=T))
  i=i+1
}
length(y)

#[1] 60  结果

##将上面的过程重复一万遍,求length均值 
len=0
for(i in 1:10){    ##为了快点得到结果我写成了10次
  y=sample(c(0,1),9,replace=T)
  i=9
  repeat{
    if(y[i]==0&&y[i-1]==1&&y[i-2]==1&&y[i-3]==0&&y[i-4]==1&&y[i-5]==1&&y[i-6]==0&&y[i-7]==1&&y[i-8]==1) break     #
    y = c(y,sample(c(0,1),1,replace=T))
    i=i+1
  }
  len=length(y)
  len=c(len,length(y))
}
sum(len)/10

#[1] 85.4  结果

如果你有其他的方法,欢迎加我博客好友交流
 

© 著作权归作者所有

非线性方程
粉丝 1
博文 22
码字总数 9927
作品 0
天津
程序员
私信 提问
数据可视化,带给你的惊艳并不止这一点!

在大数据时代的现今,数据庞大且繁杂,仅通过简单的数据整理得出清晰的结论,已经不太合理。实际上,若要简明扼要地展示出结论,不妨考虑一下数据可视化。 那么,什么是数据可视化呢? 数据可...

技术小能手
2018/08/22
0
0
R语言模拟:Bias Variance Decomposition

作者:量化小白一枚,上财研究生在读,偏向数据分析与量化投资 个人公众号:量化小白上分记 接上一篇《R语言模拟:Bias-Variance trade-off》,本文通过模拟分析算法的泛化误差、偏差、方差和噪...

R语言中文社区
2018/12/04
0
0
Rserve的R语言客户端RSclient

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/04
716
1
R语言深度学习包有哪些????

R语言深度学习的包有哪些???求大神告知R语言深度学习的包有哪些?R语言深度学习的包有哪些???求大神告知R语言深度学习的包有哪些?R语言深度学习的包有哪些???求大神告知R语言深度学...

pb加油
2016/08/31
266
0
R语言入门 – 什么是R语言,为什么选择R语言用于机器学习或数据挖掘

  R语言最近在TIOBE排名上取得了不小的进步,上升到了第13名。因为机器学习的火爆的程度和R语言特殊的语法,使得它的关注度越来越高。好多人对于R语言的特性和语法不太了解,而因我在上学的...

全栈开发
2018/03/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
6
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
7
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部