R中的随机游动

R中的随机游动,r,R,根据请求,伪代码(我不是编码员,所以这里不是好的伪代码),但是 选择1x1正方形中的随机坐标 for(1中的i:迭代) 检查1x1正方形内的坐标是否正确 如果它在正方形之外,则使用以前的坐标值重复 检查坐标是否落在1x1正方形内的圆圈内 如果是,则+1至内部计数器 如果不是,则+1到外部计数器 在任意方向上增加epsilon的值,然后重复 最后,pi_est正如我在评论中所建议的,这可能是个问题——对于您使用的随机游走方案,我相信您不会经常访问每个方块。。。这会使你的估计不准确(有偏差) 我建议

根据请求,伪代码(我不是编码员,所以这里不是好的伪代码),但是

  • 选择1x1正方形中的随机坐标
  • for(1中的i:迭代)
  • 检查1x1正方形内的坐标是否正确
  • 如果它在正方形之外,则使用以前的坐标值重复
  • 检查坐标是否落在1x1正方形内的圆圈内
  • 如果是,则+1至内部计数器
  • 如果不是,则+1到外部计数器
  • 在任意方向上增加epsilon的值,然后重复

  • 最后,
    pi_est正如我在评论中所建议的,这可能是个问题——对于您使用的随机游走方案,我相信您不会经常访问每个方块。。。这会使你的估计不准确(有偏差)

    我建议您设置一个小网格(比如5x5)并长时间运行,然后我建议为六种不同的单元格类型积累结果:

    C E M E C   (Corner,   Edge,     Midedge, 
    E D O D E            Diagonal,  Orthogonal, 
    M O X O M                        Xenter)
    E D O D E
    C E M E C
    
    (因为——根据对称性——这些类型中的任何差异都应该是噪声)

    然后(根据每种类型单元的各自计数为4,8,4,4,4,4,1这一事实进行缩放),您应该能够看到它们的访问比例是否正确(4、8或1计数分别为16%、32%和4%)。我相信你会发现边界单元比中间单元访问得更频繁(相对于它们的合理比例)


    一个建议是“包裹”边缘,使顶部和底部边缘以及左侧和右侧边缘相互沟通。这避免了边缘的“反弹”,而是使每个细胞都像其他细胞一样;通过对称性,每个单元的概率应该相等

    正如我在评论中提到的,这可能是一个问题——使用随机游走方案,我相信你不会经常访问每个广场。。。这会使你的估计不准确(有偏差)

    我建议您设置一个小网格(比如5x5)并长时间运行,然后我建议为六种不同的单元格类型积累结果:

    C E M E C   (Corner,   Edge,     Midedge, 
    E D O D E            Diagonal,  Orthogonal, 
    M O X O M                        Xenter)
    E D O D E
    C E M E C
    
    (因为——根据对称性——这些类型中的任何差异都应该是噪声)

    然后(根据每种类型单元的各自计数为4,8,4,4,4,4,1这一事实进行缩放),您应该能够看到它们的访问比例是否正确(4、8或1计数分别为16%、32%和4%)。我相信你会发现边界单元比中间单元访问得更频繁(相对于它们的合理比例)


    一个建议是“包裹”边缘,使顶部和底部边缘以及左侧和右侧边缘相互沟通。这避免了边缘的“反弹”,而是使每个细胞都像其他细胞一样;通过对称性,每个单元的概率应该相等

    添加算法的伪代码可能会使这一点更清楚(并澄清这主要不是一个R问题),在正方形上的随机行走是否会给你一个合适的估计取决于你是否构造了一个行走,该行走的分布在长期内给每个点一个相等比例的时间。这又取决于你如何处理广场的边界。你应该明确地描述你是如何做到这一点的,而不是通过代码的媒介(这里有一个问题是要弄清楚它是否表达了你的意思,或者你想做的是不是不正确的)。。。ctdctd。。。此外,您还可以通过使用R语言给出算法来减少受众。最好用文字尽可能清楚地解释算法。一旦你确定你有一个有效的算法,然后担心实现。请参阅我们关于编程的文章,注意强调问题的统计方面,而不是编码方面。@JuhoKokkala我添加了伪代码,这可能会有所帮助,但我没有编写伪代码的经验。你的问题是什么?!?添加算法的伪代码可能会使这一点更清楚(并澄清这主要不是一个R问题),在正方形上的随机行走是否会给你一个合适的估计取决于你是否构造了一个行走,该行走的分布在长期内给每个点一个相等比例的时间。这又取决于你如何处理广场的边界。你应该明确地描述你是如何做到这一点的,而不是通过代码的媒介(这里有一个问题是要弄清楚它是否表达了你的意思,或者你想做的是不是不正确的)。。。ctdctd。。。此外,您还可以通过使用R语言给出算法来减少受众。最好用文字尽可能清楚地解释算法。一旦你确定你有一个有效的算法,然后担心实现。请参阅我们关于编程的文章,注意强调问题的统计方面,而不是编码方面。@JuhoKokkala我添加了伪代码,这可能会有所帮助,但我没有编写伪代码的经验。你的问题是什么?!?