症状整合的错误结果

时间:2015-10-02 22:47:48

标签: integration sympy

这个表达式返回零,但它不应该 P = x ^ 6-14x ^ 4 + 49x ^ 2-36
积分(1 / P,(x,1 / 3,1 / 2))
我也使用扩展表达式,没有任何结果。 我做错了什么还是这个错误?

1 个答案:

答案 0 :(得分:0)

这有效:

from sympy import *

x = symbols('x')
P = x**6-14*x**4+49*x**2-36
I = integrate(1/expand(P), (x, S.One/3, S.One/2))

我得到了结果:

In [5]: I
Out[5]: -3*log(3)/80 - log(7)/48 - log(2)/48 - log(8)/240 + log(10)/240 + log(4)/48 + 3*log(5)/80

In [6]: I.n()
Out[6]: -0.00601350282195297

另外,您可以运行命令 isympy -i ,这将运行SymPy提示符,在SymPy解析器评估输入之前,将所有Python整数转换为SymPy整数。

Python 2和Python 3之间的Python整数除法不同,第一个返回和整数,第二个返回一个浮点数。两个版本都与SymPy整数除法不同,后者返回分数。要使用SymPy除法,您需要确保被除数和除数中的至少一个是SymPy对象。