• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言--蒙特卡洛计算定积分

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  参考上一篇蒙特卡洛计算圆周率

rm(list = ls())
x <- seq(0,1,0.001)
y <- x^2
d <- data.frame(x,y)
ggplot(d,aes(x,y))+geom_area(fill='brown1')

#求定积分从0到1 ,函数为x^2 
#求随机点在点(0,0)和点(1,1)这个正方形中,y< x^2 的随机点比例
#积分得:1/3*x^3当x在[0,1]的值==1/3
origin <- c(0,0)
distance <- function(a){
  a[2]-a[1]^2 
# 定义函数时考虑,用apply时,若按行,先取出了第一行,所以不能用a[,2]
}  #数据框只有一行时,不能选某一列
n <- 100000
A <- matrix(runif(2*n,0,1),ncol = 2,byrow = T)
b <- apply(A, 1, distance) 
mean(b<0)

par(bg='beige')
plot(A,col='azure3',xlab='',ylab='',main='MC',asp=1) #所有点
points(A[b<0,],col='aquamarine3')#积分下点
abline(h=0,col='goldenrod4',lty='dotdash',lwd=3) #画上下左右的直线
abline(h=1,col='goldenrod4',lty='dotdash',lwd=3)
abline(v=1,col='goldenrod4',lty='dotdash',lwd=3)
abline(v=0,col='goldenrod4',lty='dotdash',lwd=3)
lines(x,y,col='brown1',lwd=2)      #画曲线

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言 dplyr selec 辅助函数发布时间:2022-07-18
下一篇:
[R语言]加载和安装R包发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap