楼主: nongyanhua
14696 11

[问答] 用R编程求二重积分 [推广有奖]

  • 1关注
  • 0粉丝

高中生

75%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
132 点
帖子
18
精华
0
在线时间
45 小时
注册时间
2012-12-13
最后登录
2014-1-23

楼主
nongyanhua 发表于 2013-1-26 10:08:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

3.png
刚开始接触R,实在不知从何下手,请各位大侠帮帮忙,谢谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:二重积分 R编程 各位大侠 编程 积分

沙发
东仁 发表于 2013-1-26 10:22:59
帮不了

藤椅
qoiqpwqr 发表于 2013-1-26 11:27:24
你的模拟的算法是什么?

板凳
ntsean 发表于 2013-1-26 11:46:42
积分 很好积分 = 1/3

从概率的角度来看, 假设 X ~ exponential(1) Y ~ exponential(1)
X 和 Y独立, 定义 Z = max(X, Y), 那么这个积分可以看做 = E (exp(-Z)), 所以程序可以写成

x <- rexp(10000)
y <- rexp(10000)
z <- pmax(x, y)
mean(exp(-z))

[1] 0.3331737

报纸
nongyanhua 发表于 2013-1-26 12:16:29
ntsean 发表于 2013-1-26 11:46
积分 很好积分 = 1/3

从概率的角度来看, 假设 X ~ exponential(1) Y ~ exponential(1)
非常谢谢

地板
nongyanhua 发表于 2013-1-26 12:33:15
qoiqpwqr 发表于 2013-1-26 11:27
你的模拟的算法是什么?
如果用Monte Carlo方法呢?

7
学而好思 发表于 2019-9-27 19:56:08
library(cubature)
library(mosaic)
f1<-function(x){2*exp(-(2*x[1]+x[2]))}
g1<-function(x){
  if(x[1]<x[2]){return(0)}
  return(f1(x))
}
cubature::adaptIntegrate(g1,c(0,0),c(Inf,Inf))%>%
  value()%>%fractions()

结果恰为1/3

8
owenqi 在职认证  学生认证  发表于 2019-9-30 11:35:14
nongyanhua 发表于 2013-1-26 12:33
如果用Monte Carlo方法呢?
蒙特卡洛方法是这样的
  1. #Integrate[2*Sqrt[y]*E^-(x + y), {x, 0, Infinity}, {y, 0, x}]
  2. n <- 10000
  3. x<-runif(n)
  4. y<-runif(n)
  5. x1<--log(x)
  6. y1<--log(y)
  7. z<-sum((2*exp(-2*x1-y1)/(x*y))[x1>y1])/n
  8. z
复制代码

9
sogaqiu 发表于 2020-5-1 22:04:57
owenqi 发表于 2019-9-30 11:35
蒙特卡洛方法是这样的
请问除以x*y是什么道理呢

10
owenqi 在职认证  学生认证  发表于 2020-5-29 10:44:52
sogaqiu 发表于 2020-5-1 22:04
请问除以x*y是什么道理呢
-log(x)和-log(y)的导数相乘

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 12:22