Mul对象没有real属性

0 投票
2 回答
1940 浏览
提问于 2025-04-17 23:35

我正在使用这个链接中的代码: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

你需要定义KFs,这样最后的结果会是一个数字。

如果结果是由sympy生成的符号表达式,你可以试试使用re这个函数来获取它的实部。

撰写回答