Python中文
首页
教程
问答
标签
搜索
登录
注册
python中二重积分的正确计算
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图用scipy计算一个二重积分。被积函数有点复杂,因为它包含一些概率分布,以加权x和y的每个值的可能性(就像一个混合模型)。以下代码的计算结果为负数,但它应被[0,1]绑定。另外,计算大约需要半个小时。在</p> <p>我有两个问题。在</p> <p>1)有没有更好的方法来计算这个积分?在</p> <p>2)这个负值从何而来?对我来说,最大的问题是如何加快计算速度,因为我可以在我的代码中找到导致我以后自己负的错误。在</p> <pre><code>from scipy import stats from scipy.integrate import dblquad import itertools p= [list whose entries are each different stats.beta(a,b) distributions] def integrand(x,y): delta=x-y marg=0 for distA,distB in itertools.permutations(p,2): first=distA.pdf(x) second=distB.pdf(y) weight1=0 weight2=0 for distC in p: if distC == distA: continue w1=distC.cdf(x)-distC.cdf(y) if weight1 == 0: weight1=w1 else: weight1=weight1*w1 marg+=(first*weight1*second) I=delta*marg return I expect=dblquad(integrand,0,1,lambda x: 0, lambda x: x) </code></pre> <p>这本质上是问两点之间的最大距离在分布向量中的期望值是多少。积分的极限是y∊[0,x]和x∊[0,1]。这给了我-.49,估计的积分误差在10e-10级,所以它不应该是由于积分方法。在</p> <p>我已经和这件事斗争了一段时间了,感谢你的帮助。谢谢。在</p> <p>编辑:更正了打字错误</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>积分法给出的误差只是一个数字,告诉你收敛性有多好。你试过计算被积函数的显式值吗?在</p> <p>顺便问一下:你在整合pdf吗?如果是:您确定您的集成限制吗?在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
4 回答
如何添加表示整数的擦边字符串?
8 回答
如何添加要在Bokeh中使用的新font.ttf文件?
7 回答
如何添加要显示的矩阵XY轴编号和XY轴
7 回答
如何添加计数?
7 回答
如何添加计数器函数?
9 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
6 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
10 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
2 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
7 回答
如何添加评论拉梅尔亚姆
6 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
3 回答
如何添加谷歌地点自动完成到Flask?
2 回答
如何添加超时、python discord bot
5 回答
如何添加超过1dp的检查
1 回答
如何添加距离方法
5 回答
如何添加跟随游戏的敌人精灵
7 回答
如何添加路径以便python可以找到程序?
9 回答
如何添加身份验证/安全性以使用happybase访问HBase?
5 回答