1.3 数据的储存与载入
由于有些数据需长期使用,我们通常希望能将计算所得的结果存储在文件中,以便将来进行其他处理.MATLAB储存变量的基本命令是save,在不加任何选项(Options)时,save会将变量以二进制(Binary)的方式存储至扩展名为mat的文件,如下述:
save:将工作空间的所有变量存储到名为matlab.mat的二进制文件中.
save filename:将工作空间的所有变量存储到名为filename.mat的二进制文件.
save filenamexyz:将变量x、y、z存储到名为filename.mat的二进制文件.
以下为使用save命令的一个简例:
以二进制的方式存储变量,通常文件会比较小,而且在载入时速度较快,但无法用普通的文件格式(例如pe2或记事本)看到文件内容.若想看到文件内容,则必须加上-ascii选项,详见下述:
save filename x-ascii:将变量x以八位数存到名为filename的ASCII文件中.
Save filename x-ascii-double:将变量x以十六位数存到名为filename的ASCII文件中.
另一个选项是-tab,可将同一列相邻的数目以定位键(Tab)隔开.
小提示:二进制和ASCII文件的比较
在save命令使用-ascii选项后,会有下列现象:save命令就不会在文件名称后加上扩展名mat,因此扩展名mat的文件通常是MATLAB的二进制文件.
若非有特殊需要,我们应该尽量以二进制方式存储数据.
load命令可将文件载入以取得储存之变量:
load filename:load会寻找名称为filename.mat的文件,并以二进制格式载入.若找不到filename.mat,则寻找名称为filename的文件,并以ASCII格式载入.load filename-ascii:load会寻找名称为filename的文件,并以ASCII格式载入.
若以ASCII格式载入,则变量名称即为文件名称(但不包含扩展名).若以二进制载入,则可保留原有的变量名称,如下例:
注意:在上述过程中,由于是以ASCII格式存储与载入,所以产生了一个与文件名称相同的变量testfile,此变量的值和原变量x完全相同.