文档详情

9文件输入输出.ppt

发布:2017-02-16约7.14千字共36页下载文档
文本预览下载声明
09 文件输入输出 一、概述 二、高层I/O函数 三、数据导入向导 四、底层I/O函数 2、二进制文件和文本文件 文本文件将文件看作是由字节(byte)组成的,每个字节(bit)的最高位都是0,文本文件使用了一个字节中的七位来表示所有的信息。 二进制文件将字节中的所有位都用上了。 按照文本方式打开文件时会进行转换,将每个字节转换成ASCII码。 以二进制方式打开文件时不会进行任何的转换。 进行文本编辑时,编辑的最小单位是字节。 二进制文件编辑最小单位则是位(bit)。 4、图像文件的读写 5、其他格式文件的读写 四、底层I/O函数 1、打开、关闭文件 2、读写数据 3、文件位置指针 fprintf :格式化输出 fscanf:格式化输入 array = fscanf(fid, format) [array, count] = fscanf(fid, format, size) fprintf 练习: a = [1:10;11:20] fprintf(%d\n,a) fprintf(%2d\n,a) fprintf(%02d\n,a) fprintf(%+2d,a) fprintf(%02d %02d\n,a) fprintf(%02d %02d %02d %02d\n,a)   先想一想各条fprintf语句在屏幕上的输出是什么?   然后再看matlab的输出结果,与你想的一样吗? fid = fopen(test.txt,wt) fprintf(fid,%02d %02d %02d %02d %02d\n,a) fclose(fid) 这条语句是输出到当前工作目录下的test.txt文件中 fid: 所要读取的文件的文件标识 format:控制如何读取的格式字符串, array:接受数据的数组, count:返回从文件读取的变量的个数。 size:指定从文件读取数据的数目,可取: ?? n 准确地读取n个值。执行完相应的语句后,array将是一个包含有n个值的列向量 ?? Inf 读取文件中所有值。执行完相应的语句后,array将是一个列向量,包含有从文件所有值。 ?? [m,n] 从文件中精确定地读取m×n个值,array是一个m×n的数组。 * 一、概述 1、输入输出(I/O) 数据输入和输出(I/O) 输入:从磁盘文件获得数据,加载到工作空间。 输出:从工作空间变量保存到文件中。 高层文件和底层文件I/O操作 高层:针对不同的数据格式文件,提供不同的I/O函数,有现成的函数供使用,仅需少量编程。 底层:使用文件标识符可访问任何类型的数据文件,更加灵活地完成相对特殊的任务,需要复杂编程 数据导入向导:数据导入用的图形界面,用于导入已知格式的文件和有一定规则的ASCII文本文件 MATLAB提供一种特殊的数据文件格式——MAT文件,这种文件是一种二进制格式文件,扩展名为 .mat,它为MATLAB提供了跨平台的数据交互能力。这些 *.mat 文件之所以能够独立于各种平台的原因是在文件头带有设备的签名,MATLAB 在载入文件时将检查这个签名,如果发现文件来源不同于当前的系统,则进行必要的转换。 3、mat数据文件格式 二、 高层I/O函数   MAT文件是MATLAB独有的文件格式,是MATLAB用户最常用的数据文件格式。在MATLAB中,可以将当前工作空间中的变量保存成MAT文件,也可以将MAT文件中的数据导入到MATLAB的工作空间中,这两个过程分别使用save指令和load指令就可以完成。 需要说明一点, save和load指令不仅能够加载和保存MAT格式的数据文件,而且还能够加载一般的文本格式文件。但是在文本数据文件中不能包含特殊的文件间隔符。因此,将这两个指令称之为操作一般数据文件的指令。 1、MAT文件的读写 将当前工作空间中所有的变量保存到指定的文件中 save filename save指令的函数格式用法 save(filename,......) 按照option的不同取值保存数据 save ......option (功能同上)其中*为通配符 save filename data* 将当前工作空间中的变量var1、var2等保存到指定文件中 save filename var1 var2...... 将当前工作空间所有变量保存在当前目录下文件matlab.mat内 save save 将当前工作空间中的变量保存到指定的数据文件中,其基本语法为: 其中,option可以有如下几种可能: -mat 保存为二进制的MAT文件格式(默认) -append 在已有的数据文件尾部追加数据 -ascii 保存为ASCII文本格式,数据按照八位
显示全部
相似文档