我需要将Monte Carlo积分应用于使用R的函数。我能够绘制方程,但我不知道如何在其上绘制随机点。
非常感谢有关如何做到这一点的任何见解。
我用来绘制的函数是基本的plot()函数,其中x
为期望范围,y
为等式。
谢谢。
答案 0 :(得分: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)
答案 1 :(得分:1)
您可以使用
生成随机点xx <- runif(100,min=0,max=1)
yy <- runif(100,min=0,max=1)
并使用
将它们添加到现有的地块中points(xx,yy)
有关帮助页面,请参阅?points
。
答案 2 :(得分: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")
这会将红色的随机点添加到现有功能中。