数据分析是建模前的第一步,数据集的质量直接决定了所建立模型的质量。数据的分析包含了数据的导入和导出、访问大型文件和大样本数据集、数据的预处理、数据的分析四个维度。接下的文章将详细为大家剖析在MATLAB中,如何对数据进行处理和分析,由于篇幅限制,因此本篇文章中将首先介绍数据的导入和导出。 在特定的领域内,往往一次性需要处理的数据可达万级及以上,此时就需要用到本小节所介绍的内容。针对不同的领域需求,所使用的数据格式也存在不同,因此需要针对于不同的数据类型进行介绍。 常见的文本文件为“.xls”、“.xlsx”、“.csv”和“.txt”几种,针对于文本文件的导入方式大体上可以分为两类: Ⅰ. 通过函数导入 以下代码中的案例都是MATLAB中自带的数据集,有兴趣的同学可以用自己的数据集做尝试。 1.将文件以表格式写入MATLAB % 函数:readtable % 语法 ① T = readtable(filename) 通过从文件中读取列向数据来创建表 ② T = readtable(filename,opts) 使用导入选项 opts 创建表 ③ T = readtable(___,Name,Value) 基于文件创建一个表,并通过一个或多个名称-值对组参数指定其他选项 2.将文件以时间表格式写入MATLAB % 函数:readtimetable % 语法 ① TT = readtimetable(filename) 通过从文件中读取列向数据来创建时间表 ② TT = readtimetable(filename,opts) 使用导入选项 opts ③ TT = readtimetable(___,Name,Value) 基于文件创建一个时间表,并通过一个或多个名称-值对组参数指定其他选项
3.将文件以元胞格式写入MATLAB % 函数:readcell % 语法 ① C = readcell(filename) 通过从文件中读取列向数据来创建元胞数组 ② C = readcell(filename,opts) 使用导入选项 opts ③ C = readcell(___,Name,Value) 基于文件创建元胞数组,并通过一个或多个名称-值对组参数指定其他选项
4.将文件以矩阵格式写入MATLAB % 函数:readmatrix % 语法 ① A = readmatrix(filename) 通过从文件中读取列向数据来创建数组 ② A = readmatrix(filename,opts) 使用导入选项 opts ③ A = readmatrix(___,Name,Value) 基于文件创建一个数组,并通过一个或多个名称-值对组参数指定其他选项
5.将文件以文本格式写入MATLAB % 函数:readlines % 语法 ① S = readlines(filename) 通过读取一个包含 N 行的文件创建一个 N×1 字符串数组 ② S = readlines(filename,Name,Value) 基于文件创建一个字符串数组,并通过一个或多个名称-值对组参数指定其他选项 6.此外,还有一个“importdata”函数可以不区分数据类型,将数据导入MATLAB中 可以参考以下文档:https://www./help/releases/R2022b/matlab/ref/importdata.html Ⅱ . 通过工具导入 在MATLAB界面中,设有交互式工具导入窗口: ①点击下图红框按钮,选择你要打开的文件选择导入; ②导入后可以进入下面的界面,在该界面中有以下几个方面值得注意:
2.选择导入文本的数据范围,默认为全部导入; 在变量名称行中,可以指定以哪一行作为整个文件的标签行。 3.在输出类型中可以指定你想将文件以哪种数据类型导入MATLAB中; 对于文本类型数据,有专门的的文本选项
5.前面四步设定完后,选择导入数据,即可将文件内容转为设定好的数据导入;
由以上案例可以发现,我们所保存的文件都以指定的格式存储到了当前目录下。 在MATLAB中支持JPEG、TIFF、PNG以及其他常见格式的图像文件,了解如何导入导出图像文件对图神经网络模型非常重要,在MATLAB中,针对图像的导入导出函数十分简洁明了。
%% imfinfo函数 % 语法 info = imfinfo(filename) 返回一个结构体,该结构体的字段包含有关图形文件filename中的图像的信息 info = imfinfo(filename,fmt) 在MATLAB找不到名为filename的文件时另外查找名为filename.fmt的文件; “fmt”表示的是图片的格式,如png、jpg等
%% imwrite函数 % 语法 imwrite(A,filename) 将图像数据A写入filename指定的文件,并从扩展名推断出文件格式 imwrite(A,map,filename) 将A中的索引图像及其关联的颜色图map写入由filename指定的文件 imwrite(___,fmt) 以fmt指定的格式写入图像,无论filename中的文件扩展名如何 imwrite(___,Name,Value) 使用一个或多个名称-值参数,以指定GIF、HDF、JPEG、PBM、PGM、PNG、PPM和TIFF文件输出的其他参数 如下图所示,写入完成后会在当前目录下保存相应的图片: 由于视频和音频很难通过公众号文章演示,因此这里只将相应的函数进行介绍,有需求或兴趣的同学可以自行查阅文档进行试验,官方文档链接如下:
本期内容对于在MATLAB中如何导入和导出文本、图像和视频音频文件,这几种数据类型基本囊括了我们科研工作中99%的数据类型。 但是在特定情况下,我们所要处理的数据集和文件集可能存在以下情况: ①现有内存无法容纳; ②需要很长处理时间的文件; ③许多小型文件的集合。 此时无法通过单一的方法完成,或者所需时间特别久,因此下一期将会对大型文件集合和大型数据集的处理进行介绍。最后,码字不易,大家动动小手点个赞吧~ |
|
来自: Jason_Cheng3hi > 《MATLAB》