Mul对象没有real属性
我正在使用这个链接中的代码:http://code.activestate.com/recipes/127469-numerical-inversion-of-laplace-transforms-through-/
来计算一个复杂方程的拉普拉斯反变换。
我把这个代码复制粘贴到了我的ipython笔记本里,但在对我需要反变换的函数进行计算时,出现了这个错误:
AttributeError: 'Mul' object has no attribute 'real'
具体来说,在上面链接中的这行代码出错了:(K[j]*Fs(a[j]/t)).real
我觉得这可能和我的导入的库有关,但我不太确定,因为我对python完全是个新手。不过这是我导入的库:
import cmath as cm
from cmath import *
import sympy as sym
from sympy import *
我知道不应该使用from import *,但我试了很多方法想让它工作。而且cmath是从上面的链接中引入的。
如果能对这个错误提供一些见解就太好了,谢谢!
2 个回答
0
与其直接复制代码,不如试试点击一下 下载 按钮。这个代码在 Python 2.7.6 里运行得很好,可能是你复制的时候出了点问题。
0
在Python中,int
(整数)、float
(浮点数)和complex
(复数)这些数据类型都有一个叫做.real
的属性。
>>> 1 .real
1
>>> 1. .real
1.0
>>> 1j.real
0.0
你需要定义K
和Fs
,这样最后的结果会是一个数字。
如果结果是由sympy
生成的符号表达式,你可以试试使用re
这个函数来获取它的实部。