R语言 几何概型计算积分 蒙特卡罗方法

编程入门 行业动态 更新时间:2024-10-23 21:39:05

R语言 <a href=https://www.elefans.com/category/jswz/34/1769510.html style=几何概型计算积分 蒙特卡罗方法"/>

R语言 几何概型计算积分 蒙特卡罗方法



设计几何概型实验,估算积分的值

代码

详细解释在代码注释中

# 定义一个函数,该函数为所求的积分函数
# 因此在计算上述定积分和计算sqrt(2)同理
# 在此用例为sqrt(2)
f = function(x)sqrt(2)
# 生成x
x = seq(1.5, 3.5, length=100)
y = rep(0, length(x))
j = 1
# 计算每个x对应的y值
for (i in x) {y[j] = f(i)j = j + 1
}
# 根据函数划出积分曲线
plot(x, y, type='o')
# 确定积分边界
abline(v = 2)
abline(v = 3)
# 简单设定随机点 (x,y)|2<=x<=3,0<=y<=100
# 即随机点的分布面积为100
s = 100
a = 0
cnt <- 1
# 有兴趣的朋友可以适当的多循环几次,这样结果更为精确,但是运行时间太长,并没有跑太久
while (cnt <= 100000) {# 随机点 xx,yyxx = 2 + runif(1)yy = 100 * runif(1)# 点在积分面积内则点为红色if( f(xx) > yy ) {a = a + 1points(x = xx, y = yy, pch = 20, cex = 1, col = "red")}# 否则为绿色elsepoints(x = xx, y = yy, pch = 20, cex = 1, col = "green")cnt = cnt + 1
}
# 计算积分
print((a / 10000) * s)

更多推荐

R语言 几何概型计算积分 蒙特卡罗方法

本文发布于:2024-02-06 05:44:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746633.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:几何   蒙特   卡罗   积分   语言

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!