import scipy.io as sio
import matplotlib.pyplot as plt
#python创建一个mat文件
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
sio.savemat('saveddata.mat', {'x': x,'y': y,'z': z}) #变量分别保存在名字为xyz下面
#Python打印产生的mat文件
a = sio.loadmat('saveddata.mat') #加载文件
print('a is:',a)
print(a.keys()) #查看变量名字,发现是x,y,z
#分别获取变量
x = a['x']
y = a['y']
z = a['z']
print(x,y,z,'\n\n\n')
#画图开始
plt.figure(1)
plt.plot(a['x'])
plt.figure(2)
plt.plot(a['y'])
plt.show() #程序运行到这里会停下,直到你把生成的2个图片关闭掉,才会继续运行
'''
MATLAB创建一个mat文件命令行代码解释
magic解释:创建一个N*N的矩阵,内容从1到N*N随机变化
magic Magic square.
magic(N) is an N-by-N matrix constructed from the integers
1 through N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for all N > 0 except N = 2.
MATLAB创建一个mat文件命令行代码为:
matrix1 = magic(5);
matrix2 = magic(6);
save matData.mat
matrix1 is
[[17 24 1 8 15]
[23 5 7 14 16]
[ 4 6 13 20 22]
[10 12 19 21 3]
[11 18 25 2 9]]
matrix2 is
[[35 1 6 26 19 24]
[ 3 32 7 21 23 25]
[31 9 2 22 27 20]
[ 8 28 33 17 10 15]
[30 5 34 12 14 16]
[ 4 36 29 13 18 11]]
'''
#打开一个mat文件
data = sio.loadmat('matData.mat') #加载文件
print(data.keys()) #查看文件中所有变量
print('matrix1 is\n',data['matrix1']) #打印变量名对应的内容
print('matrix2 is\n',data['matrix2'])
matrix1 = data['matrix1'] #把内容赋值给变量
matrix2 = data['matrix2']
print('matrix1 and matrix2 are:\n',matrix1,'\n\n',matrix2) #打印新的变量
matData2= sio.savemat('matData2.mat',{'x':matrix1,'y':matrix2}) #变量分别保存在名字为xyz下面
data2 = sio.loadmat('matData2.mat')#加载文件
print(data2.keys()) #查看文件中所有变量,说明创建新文件成功
#############画图开始
plt.figure(3)
plt.plot(data['matrix1'])
plt.figure(4)
plt.plot(data['matrix2'])
plt.show()