前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用python读取matlab数据文件.mat

使用python读取matlab数据文件.mat

作者头像
羽翰尘
修改2019-11-26 17:06:57
2.4K0
修改2019-11-26 17:06:57
举报
文章被收录于专栏:技术向

本文由腾讯云+社区自动同步,原文地址 https://cloud.tencent.com/developer/article/1540864

两种在matlab和python间共享数据的方法。

一是用scipy

二是用h5py

scipy提供了loadmat和savemat来读写.mat文件

代码语言:txt
复制
import scipy.io as sio
#matlab文件名 
matfn=u'your_file_name'
data=sio.loadmat(matfn)
#注意中括号里面的名称是在.mat中的,在matlab生成数据时确定 
xi = data['xi']
yi = data['yi']

python存储.mat文件供matlab使用

代码语言:txt
复制
import scipy.io as sio
import numpy as np
 
###下面是讲解python怎么读取.mat文件以及怎么处理得到的结果###
load_fn = 'xxx.mat'
load_data = sio.loadmat(load_fn)
load_matrix = load_data['matrix'] #假设文件中存有字符变量是matrix,例如matlab中save(load_fn, 'matrix');当然可以保存多个save(load_fn, 'matrix_x', 'matrix_y', ...);
load_matrix_row = load_matrix[0] #取了当时matlab中matrix的第一行,python中数组行排列
 
###下面是讲解python怎么保存.mat文件供matlab程序使用###
save_fn = 'xxx.mat'
save_array = np.array([1,2,3,4])
sio.savemat(save_fn, {'array': save_array}) #和上面的一样,存在了array变量的第一行
 
save_array_x = np.array([1,2,3,4])
save_array_y = np.array([5,6,7,8])
sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x}) #同理,只是存入了两个不同的变量供

python还提供了h5py来读取mat文件,针对使用scipy出现 NotImplementedError

传送门

http://blog.stackoverflow.club/hdf5-usage/

Reference

  1. http://www.jb51.net/article/135384.htm
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • scipy提供了loadmat和savemat来读写.mat文件
  • python存储.mat文件供matlab使用
  • python还提供了h5py来读取mat文件,针对使用scipy出现 NotImplementedError
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档