我想在Python中实现这个集成:
到目前为止,我做了下面的代码,但没有意义。我做错了什么?
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(math.sin(x)**2, 2*x)
参考其他答案,您不需要使用
trigintegrate
,但如果它是定积分,则在调用integrate
时确实需要提供积分限制:
In [31]: from sympy import integrate, sin, oo, Symbol
In [32]: x = Symbol('x')
In [33]: integrate(sin(x**2), (x, 0, oo))
Out[33]:
√2⋅√π
─────
4
In [34]: _.n()
Out[34]: 0.626657068657750
一个问题是您没有使用 sympy 中的三角函数:
from sympy import sin
from sympy.abc import x
integrate(sm.sin(x**2), x)
这将返回一个涉及 Gamma 函数的复杂表达式,因为
sin(x^2)
没有简单的不定积分。
但是,您可以直接计算所显示的定积分,只需使用边界作为参数(并使用
sympy.oo
表示无穷大):
from sympy import sin, oo
from sympy.abc import x
integrate(sin(x**2), (x, 0, oo))
(来源:来自 sympy 文档)
我想你正在寻找这个:
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(sm.sin(x**2), x)
print(x)
您需要使用 sympy lib 中的 sin 函数而不是 math lib。
在开始计算之前了解答案是什么会有很大帮助:
integral_0^∞ sin(x^2) dx = sqrt(π/2)/2≈0.626657