在 python 编程实现中集成 sin x dx 问题
Integration of sin x dx problem in python programming implementation
我想在 Python 中实现此集成:
到目前为止,我已经完成了下面的代码,但没有任何意义。我做错了什么?
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(math.sin(x)**2, 2*x)
我想你正在寻找这个:
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(sm.sin(x**2), x)
print(x)
您需要使用 sympy 库中的 sin 函数,而不是数学库。
一个问题是您没有使用 sympy 的三角函数:
from sympy import sin
from sympy.abc import x
integrate(sm.sin(x**2), x)
这将 return 一个涉及 Gamma 函数的复杂表达式,因为 sin(x^2)
没有简单的不定积分。
但是,您可以直接计算所显示的 definite 积分,只需使用边界作为参数(并使用 sympy.oo
表示无穷大):
from sympy import sin, oo
from sympy.abc import x
integrate(sin(x**2), (x, 0, oo))
这 return 正确:。
(来源:来自sympy documentation)
在开始计算之前了解 answer 是什么有很大帮助:
integral_0^∞ sin(x^2) dx = sqrt(π/2)/2≈0.626657
引用您不需要使用的其他答案 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
我想在 Python 中实现此集成:
到目前为止,我已经完成了下面的代码,但没有任何意义。我做错了什么?
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(math.sin(x)**2, 2*x)
我想你正在寻找这个:
import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(sm.sin(x**2), x)
print(x)
您需要使用 sympy 库中的 sin 函数,而不是数学库。
一个问题是您没有使用 sympy 的三角函数:
from sympy import sin
from sympy.abc import x
integrate(sm.sin(x**2), x)
这将 return 一个涉及 Gamma 函数的复杂表达式,因为 sin(x^2)
没有简单的不定积分。
但是,您可以直接计算所显示的 definite 积分,只需使用边界作为参数(并使用 sympy.oo
表示无穷大):
from sympy import sin, oo
from sympy.abc import x
integrate(sin(x**2), (x, 0, oo))
这 return 正确:
(来源:来自sympy documentation)
在开始计算之前了解 answer 是什么有很大帮助:
integral_0^∞ sin(x^2) dx = sqrt(π/2)/2≈0.626657
引用您不需要使用的其他答案 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