Python上的这部分程序使用SymPy库。 因此,它会在 sympy.core.add.Add 类中生成一个值,该值不能与该程序的其他部分一起使用。
from sympy import *
x = symbols('x')
y = 1 - (0.1 * coeff1) / (x + 2) - sin(x) * (2 * x + coeff1)
yprime = y.diff(x)
如何将 sympy.core.add.Add 类转换为普通 float 或 int ,以便使用变量 yprime < / strong>进一步计算?
答案 0 :(得分:0)
我想你可以看看这里的文档http://docs.sympy.org/dev/modules/core.html#module-sympy.core.add 对于sympy.core.add.Add类型,有一些以“as_”开头的函数,您可以使用它们将add.add转换为其他格式,然后更改为float或int。
答案 1 :(得分:0)
用
结束代码怎么样?yprime = float(yprime)
答案 2 :(得分:0)
我刚刚找到了解决方案。
使用yprime=float(yprime)
无效,因为yprime
仅是numpy
类的元素。
但是您可以转换该元素,以使python标准语言能够读取它。
尝试:
yprime=str(yprime)
#this will transform yprime to a string
yprime=eval(yprime)
#this will return a float or a int object so you can do calculations without any problem but make sure that the constants are well defined.