Matlab-基础篇(二)

上次说到各种数据类型,这次着重讲讲如何提取不同文件中的数据。
常见的文件类型有文本文件(.txt/.dat)、表格文件(.xls/.xlsx)、图像数据(.jpg)、视频数据(.mp4)、特殊类型文件(.fits/.cdf)等。分别有相应的文件读取函数:load/importdata、xlsread、imread、VideoReader、fitsread、cdfread。由于篇幅有限,暂时以文本文件、表格文件、特殊文件作为内容进行讲解,其余的具体使用可以在命令行中输入”help 函数名“,即可查看对用函数的具体使用方法和注意事项(以后这种内置函数具体的其他使用过程参考此法,不做赘述)。
针对文本文件,通常有1.无表头纯数据和2.带表头、表尾多行注释文件。前者可直接使用load函数进行调用,而后者在批处理过程中,则需要重新读写文本数据的过程,下面给出如何从2到1的过程处理,如图一。

注意:这里指的所有文本文件均应考虑可以在‘editplus’软件中打开查看,数字0到9的ASCII编码值在48到57。若在editplus中能查看的数据文本,但不能直接用load或importdata命令行打开的(如:.sts),也需要用这种方式进行最原始的文本数据重读写,再进行后续操作。
处理后,应当考虑如下数据调用过程,如图二。

注意:.mat格式是Matlab自带的数据格式,如果在原变量区有很多变量,用save一并保存就可以在下一次直接使用load就可以把所有变量重新导入当前工作区,不用再重新运行一次程序,当然也可以存储单个变量到.mat文件中,相对读取速度要高于其他文本文件类型;这里的path指的是紧跟的文件所在路径,一般在同目录下的可以省略path;[...]内容可以一并省略。
在读取文件数据成功后,在Matlab界面的变量区就可以看到不同类型的数据。如基础篇(一)中提到的字符型(str/char)、数型(single/double)或本身数据型(mat)、元胞型(cell)、结构型(struct)。其也有相互转化的函数,如:cell2mat、double、str2num、num2str……
读完文件和导出其中的具体数据后,就该针对其进行数据(预)处理,这一步需要大概绘制对应的变量的图像,无论是一维、二维还是三维,对于数据的视觉化呈现,还是很重要的一步,将在下一篇基础篇(三)中做细致讲解。同时,有很多基础的数据处理函数,如:字符串的拼接函数strcat(在图一中有过举例)、低维矩阵size转化函数reshape、高维矩阵空间转化函数permute、基本运算函数[nan]sum/[nan]mean/[nan]max/[nan]min、时间的相关函数datestr/datenum/datetick/datevec、插值interp1/2/n、拟合fit等。这些将在后续基础篇中结合实际应用再一一细致讲解。