打印

simulink与python进行数据交互

[复制链接]
714|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2017-11-16 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
simulink与python进行数据交互


        simulink与python进行数据交互是基于HDF5这种数据存储格式的,因此有必要首先介绍一下HDF5,如下。
        HDF是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF可以表示出科学数据存储和分布的许多必要条件。HDF被设计为:
        自述性:对于一个HDF文件里的每一个数据对象,有关于该数据的综合信息(元数据)。在没有任何外部信息的情况下,HDF允许应用程序解释HDF文件的结构和内容。
        通用性:许多数据类型都可以被嵌入在一个HDF文件里。例如,通过使用合适的HDF数据结构,符号、数字和图形数据可以同时存储在一个HDF文件里。
        灵活性:HDF允许用户把相关的数据对象组合在一起,放到一个分层结构中,向数据对象添加描述和标签。它还允许用户把科学数据放到多个HDF文件里。
        扩展性:HDF极易容纳将来新增加的数据模式,容易与其他标准格式兼容。
        跨平台性:HDF是一个与平台无关的文件格式。HDF文件无需任何转换就可以在不同平台上使用。
        1、用simulink搭建一个模型,将需要的仿真数据导入到工作空间。如:time和I两组数据。
  • >> h5create('myfile.h5','/time',[19441 1]);
  • >> h5write('myfile.h5','/time', time);
  • >> h5create('myfile.h5','/I',[19441 1]);
  • >> h5write('myfile.h5','/I', I);

复制代码
       其中'myfile.h5'为创建的hdf5文件,'/time'为创建的dataset,[19441 1]为time的size。
        2、创建python脚本
  • f = h5py.File('myfile.h5', 'r')
  • I = f['I']
  • time = f['time']
  • plt.figure()
  • plt.plot(time[0, :], I[0, :])
  • plt.show()

复制代码
       通过以上两个步骤,就可以将simulink里的数据导入到python中进行分析及处理了。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝