0
点赞
收藏
分享

微信扫一扫

python的数据与matlab互通:SciPy

雨鸣静声 2022-01-23 阅读 46

一、python利用scipy.io.savemat()存储日志

参考:https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html

(一)语法

scipy.io.savemat(file_name, mdict, appendmat = Trueformat = '5', long_field_names = False, do_compression = False, oned_as = 'row')
参数
file_name:str
      .mat 文件的名称(如果没有扩展名,需要设置appendmat == True)
mdict:dict
      从中保存 matfile 变量的字典。
appendmat:布尔值,可选
      True(默认值)将 .mat 扩展名附加到给定文件名的末尾(如果尚不存在)。
fomat:{'5', '4'},字符串,可选
      '5'(默认值)用于 MATLAB 5 及更高版本(至 7.2),'4' 用于 MATLAB 4 .mat 文件。
long_field_names:布尔型,可选
      False(默认值)- 结构中的最大字段名称长度为 31 个字符,这是记录的最大长度。True - 结构中的最大字段名称长度为 63 个字符,适用于 MATLAB 7.6+。
do_compression:布尔值,可选
      是否在写入时压缩矩阵。默认为假。
oned_as :{'row', 'column'},可选
      如果是 'column',则将一维 NumPy 数组写为列向量。如果为“行”,则将一维 NumPy 数组写为行向量。

(二)例子

from scipy import io
import numpy as np
arr = np.arange(10)

io.savemat('arr.mat', {"vec": arr})
#如果存入多组数据
io.savemat('saveddata.mat', {'xi': xi,'yi': yi,'ui': ui,'vi': vi})

二、利用matlab读取mat日志的方法

(一)载入日志文件

mat_struct=load('C:\Users\XXX\Desktop\task3-2022y01m23d-17h52m.mat');

(二)取出元素

mat_struct=load('C:\Users\XXX\Desktop\task3-2022y01m23d-17h52m.mat');
ans=mat_struct.ans;
select_info=mat_struct.select_info;
select_info_p=mat_struct.select_info_p;
clear mat_struct;
举报

相关推荐

0 条评论