数据文件-大学物理知识点总结
第二章 MATLAB 基础 2.7 数据文件 第28页
2.7 数据文件
有许多的方法用于加载和保存 MATLAB 的数据文件,这些方法将会在第八章中介绍。在这里我们只向大家介绍最简单的 save
和 load
命令。
save
命令用于保存当前 MATLAB 工作区内的数据到一个硬盘文件。这个命令的基本形式如下:
save filename var1 var2 var3
filename
代表你要保存变量的那个文件,var1
,var2
等是要保存的变量。在默认情况下,这个文件的扩展名为 “mat”,我们称之为 MAT 文件。如果在 filename
后面无变量,则工作区的所有内容将会被保存。 MATLAB 用一种特殊的复杂形式来存储数据,包括了许许多多的细节,例如变量名和变量类型,数组的大小,以及所有变量值。一个在任何一个平台上创建的 MAT 文件(PC, Mac, Unix)在另一个平台上都可以应用。它的缺点是 MAT 文件的存储格式不能被其他程序读取。如果一个数据必须由其他程序所读取,那么必须转化为 ASCII 码,并将这些数值写到一个以 ASCII 码为编码的文件中。
但是,当以 ASCII 的形式存储,像变量名和变量类型这样的信息就会丢失,产生的数据结果将会更大。假设数组 x
的定义如下:
x = [1.23 3.14 6.28; -5.1 7.00 0];
命令 save x.dat x -ASCII
将会创建一个文件 x.dat
,包括数据如下:
1.2300000e+000 3.1400000e+000 6.2800000e+000
-5.1000e+000 7.0000e+000 0.0000e+000
用这种格式写的数据能被其他语言编写的程序或电子表格读取,所以它能帮助 MATLAB 程序和其他程序之间共享数据。
好的编程习惯:如果数据需要在 MATLAB 和其他程序之间交换使用,那么以 ASCII 格式存储数据。如果只在 MATLAB 中使用那么,应以 MAT 文件的形式存储数据。 MATLAB 并不关心 ASCII 码的扩展名是什么?但是,用户最好用它的传统扩展名 “dat”。好的编程习惯是以 “dat” 的扩展名保存 ASCII 数据文件,以区别于以 “mat” 为扩展名的 MAT 文件。
load
命令与 save
命令相反。它从硬盘文件加载数据到 MATLAB 当前工作区。这个命令的基本格式为:
load filename
代表所加载文件的文件名。如果这个文件是 MAT 文件,那么所有被加载的变量名的变量类型将和原来一样。如果一个变量包含在工作区间窗口,那么这些数据将会被修复。 MATLAB 能够加载由其他程序创建的 ASCII 格式的数据文件。它首先检查所要加载的文件是 MAT 文件还是 ASCII 文件。如果在 load
语句中加入 -ASCII
中,则强制 MATLAB 把这个文件看作 ASCII 文件。这个文件的内容将会被转化为一个 MATLAB 的数组,这个数组名就所要加载的文件名。
假设一个名为 x.dat
的 ASCII 文件包括下列数据:
1.23 3.14 6.28
-5.1 7.00 0
那么 load x.dat
将会在当前工作区创建一个 2×3 数组 x
,包含数据值。
如果想进一步了解 MATLAB 的各种命令及其用法,可以参考matlab命令大全MATLAB命令.txt 和 MATLAB命令大全matlab命令大全.pdf,这两份文件详细介绍了 MATLAB 命令的使用。更多有关 save
和 load
命令的资源,例如Easy Save The Complete Save Load Asset3.0.3.zip 和Easy Save The Complete Save Load Asset3.1.4f1.zip,也能提供进一步的帮助。