24小时热门版块排行榜    

查看: 2115  |  回复: 4

swuli

木虫 (小有名气)

[求助] scipy.integrate.quad 积分错误原因? 已有1人参与

有以下积分,n2和n3的值非常接近,但积分结果却大相径庭。
n2=22144  积分结果=0.4256854383924181
n3=22145 积分结果=11774635265351.027

用matlab算,后面是准确的。是什么原因导致n2所出现的错误?


from math import sqrt, log, exp
import numpy as np
from scipy.integrate import quad

def integrand(x, r1, r2):
    a = r1 + r2
    b = r1 * r2
    R = a * x / 2
    R1 = R ** 2 - a ** 2
    R2 = R ** 2 - (r1 - r2) ** 2
    vdw = -7e-21 * (2 * b / R1 + 2 * b / R2 + log(R1 / R2))
    edl = 7.8e-12 * b / a * log(1 + exp(-328774227 * (R - a)))
    force = vdw + edl
    return exp(force / 4.11447e-21) / x ** 2

n1 = 5010
n2 = 22144
n3 = 22145
radius1 = 1.05 * 10 ** -8 * n1 ** (1 / 1.8)
radius2 = 1.05 * 10 ** -8 * n2 ** (1 / 1.8)
radius3 = 1.05 * 10 ** -8 * n3 ** (1 / 1.8)
w2 = quad(integrand, 2, np.inf, args=(radius1, radius2))
w3 = quad(integrand, 2, np.inf, args=(radius1, radius3))
print('w2=', w2[0])
print('w3=', w3[0])
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2021-05-21 16:59:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bcsnow

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
swuli: 金币+10, ★★★★★最佳答案 2021-05-23 08:45:33
没有错误啊:w2= 11772040939067.406  w3= 11774635265351.027
3楼2021-05-22 10:36:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

swuli

木虫 (小有名气)

引用回帖:
3楼: Originally posted by bcsnow at 2021-05-22 10:36:12
没有错误啊:w2= 11772040939067.406  w3= 11774635265351.027

我这里得到的结果却是w2= 0.4256854383924181;w3= 11774635265351.027。奇怪了。
和版本有关吗?我的python 3.6.6 scipy 1.6.0。您有没有做什么别的处理呢?
4楼2021-05-23 08:48:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bcsnow

铁杆木虫 (著名写手)

引用回帖:
4楼: Originally posted by swuli at 2021-05-23 08:48:12
我这里得到的结果却是w2= 0.4256854383924181;w3= 11774635265351.027。奇怪了。
和版本有关吗?我的python 3.6.6 scipy 1.6.0。您有没有做什么别的处理呢?...

没有处理,直接拷贝运行的,我的是3.7.7和1.5.2,按说版本间不应该有这么严重错误。你把n2 n3的值调换一下,看看结果如何。
5楼2021-05-24 00:23:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 swuli 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +38 医学老男孩 2026-08-13 89/4450 2026-08-18 08:27 by 医学老男孩
[基金申请] 时间戳变了,能看出什么问题? +4 基诺咪客 2026-08-17 5/250 2026-08-18 08:03 by 基诺咪客
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见