如何在SymPy中不受限制地集成?

时间:2019-02-04 21:45:34

标签: python math sympy symbolic-math calculus

给我p(x) = 2ax^2 - b并要求将其集成两次,但没有限制。但是,当我仅使用integrate时,并没有得到集成常数,这对于下一步至关重要。

由于我没有限制,因此无法使用scipy.integrate.dblquad。相反,我是从SymPy导入integrate并进行两个单独的积分。这就是我所拥有的:

from sympy import integrate

x = Symbol('x')
a = 240
b = 160

f = 2*a*x**2 - b

g = integrate(f) 

h = integrate(g)

我想要得到的是:

g = 160*x**3 - 80*x**2 + C
h = 40*x**4 - 80*x**2 + Cx + c

其中Cc是积分常数。我的代码当前生成的方程式中没有常量。

1 个答案:

答案 0 :(得分:0)

从文档中

  

请注意,SymPy不包含积分常数。如果需要,可以自己加一个,也可以将问题改写为微分方程,然后使用dsolve求解,这确实会添加常数(请参见Solving Differential Equations)。

似乎他们确实在文档中做了介绍。一个人需要自己添加常数或重新构造问题并询问其他求解器!