SciPy 教程 之 SciPy Matlab 数组 1

简介: 本教程介绍了如何使用 SciPy 的 `scipy.io` 模块处理 Matlab 数组。通过 `savemat()` 方法可以将数据导出为 Matlab 格式的文件,而 `loadmat()` 方法则用于从 Matlab 文件中导入数据。示例展示了如何导出和导入一维数组,并解决了导入时数组维度增加的问题。

SciPy 教程 之 SciPy Matlab 数组 1

SciPy Matlab 数组

NumPy 提供了 Python 可读格式的数据保存方法。

SciPy 提供了与 Matlab 的交互的方法。

SciPy 的 scipy.io 模块提供了很多函数来处理 Matlab 的数组。

以 Matlab 格式导出数据
savemat() 方法可以导出 Matlab 格式的数据。

filename - 保存数据的文件名。
mdict - 包含数据的字典。
do_compression - 布尔值,指定结果数据是否压缩。默认为 False。
将数组作为变量 "vec" 导出到 mat 文件:

实例
from scipy import io
import numpy as np

arr = np.arange(10)

io.savemat('arr.mat', {"vec": arr})
注意:上面的代码会在您的计算机上保存了一个名为 "arr.mat" 的文件。

导入 Matlab 格式数据
loadmat() 方法可以导入 Matlab 格式数据。

该方法参数:

filename - 保存数据的文件名。
返回一个结构化数组,其键是变量名,对应的值是变量值。

以下实例从 mat 文件中导入数组:

实例
from scipy import io
import numpy as np

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,])

导出

io.savemat('arr.mat', {"vec": arr})

导入

mydata = io.loadmat('arr.mat')

print(mydata)
返回结果如下:

{
'header': b'MATLAB 5.0 MAT-file Platform: nt, Created on: Tue Sep 22 13:12:32 2020',
'version': '1.0',
'globals': [],
'vec': array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
}
实例
from scipy import io
import numpy as np

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,])

导出

io.savemat('arr.mat', {"vec": arr})

导入

mydata = io.loadmat('arr.mat')

print(mydata['vec'])
返回结果如下:

[[0 1 2 3 4 5 6 7 8 9]]
从结果可以看出数组最初是一维的,但在提取时它增加了一个维度,变成了二维数组。

解决这个问题可以传递一个额外的参数 squeeze_me=True:

实例
from scipy import io
import numpy as np

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,])

导出

io.savemat('arr.mat', {"vec": arr})

导入

mydata = io.loadmat('arr.mat', squeeze_me=True)

print(mydata['vec'])
返回结果如下:

[0 1 2 3 4 5 6 7 8 9]

目录
相关文章
|
7月前
【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)
【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)
|
7月前
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
133 0
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
|
4月前
|
Go C++ Windows
Matlab 冰壶仿真游戏安装及教程
在Matlab上安装并运行冰壶仿真游戏的详细教程,包括编译环境准备、通过APP安装或直接运行源代码的方式,以及游戏的基本操作步骤。
39 0
|
6月前
|
算法 数据可视化 数据挖掘
大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)
MATLAB(Matrix Laboratory)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能,为众多科学领域提供了全面的解决方案。
|
6月前
|
算法 数据可视化 数据挖掘
大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)
MATLAB(Matrix Laboratory)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能,为众多科学领域提供了全面的解决方案。
|
6月前
|
数据可视化 数据挖掘 计算机视觉
Matlab教程:入门指南
Matlab教程:入门指南
|
7月前
MATLAB2022安装下载教程
MATLAB2022安装下载教程
842 2
|
7月前
|
编解码 移动开发 资源调度
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
94 0
|
7月前
第三章:MATLAB基础教程:控制流程和条件语句
第三章:MATLAB基础教程:控制流程和条件语句
74 0
|
7月前
|
存储 索引
第二章:MATLAB基础教程:数组和矩阵运算
第二章:MATLAB基础教程:数组和矩阵运算
110 0