发布网友 发布时间:2022-04-20 07:19
共2个回答
热心网友 时间:2022-04-06 15:26
使用sicpy.io即可.sicpy.io提供了两个函数loadmat和savemat,非常方便.
以前也有一些开源的库(pymat和pymat2等)来做这个事,
不过自从有了numpy和scipy以后,这些库都被抛弃了.
下面是一个简单的测试程序,具体的函数用法可以看帮助文档:
[python] view plaincopy在CODE上查看代码片派生到我的代码片
import scipy.io as sio
import matplotlib.pyplot as plt
import numpy as np
#matlab文件名
matfn=u'E:/python/测试程序/162250671_162251656_1244.mat'
data=sio.loadmat(matfn)
plt.close('all')
xi=data['xi']
yi=data['yi']
ui=data['ui']
vi=data['vi']
plt.figure(1)
plt.quiver( xi[::5,::5],yi[::5,::5],ui[::5,::5],vi[::5,::5])
plt.figure(2)
plt.contourf(xi,yi,ui)
plt.show()
sio.savemat('saveddata.mat', {'xi': xi,'yi': yi,'ui': ui,'vi': vi})
热心网友 时间:2022-04-06 16:44
# coding=utf-8
import scipy.io as sio
import numpy as np
# 将单个变量保存为mat文件, 同目录下就会有一个x.mat文件, 可以在matlab中打开了
x = [[1, 2, 3, 4], [5, 6, 7, 8]]
sio.savemat('x.mat', {'x': x})
# 将多个变量保存为mat文件
a, b, c, d = 1, 2, 3, 4
sio.savemat('abcd.mat', {'a': a, 'b': b, 'c': c, 'd': d})
# 读取mat文件
abcd = sio.loadmat('abcd.mat')
print(abcd['a'])
print(abcd['b'])
print(abcd['c'])
print(abcd['d'])