sin x dx问题在Python编程实现中的整合

问题描述 投票:0回答:4

我想在Python中实现这个集成:

到目前为止,我做了下面的代码,但没有意义。我做错了什么?

import sympy as sm
x=sm.Symbol('x')
x=sm.integrate(math.sin(x)**2, 2*x)
python math sympy symbolic-integration
4个回答
3
投票

参考其他答案,您不需要使用

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

3
投票

一个问题是您没有使用 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 文档


1
投票

我想你正在寻找这个:

import sympy as sm

x=sm.Symbol('x')
x=sm.integrate(sm.sin(x**2), x)

print(x)

您需要使用 sympy lib 中的 sin 函数而不是 math lib。


1
投票

在开始计算之前了解答案是什么会有很大帮助:

integral_0^∞ sin(x^2) dx = sqrt(π/2)/2≈0.626657

© www.soinside.com 2019 - 2024. All rights reserved.