我正在尝试对下面的递归函数进行渐近分析,以获得一个数字的幂的有效方法。我很难确定递归方程,因为当幂是奇数和幂是偶数时,我有不同的方程。我不确定如何处理这种情况。我知道运行时间是theta(logn),所以任何关于如何处理这个结果的建议都将不胜感激。
Recursive-Power(x, n):
if n == 1
return x
if n is even
y = Recursive-Power(x, n/2)
return y*y
else
y = Recursive-Power(x, (n-1)/2)
return y*y*x
from sympy import *
import matplotlib.pyplot as plt
x,y=symbols('x y', real =True)
M=5*x*sqrt(x)+7*y**2/sqrt(x)
N=28*y*sqrt(x)
if diff(M,y) == diff(N,x):
print("The equation is exact")
else:
print("The equation is not Exact")
y=Function('y')
deq=(5*x*sqrt(x)+7
我一直在使用Python计算数学方程式。例如:
from sympy import Symbol, Derivative, Integral
x = Symbol('x')
d = Symbol('d')
Integral(8*x**(6/5)-7*x**(3/2),x).doit()
这将导致输出:
3.63636363636364*x**2.2 - 2.8*x**2.5
有没有办法将这个答案显示为分数而不是小数?我希望看到如下输出:
(40/11)*x**(11/5)-(14/5)*x**(5/2)+C
我有一个方程式要解。我使用SymPy live控制台得到了一个合适的结果,它可以在他们的网站上找到。然而,当我试图在我的本地计算机上重现相同的结果时,我得到了一个ConditionSet,并且我无法求解这个方程。
完全相同的方程不能在本地求解。我不确定是不是分区有问题(但我正在导入__future__.division),缺少LaTex库,或者其他一些设置?
以下是来自SymPy live的命令:
Python console for SymPy 1.0 (Python 2.7.12)
These commands were executed:
>>> from __fut
我有一组二次方程,比如
x² + x + y = 7
x + 3y = -3
y² + x² + z = 11
所有系数都是整数。这组方程可以没有解,也可以是一组解中的一个解。
有谁知道这些方程是否有解的方法?
我的第一个想法是一个接一个地求解这些方程,然后用结果来求解其他方程。问题是舍入误差:如果,在理论上,我有两个方程
x + y = 5
x = 5 - y
将会有很多解决方案。但是如果我的方法结果是
x + y = 4.999999
x = 5 - y
系统突然没有解决方案。在下一步中,我可以添加epsilon来补偿舍入误差,但我不确定它们应该有多大。有什么想法或更好的方法吗?
PS:背