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