文件输入输出.ppt
《文件输入输出.ppt》由会员分享,可在线阅读,更多相关《文件输入输出.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、文件输入输出 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一、概述一、概述 1、输入输出、输入输出(I/O)数据输入和输出(I/O)输入:输入:从磁盘文件获得数据,加载到工作空间。输出:输出:从工作空间变量保存到文件中。高层文件和底层文件I/O操作高层:高层:针对不同的数据格式文件,提供不同的I/O函数,有现成的函数供使用,仅需少量编程。底层:底层:使用文件标识符可访问任何类型的数据文件,更加灵活地完成相对特殊的任务,需要复杂编程数据导入向导:数据导入向导:数据
2、导入用的图形界面,用于导入已知格式的文件和有一定规则的ASCII文本文件2 2、二进制文件和文本文件、二进制文件和文本文件文本文件将文件看作是由字节(byte)组成的,每个字节(bit)的最高位都是0,文本文件使用了一个字节中的七位来表示所有的信息。二进制文件将字节中的所有位都用上了。按照文本方式打开文件时会进行转换,将每个字节转换成ASCII码。以二进制方式打开文件时不会进行任何的转换。进行文本编辑时,编辑的最小单位是字节。二进制文件编辑最小单位则是位(bit)。MATLAB提供一种特殊的数据文件格式MAT文件,这种文件是一种二进制格式文件,扩展名为.mat,它为MATLAB提供了跨平台的数
3、据交互能力。这些*.mat 文件之所以能够独立于各种平台的原因是在文件头带有设备的签名,MATLAB 在载入文件时将检查这个签名,如果发现文件来源不同于当前的系统,则进行必要的转换。3 3、matmat数据文件格式数据文件格式二、二、高层高层I/O函数函数MAT文件是MATLAB独有的文件格式,是MATLAB用户最常用的数据文件格式。在MATLAB中,可以将当前工作空间中的变量保存成MAT文件,也可以将MAT文件中的数据导入到MATLAB的工作空间中,这两个过程分别使用save指令和load指令就可以完成。需要说明一点,save和load指令不仅能够加载和保存MAT格式的数据文件,而且还能够加
4、载一般的文本格式文件。但是在文本数据文件中不能包含特殊的文件间隔符。因此,将这两个指令称之为操作一般数据文件的指令。1、MAT文件的读写文件的读写save将当前工作空间所有变量保存在当前目录下文件matlab.mat内save filename将当前工作空间中所有的变量保存到指定的文件中save filename var1 var2.将当前工作空间中的变量var1、var2等保存到指定文件中save filename data*(功能同上)其中*为通配符save.option按照option的不同取值保存数据save(filename,.)save指令的函数格式用法save 将当前工作空间中的
5、变量保存到指定的数据文件中,其基本语法为:其中,option可以有如下几种可能:-mat保存为二进制的MAT文件格式(默认)-append 在已有的数据文件尾部追加数据-ascii保存为ASCII文本格式,数据按照八位精度保存-ascii-double保存为ASCII文本格式,数据按照十六位精度保存-ascii tabs保存为ASCII文本格式,数据之间使用制表符作为间隔load 将数据文件的数据导入到MATLAB的工作空间,其基本的语法为:注意:使用load指令加载数据文件时,数据文件只要保存在MATLAB的搜索路径上即可,同时若不指明数据文件的扩展名,则数据文件默认按照二进制的MAT文件格
6、式加载,否则都按照文本格式文件加载。load将matlab.mat文件中所有的变量加载到当前的工作空间load filename将指定文件中所有的变量加载到当前的工作空间load filename var1 var2 .将指定文件中的指定变量加载到当前工作空间load filename -ascii将数据文件按照文本格式加载load filename -mat将数据文件按照MAT文件格式加载S=load(.)load指令的函数格式用法例例:save和load指令示例。clear allx1=2;x2=3;x3=4;y1=0;save xdata x1 x2save xdata2.dat x*-
7、asciiclear allload xdata执行执行load 命令后,请查看内存中是否有命令后,请查看内存中是否有相应的变量相应的变量执行执行load 命令后,请查看当命令后,请查看当前工作目录,确认是否生成了相前工作目录,确认是否生成了相应的文件。应的文件。2、文本文件的读写、文本文件的读写 csvread读取以逗号作为间隔符的文本文件csvwrite保存数据到文本文件,逗号作为间隔符dlmread按照指定的间隔符读取文本文件的数据dlmwrite按照指定间隔符将数据写入文本文件textread按照指定的格式从文本文件中读取数据strread按照指定的格式从字符串中读取数据textsca
8、n按照指定的格式从文本文件、字符串中读取数据(1)csvreadM=csvread(filename)将文件 filename 中的数据读入,并且保存为 M,filename 中只能包含数字,并且数字之间以逗号分隔。M 是一个数组,行数与 filename 的行数相同,列数为 filename 列的最大值,对于元素不足的行,以 0 补充。M=csvread(filename,row,col)读取文件 filename 中的数据,起始行为 row,起始列为 col,需要注意的是,此时的行列从 0 开始。M=csvread(filename,row,col,range)读取文件 filename
9、中的数据,起始行为 row,起始列为 col,读取的数据由数组 range 指定,range 的格式为:R1 C1 R2 C2,其中 R1、C1 为读取区域左上角的行和列,R2、C2为读取区域右下角的行和列(2)dlmread M=dlmread(filename)M=dlmread(filename,delimiter)M=dlmread(filename,delimiter,R,C)M=dlmread(filename,delimiter,range)其中参数 delimiter 用于指定文件中的分隔符,其他参数的意义与 csvread 函数中参数的意义相同。dlmread 函数与 csv
10、read 函数的差别在于,dlmread 函数在读入数据时可以指定分隔符,不指定时默认分隔符为逗号。(3)dlmwritedlmwrite(filename,M),将矩阵 M 的数据写入文件 filename 中,以逗号分隔;dlmwrite(filename,M,D),将矩阵 M 的数据写入文件 filename 中,采用指定的分隔符分隔数据,如果需要 tab 键,可以用“t”指定;dlmwrite(filename,M,D,R,C),指定写入数据的起始位置;dlmwrite(filename,M,attribute1,value1,attribute2,value2,.),指定任意数目的参
11、数,可以指定的参数见下表;dlmwrite(filename,M,-append),如果 filename 指定的文件存在,在文件后面写入数据,不指定时则覆盖原文件;dlmwrite(filename,M,-append,attribute-value list),叙写文件,并指定参数。参数名参数名功能功能delimiter用于指定分隔符用于指定分隔符newline用于指定用于指定换换行符,可以行符,可以选择选择“pc”或者或者“unix”roffset行偏差,指定文件第一行的位置,行偏差,指定文件第一行的位置,roffset 的基数的基数为为 0coffset列偏差,指定文件第一列的位置,列
12、偏差,指定文件第一列的位置,coffset 的基数的基数为为 0precision指定精确度,可以指定精确指定精确度,可以指定精确维维数,或者采用数,或者采用 c 语语言的格式,如言的格式,如“%10.5f”例:例:有一个text_test.txt文件(可从课程网页下载),包含60000行数据,每行两个数据以空格分隔,前面的为x,后面的为y(要注意的是,y的后面也有一个空格)。请绘制出这些数据在直角坐标系中的图形。A=dlmread(text_test.txt,);plot(A(:,1),A(:,2)3、Excel文件的读写文件的读写(.xls)xlsfinfo获取文件类型等基本信息xlsre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 输入输出
限制150内