import sympy as smp
smp.init_printing()
In [2]:
a,R,t = smp.symbols('a,R,t',real=True)
In [3]:
f = t**2/(1+t**2/a**2);f
Out[3]:
In [4]:
I=smp.Integral(f,t); I
Out[4]:
In [5]:
I.doit()
Out[5]:
一个 2 吨
Wolframalpha然而
答案 0 :(得分:1)
这是SymPy中的一个错误:我打开了一个关于它的issue。同时,一种解决方法是声明a
是积极的而不仅仅是真实的。无论如何,这个符号并不重要,因为a
是平方的,但我想知道它的正面有助于SymPy在复杂的平面上做出正确的分支切割,或类似的东西。
>>> from sympy import *
>>> a = symbols('a', positive=True)
>>> t = symbols('t', real=True)
>>> integrate(t**2/(1+t**2/a**2), t)
a**2*(-a*atan(t/a) + t)
在此处使用integrate(expr, var)
,比Integral(expr, var).doit()
更容易输入。
答案 1 :(得分:-1)
Sympy目前无法计算无限积分。它计算
$$\(\int_{x_0}^{x} f(x)dx\)$$
documentation有更多详情。
与wolfram alpha相同的免费工具sagemath 查看他们可以工作的online platform,并将工作表存储在云中。