python中的模拟。

ScipySim的Python项目详细描述


scipy模拟器提供了一种并发的建模和模拟方法 使用scipy的python中的异构系统。你可能会发现它很有用 对于涉及嵌入式系统信号处理的任务。

scipysim模型是用纯python代码创建的,通过实例化 代表系统不同组件的参与者,并连接 演员们通过各种渠道互相交流。这里有一个简单的例子 模型看起来像:

#!/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项目的灵感来自加州大学伯克利分校托勒密项目,但是 我们采取了稍微不同的方法来实现 模拟引擎。我们的方法是基于实现模拟器 作为一个卡恩的演员网络,通过标记的信号进行交流。每个 这些参与者在自己的线程中运行,并通过专用的 基于线程安全fifo队列实现的通道 在python标准库中。这些底层参与者可以组成 一起创造模型,这些模型本身也是演员- 在自己的线程中运行,所有通信都通过 输入和输出通道。

scipysim仍在积极开发中,它包含一个 实验或原型组件的数量。的结构 模拟器处于不稳定状态,因此不能保证模型 为与特定版本一起使用而开发的版本仍将与下一个版本一起使用。

测试SCIPY模拟器

scipy模拟器附带了大量单元测试。 所有测试都可以使用nosetests作为一个套件运行:

nosetests

名为test_scipysim.py的助手脚本已放置在scipysim中 启动鼻测试的模块:

./scipysim/test_scipysim.py

如果您是从存储库下载的,则可以使用setuptools运行测试:

python setup.py test

测试也可以在模块层次结构中找到,并单独运行:

python ./scipysim/actors/io/test_io.py

安装scipy模拟器

您可以使用以下命令将scipysim安装到主站点包文件夹:

sudo python setup.py install

在Linux或Mac OS X上;并且:

python setup.py install

在窗户上。安装在一个更加沙盒化的“开发”环境中 用develop代替install,例如:

sudo python setup.py develop

这将在当前目录中安装一个egg并链接到包 在您的网站包文件夹中。

创建二进制安装程序

首先要清除过时的.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 AC Dot NZ)
  • Allan McInnes(坎特伯雷的Allan Dot McInnes,AC Dot NZ)

项目站点

主要的开发工作发生在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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么程序显示空结果?   java应用程序在测试设备上调试时工作正常,但在发布版apk中没有,它没有获得post。来自firebase的类变量   java Android:从主活动按钮确定在listview中选中哪个复选框   在Spring中添加@OneToOne注释时启动ApplicationContext时发生java错误   用JAVA Android实现矩阵计算的最快方法   SpringJava语义有没有更好的编写方法?   java从hashmap中减去两个值后返回最小差值的键?   Java中的静态初始化顺序:Netty 4.0.7的例外   java如何检查用户输入是否为字符串   循环Java计数单词索引   java如何使用以下代码将视频流传输到Android异步Http服务器?   java如何在jtable的所有行中循环   java如何使用maven将unicode插入mysql   java使用安卓加速远程数据检索   java试图模拟麦克风(javax.sound.sampled)   swing SwingWorker从不归还任何东西?(爪哇)   首次在Android Studio上未加载java LibGDX文件   java如何在多个Mysql服务器上设置限制和偏移?   如何防止从java连接到mongodb时登录控制台?