matlab学习笔记4--MAT文件的保存和读取
一起来学matlab-matlab学习笔记4
数据导入和导出_1 MAT文件的保存和读取
觉得有用的话,欢迎一起讨论相互学习~
参考书籍
《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷
- MATLAB提供了将磁盘文件或剪贴板中的数据加载到工作空间的多种方法,称之为导入数据(ImportingData);同时也提供了多种将工作空间的变量保存到磁盘的方法,称之为导出数据(ExportingData).
- 选择不同的导入机制或导出机制取决于要传输的数据的格式,比如文本文件、二进制文件与JPEG文件。MATLAB内嵌了导入/导出以下格式文件的功能:
- 二进制文件。
- 文本文件。
- 图形文件。
- 音频或视频文件。
- 电子数据表。
- 剪贴板的数据。
- Internet的信息。
除了MATLAB的导入函数外,还可以用工具箱来导入具有特定特点的数据。例如,可以使用Database Toolbox来导入关系数据库的数据。
导入向导
- 导入向导是matlab提供的GUI界面用于导入数据,从文件导入数据,可在matlab命令窗口中选择File-->Import Data 命令或在命令行输入:
uiimport-file
- 若从剪贴板导入数据,则选择File-->Paste to Workspace 命令,或在命令窗口中输入:
uiimport -pastespecial
Example
- 导入一个文本文件的数据到MATLAB工作空间中。
Tom 100 75 85
Rob 86 92 88
Janm 93 68 97
Lily 79 90 96
- 和Excel一样,可以选择导入数据的分割符,可以选择“逗号”,“空格”,“制表符”,“分号” ,也可以选中其他单选按钮,然后在右侧文本框中输入自定义的分隔符。
- 可以选择以何种格式导入数据,可以选择的有“列矢量”,“数值矩阵”,“元胞数组”,“表”
- 并且这个操作步骤可以通过“导入数据”-“生成脚本”-“生成函数”等选项卡的方式重复进行。
- 使用列向量的方式读入数据后,工作区中的变量如:
- 使用数值矩阵读入数据后,工作区的变量如:
因为是数值矩阵所以每一行中的非数值单元格直接被省略为NaN表示不可使用数值进行操作的对象 - 使用元胞数组读入数据后,工作区的变量如:
- 使用表读入数据后,工作区的变量如:
导入导出MAT文件
SAVE函数
- 使用SAVE函数可以将工作空间的变量导出为二进制或者ASCII文件。可以保存工作空间中的所有变量,也可以保存指定的某些变量。将所有变量保存到filename文件中:
save filename
- 在保存指定变量时,变量名称中可包含通配符 “ * ” 。例如,下面的命令中保存所有开头为str的变量:
save filename str*
用 who -file filename 命令可以检查导入到此MAT文件中的数据。
保存MATLAB文件结构体变量
load函数
- load函数可将磁盘上的二进制文件或ASCII文件导入到MATLAB工作空间:
load filename
或者直接双击mat文件即可将变量导入工作空间中。 - 导入指定的变量(同样可以使用通配符 “ * ”)
load filename var1 var2 ...varn - 也可以将MAT文件中的数据导入到一个结构体中:
S=load('data.mat')