我需要将蒙特卡洛积分应用于使用 R 的函数。我能够绘制方程,但不知道如何在其上绘制随机点。
将不胜感激有关如何做到这一点的任何见解。
我用来绘图的函数是基本的 plot() 函数,具有x
所需的范围和y
方程。
谢谢你。
绘制曲线最好的方法是使用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)
您可以使用生成随机点
xx <- runif(100,min=0,max=1)
yy <- runif(100,min=0,max=1)
并将它们添加到现有的情节中
points(xx,yy)
请参阅?points
帮助页面。
鉴于我对您的理解正确,这是我的解决方案版本。
基本代码:
x<-seq(-4,4,0.1)
y<-2*x^2-3*x
plot(x,y)
points(x, rnorm(length(x), 20, 10), col="red")
这会将红色的随机点添加到您现有的函数中。