在 sympy http://docs.sympy.org/latest/modules/integrals/integrals.html 的文档中,我们可以阅读:
manualintegrate 模块具有返回所使用步骤的函数(有关更多信息,请参阅模块文档字符串)。
但是调用help(sympy.integrals.manualintegrate)我们得到:
Help on function manualintegrate in module sympy.integrals.manualintegrate:
manualintegrate(f, var)
manualintegrate(f, var)
Compute indefinite integral of a single variable using an algorithm that
resembles what a student would do by hand.
Unlike ``integrate``, var can only be a single symbol.
Examples
========
>>> from sympy import sin, cos, tan, exp, log, integrate
>>> from sympy.integrals.manualintegrate import manualintegrate
>>> from sympy.abc import x
>>> manualintegrate(1 / x, x)
log(x)
>>> integrate(1/x)
log(x)
>>> manualintegrate(log(x), x)
x*log(x) - x
>>> integrate(log(x))
x*log(x) - x
>>> manualintegrate(exp(x) / (1 + exp(2 * x)), x)
atan(exp(x))
>>> integrate(exp(x) / (1 + exp(2 * x)))
RootSum(4*_z**2 + 1, Lambda(_i, _i*log(2*_i + exp(x))))
>>> manualintegrate(cos(x)**4 * sin(x), x)
-cos(x)**5/5
>>> integrate(cos(x)**4 * sin(x), x)
-cos(x)**5/5
>>> manualintegrate(cos(x)**4 * sin(x)**3, x)
cos(x)**7/7 - cos(x)**5/5
>>> integrate(cos(x)**4 * sin(x)**3, x)
cos(x)**7/7 - cos(x)**5/5
>>> manualintegrate(tan(x), x)
-log(cos(x))
>>> integrate(tan(x), x)
-log(sin(x)**2 - 1)/2
See Also
========
sympy.integrals.integrals.integrate
sympy.integrals.integrals.Integral.doit
sympy.integrals.integrals.Integral
Run Code Online (Sandbox Code Playgroud)
我没有看到一步一步的解决方案。
小智 6
您正在查看函数manualintegrate的文档字符串,而不是模块manualintegrate的文档字符串。该模块在这里,它说
该模块还提供了获取用于评估
integral_steps函数中特定积分的步骤的功能。这将返回表示使用的集成规则的嵌套命名元组。
该integral_steps功能记录如下:
返回计算积分所需的步骤。此功能试图尽可能地反映学生将用手做的事情。SymPy Gamma 使用它来提供积分的逐步解释。它用于格式化此函数结果的代码可以在https://github.com/sympy/sympy_gamma/blob/master/app/logic/intsteps.py 中找到。
除非您使用 SymPy Gamma,否则输出integral_steps将难以阅读。例子:
from sympy.integrals.manualintegrate import integral_steps
integral_steps(x*sin(3*x), x)
Run Code Online (Sandbox Code Playgroud)
返回
PartsRule(u=x, dv=sin(3*x), v_step=URule(u_var=_u, u_func=3*x, constant=1/3, substep=ConstantTimesRule(constant=1/3, other=sin(_u), substep=TrigRule(func='sin', arg=_u, context=sin(_u), symbol=_u), context=sin(_u), symbol=_u), context=sin(3*x), symbol=x), second_step=ConstantTimesRule(constant=-1/3, other=cos(3*x), substep=URule(u_var=_u, u_func=3*x, constant=1/3, substep=ConstantTimesRule(constant=1/3, other=cos(_u), substep=TrigRule(func='cos', arg=_u, context=cos(_u), symbol=_u), context=cos(_u), symbol=_u), context=cos(3*x), symbol=x), context=-cos(3*x)/3, symbol=x), context=x*sin(3*x), symbol=x)
Run Code Online (Sandbox Code Playgroud)
它在SymPy Gamma 站点上更具可读性。