2024-04-26 20:20:29 发布
网友
我用sympy计算了一些积分,如下所示。在
#Calculate Calculus import sympy x = sympy.Symbol('x') f = (6-x*x)**(1.5) f.integrate()
这将失败并抛出如下异常:
如果我只用一个整数作为幂数就可以了
f = (6-x*x)**(2) #result: x**5/5 - 4*x**3 + 36*x
前面的答案是正确的,我只是在这里公布我的最终结果
import sympy frac = sympy.Rational x = sympy.symbols('x') f1 = (x+3)/(6-x**2)**(frac('1.5')) f1.integrate()
我的猜测是1.5表达式被视为浮点,这是不精确的。你需要一个符号化的(精确的)表示。(我想,如果你在计算积分之后,浮点可能是可以的,因为支持计算积分的数学库通常会使用积分近似方法来计算积分。)如果你需要计算任意有理指数,可以考虑使用sympy.Rational。Here's关于StackOverflow的相关答案似乎支持这一点。我认为sympy.Rational的文档是here。 您可以尝试以下修改后的代码here:
1.5
sympy.Rational
#Calculate Calculus import sympy frac = sympy.Rational x = sympy.Symbol('x') f = (6-x*x)**(frac('1.5')) f.integrate()
前面的答案是正确的,我只是在这里公布我的最终结果
我的猜测是
1.5
表达式被视为浮点,这是不精确的。你需要一个符号化的(精确的)表示。(我想,如果你在计算积分之后,浮点可能是可以的,因为支持计算积分的数学库通常会使用积分近似方法来计算积分。)如果你需要计算任意有理指数,可以考虑使用sympy.Rational
。Here's关于StackOverflow的相关答案似乎支持这一点。我认为sympy.Rational
的文档是here。 您可以尝试以下修改后的代码here:相关问题 更多 >
编程相关推荐