Python中的模拟。
项目描述
Scipy Simulator提供了一个在Python中使用scipy对异构系统进行建模和模拟的并发方法。您可能会发现它在涉及嵌入式系统或信号处理的任务中最为有用。
Scipysim模型通过实例化代表系统不同组件的各种演员,并通过通道将演员相互连接来创建。以下是一个简单的模型示例
#!/usr/bin/env python from scipysim.actors.signal import Ramp from scipysim.actors.display import Plotter from scipysim.actors import Channel, Model class RampPlot( Model ): def __init__( self ): super( RampPlot, self ).__init__() connection = Channel() src = Ramp( connection ) dst = Plotter( connection ) self.components = [src, dst] RampPlot().run()
您可以在“models”目录中找到其他模型的示例。
Scipysim项目受到加州大学伯克利分校Ptolemy项目的影响,但我们在实现模拟引擎方面采取了略有不同的方法。我们的方法基于将模拟器实现为通过标记信号进行通信的Kahn网络演员。每个这些演员都在自己的线程中运行,并通过专用通道进行通信 - 这些通道基于Python标准库中线程安全的FIFO队列实现。这些基础级别的演员可以组合在一起创建模型,这些模型本身也是演员 - 在自己的线程中运行,所有通信都通过输入和输出通道进行。
Scipysim目前仍处于积极开发阶段,包含许多实验性或原型组件。模拟器的结构处于不断变化之中,因此无法保证使用特定版本开发出的模型在下一个版本中仍能正常工作。
测试Scipy模拟器
Scipy模拟器附带了一大批单元测试。所有测试都可以使用nosetests作为套件运行
nosetests
在scipysim模块中放置了一个名为test_scipysim.py的辅助脚本,用于启动nosetests
./scipysim/test_scipysim.py
如果您从仓库下载,可以使用setuptools运行测试
python setup.py test
测试也可以在模块层次结构中找到并单独运行
python ./scipysim/actors/io/test_io.py
安装Scipy模拟器
您可以使用以下命令将scipysim安装到主site-packages文件夹中
sudo python setup.py install
在Linux或Mac OS X上;以及在
python setup.py install
在Windows上。要在更沙箱化的“开发”环境中安装,将install替换为develop,例如
sudo python setup.py develop
这将在此目录中安装一个egg,并将其链接到site-packages文件夹中的包。
创建二进制安装程序
首先,使用以下命令清理过时的.pyc或.pyo文件
python setup.py clean --all
按照以下方式生成构建的发行版
python setup.py bdist
在Windows上,为了制作一个漂亮的GUI安装程序
python setup.py bdist --format wininst
同样,可以使用以下命令创建源发行版
python setup.py sdist
贡献者
该项目由坎特伯雷大学电气与计算机工程系(http://www.elec.canterbury.ac.nz/)发起
Brian Thorne(brian dot thorne at canterbury dot ac dot nz)
Allan McInnes(allan dot mcinnes at canterbury dot ac dot nz)
项目网站
主要开发在Google Code上进行,网址为http://scipy-sim.googlecode.com
为scipysim做出贡献
首先,使用mercurial获取源代码
hg clone https://scipy-sim.googlecode.com/hg/ scipy-sim
然后通过创建一个新问题http://code.google.com/p/scipy-sim/issues/entry向我们发送补丁
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源发行版
构建发行版
ScipySim-0.1.5.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ad75691c2e74a6b8ce770cc278d16254d3aa02029b1c81c8da1a5a3b42c4cef |
|
MD5 | c408eddc3097d2cb632c5e873a7d00d2 |
|
BLAKE2b-256 | 7772fefaa7a0c1df04196658c878394f6eddf7f06c87ef497bed0b01443b3dcf |
ScipySim-0.1.5-py2.6.egg的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97b4fad82bb1de894933f43bc1a21d0ac3cc53f314198d8ed454fbcc6f6347ab |
|
MD5 | f9413e940a45a505b5f4cf7014daa53a |
|
BLAKE2b-256 | 7ea2cc7c8e9718fba40e86ed37c9f8878bd2a5aa763ad992d84d43447d5c5f18 |