kri*_*nab 5 python math sympy python-3.x ipython-notebook
所以我直接从sympy文档中尝试了一个例子,我收到了一个奇怪的错误.我正在使用python 3.2和sympy 0.7.3.我一直在ipython笔记本上工作,虽然我不认为这应该有所作为.错误是每当我创建一个"x"符号并尝试集成math.cos(x)时,我得到一个错误,说"无法将表达式转换为浮点数".
这是一个代码示例.这是从sympy文档中获取的.
import sympy
import math
x = sympy.Symbol('x')
sympy.integrate(x**2 * math.exp(x) * math.cos(x), x)
Run Code Online (Sandbox Code Playgroud)
结果的错误消息是:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-123-84e55454fb60> in <module>()
----> 1 sympy.integrate(x**2 * math.exp(x) * math.cos(x), x)
/usr/local/lib/python3.2/dist-packages/sympy/core/expr.py in __float__(self)
242 if result.is_number and result.as_real_imag()[1]:
243 raise TypeError("can't convert complex to float")
--> 244 raise TypeError("can't convert expression to float")
245
246 def __complex__(self):
TypeError: can't convert expression to float
Run Code Online (Sandbox Code Playgroud)
任何建议,将不胜感激.
不能混合通过创建符号数学表达式sympy
与正常功能,只是计算的值(如从的那些库math
库如果您要创建一个象征性的表现,你应该总是用.sympy
功能(sympy.exp
,sympy.cos
,sympy.log
等):
x = sympy.Symbol('x')
sympy.integrate(x**2 * sympy.exp(x) * sympy.cos(x), x)
Run Code Online (Sandbox Code Playgroud)
运营商如*
,+
,-
...是通过物体在超载sympy
库,以便您可以在表达式中使用它们,但你不能用正常的函数,直接计算出的值.
归档时间: |
|
查看次数: |
2538 次 |
最近记录: |