【问题标题】:How to integrate without limits in SymPy?如何在 SymPy 中无限制地集成?
【发布时间】:2019-02-04 21:45:33
【问题描述】:

我收到了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 是积分常数。我的代码目前生成没有常数的方程。

【问题讨论】:

  • 您可以简单地添加常量,例如c = Symbol('c')integrate(f) + c
  • sympy 能给你什么?文档是怎么说的?

标签: python math sympy symbolic-math calculus


【解决方案1】:

来自文档:

请注意,SymPy 不包括积分常数。如果需要,您可以自己添加一个,或者将您的问题改写为一个微分方程并使用 dsolve 来解决它,它确实添加了常数(请参阅Solving Differential Equations)。

似乎他们确实在文档中涵盖了这一点。需要自己添加常数或重新构建问题并询问不同的求解器!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    相关资源
    最近更新 更多