0

我需要将蒙特卡洛积分应用于使用 R 的函数。我能够绘制方程,但不知道如何在其上绘制随机点。

将不胜感激有关如何做到这一点的任何见解。

我用来绘图的函数是基本的 plot() 函数,具有x所需的范围和y方程。

谢谢你。

4

3 回答 3

7

绘制曲线最好的方法是使用curve函数:

f = function(x) x^2 + 1   
curve(f(x), -2,2, ylim=c(0, 5))

然后,您可以通过以下points函数将点添加到绘图中:

points(runif(100, -2, 2), runif(100, 0, 6))

并使用比较计算蒙特卡罗估计:

N = 100000
sum(f(runif(N, -2, 2)) > runif(N, 0, 6))/N * (4*6)

在此处输入图像描述

于 2012-11-15T15:59:39.327 回答
1

您可以使用生成随机点

xx <- runif(100,min=0,max=1)
yy <- runif(100,min=0,max=1)

并将它们添加到现有的情节中

points(xx,yy)

请参阅?points帮助页面。

于 2012-11-15T15:46:18.203 回答
1

鉴于我对您的理解正确,这是我的解决方案版本。

基本代码:

    x<-seq(-4,4,0.1)
    y<-2*x^2-3*x
    plot(x,y)
    points(x, rnorm(length(x), 20, 10), col="red")

这会将红色的随机点添加到您现有的函数中。

视觉的

于 2012-11-15T15:52:22.790 回答