gpt4 book ai didi

python - 第二类不当积分

转载 作者:太空宇宙 更新时间:2023-11-04 02:35:48 25 4
gpt4 key购买 nike

我正在尝试使用 sympy 计算第二类不正确积分的精确值:

from sympy import integrate, log
from sympy.abc import x

print (integrate(log(x) * log(x) /(1+x*x), (x,0,1)))

这段代码返回了很多错误。可能我需要使用另一种方法吗?我尝试使用 Integral 但一无所获。

我想根据 Dwight 表(863.61 和 863.10)计算这些积分: enter image description here

我可能会用数值方法计算它们,但我更想用 sympy 得到精确的解。是否有可能通过 sympy 获得第二类不正确积分的精确解?或者这些积分对于 sympy 来说太复杂了?

最佳答案

float 是符号计算的毒药,尤其是像符号积分这样复杂的计算。不要将它们放在符号积分中。

此外,声明正变量本身会有很大帮助。

x = symbols('x', positive=True)

int1 = integrate(log(x)**2 / (1 + x**2), (x, 0, 1))
int2 = integrate(log(1/x) / (1 - x), (x, 0, 1))

现在没有错误,但是 int1 只是未计算的原始积分; SymPy 没有成功找到它的值(value)。这似乎超出了它的能力范围。

对于第二个,它返回 polylog(2, -exp_polar(I*pi))。复数 I*piexp_polar 的存在意味着 SymPy 正在做一些复杂的平面工作,其中围绕原点的缠绕量可能很重要。函数 exp_polarexp 的不同之处在于 exp_polar(2*I*pi) 不像 exp(2 *I*pi) 做的是:它保留了 360 度转动和根本不转动之间的区别。

但是如果我们忽略所有这些并将 exp 放入结果中,

polylog(2, -exp(I*pi))

计算为 pi**2/6,第二个积分的正确值。

关于python - 第二类不当积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47938359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com