SymPy函数Integration_steps是否显示积分结果?

时间:2018-09-06 06:10:03

标签: sympy

我正在使用SymPy函数integral_steps构建一个工具,就像SymPy Gamma一样,当您要求它集成功能时,它会显示集成步骤。我的工作正在进行中,可以在https://lem.ma/1YH上找到。

我不太清楚是如何获得应用特定规则的结果。例如,考虑替换规则

URule(u_var=_u, u_func=sin(x), constant=1, substep=ExpRule(base=E, exp=_u, context=exp(_u), symbol=_u), context=exp(sin(x))*cos(x), symbol=x)

context字段表明正在集成的函数为exp(sin(x))* cos(x),并且该规则使用特定的替换-但是集成的结果是什么,因此我可以向用户以SymPy Gamma的相同方式进行操作。我目前要做的是在每个步骤都调用integrate,但这似乎效率很低。

也许有一种选择可以传递给积分步骤以使该信息可用?

1 个答案:

答案 0 :(得分:0)

SymPy Gamma作为SymPy本身是开源的。看一下其模块intsteps,我看到类似

的行
self.append("So, the result is: {}".format(
    self.format_math(_manualintegrate(rule))))

因此,从规则中获取规则结果的方法是调用_manualintegrate(rule),它需要作为

导入。
from sympy.integrals.manualintegrate import _manualintegrate

我认为阅读intsteps.py的其余部分也会很有用。