我想用scipy.signal.lti
和scipy.signal.impulse
函数来计算传递函数。我用以下方式导入scipy
模块。在
import scipy as sp
import numpy as np
import matplotlib.pyplot as plt
from math import *
但是,当我键入以下脚本时
^{pr2}$内核给出一个错误:
---> 10 tf = sp.signal.lti(numH, denH)
AttributeError: 'module' object has no attribute 'signal'
我尝试了另一种方法来导入信号模块
from scipy.signal import lti, step, impulse
然后,剧本起作用了
tf = lti(numH, denH)
所以,我的问题是,我们必须导入脚本中的每个子包吗?那么导入scipy
包的意义何在?在
谢谢。在
来自
scipy
文档:或
from scipy import cluster
。在做一个简单的
查看
site-packages/scipy/__init__.py
文件以了解更多详细信息。将其与numpy
init进行比较。在numpy
是一个集成包,scipy
是松散集成包的集合。numpy
是每个人都使用的基本数字包。scipy
子包彼此相对独立。我可以加载和使用sparse
,而不知道signal
或{在python包中导入模块的默认行为在包目录中的的脚本。在
__init__.py
文件中定义。您可以locate
这个scipy目录,或者使用ipython
,import scipy
找到这个目录,然后用问号调用scipy?
来获取路径。默认情况下,scipy
似乎只导入numpy。{{8}你需要一个您可以按本文question中所述编辑
__init__.py
,这将减少样板文件的导入,尽管可能不建议这样做,因为这样会产生不可移植的代码,并可能导致名称冲突。在相关问题 更多 >
编程相关推荐