您的位置:首页 > 编程语言 > Python开发

simulink与python进行数据交互

2012-08-09 21:38 429 查看
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脚本(需要安装h5py扩展包,下载地址:http://code.google.com/p/h5py/
f = h5py.File('myfile.h5', 'r')
I = f['I']
time = f['time']
plt.figure()
plt.plot(time[0, :], I[0, :])
plt.show()
 通过以上两个步骤,就可以将simulink里的数据导入到python中进行分析及处理了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: