第8章 matlab - 讲义_第1页
第8章 matlab - 讲义_第2页
第8章 matlab - 讲义_第3页
第8章 matlab - 讲义_第4页
第8章 matlab - 讲义_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab文件I/O,第8讲,文件操作是一种重要的输入输出方式,Matlab提供了一系列输入输出函数,专门用于文件操作。,Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。,Matlab中的输入输出函数是以C语言标准库函数中的输入输出函数为基础开发的,所以这些函数与C语言的输入输出函数相类似。,Matlab文件操作介绍,常见的打开方式有:,fid=fopen(文件名,打开方式),文件的打开,其中文件名用字符串形式表示(可以带路径名),fid为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于0,则表示文件打开成功;若打开失败,fid的返回值为-1。,有两个标准代码文件,不需打开就可以直接使用,分别为:fid=1标准输出文件,fid=2标准错误文件。,文件的打开,fid=fopen(output.txt,wt+);fprintf(fid,Helloworld!n);fclose(fid);,fprintf(1,Helloworld!n);fprintf(2,Helloworld!n);,文件有两种格式:二进制文件(b)和文本文件(t)。在Windows下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符t。,若不指定打开方式,则表示只读。,文件的打开,fid=fopen(output.txt,wt+);,其中fid为所要关闭的文件的句柄,status为关闭文件的返回代码,若关闭成功则为0,否则为-1。,status=fclose(fid);,文件的关闭,A用来存放读取的数据count返回读取数据的个数,为可选项fid为文件句柄size为可选项,缺省为读取整个文件,若给出,则取值可以是:,A,count=fscanf(fid,format,size),文本文件的读取,文本文件的读取,format用来控制读取的数据格式,由%加上格式符组成,下表中是常见的格式符,在%之后可以加上数据宽度,如%12d,将输出变量按指定的格式写入文件中若省略fid,则表示在屏幕上输出count返回所写入的数据元素个数(可省)format以%开头,通常由以下几个部分组成:,count=fprintf(fid,format,输出变量列表),flags(optional)Widthandprecisionfields(optional)Conversioncharacter(required),文本文件的写入,fprintf举例,fprintf(a=%-12.5fn,pi),format以%开头,flag,fieldwidth,precision,格式说明符,-:左对齐+:输出符号0:空白处添0空格:前面加一空格,字段宽度,小数点后输出位数,文本文件的写入,fprintf命令的格式说明符,format中还可以使用的特殊字符,x=0:0.1:1;y=x;exp(x);fid=fopen(output.dat,wt);fprintf(fid,xexp(x)n);fprintf(fid,%6.2f%12.8fn,y);status=fclose(fid);,例:,文本文件的写入举例,注:格式的重复使用,A,count=fread(fid,size,precision),二进制文件的读写,A用来存放读取的数据count返回读取数据的个数,可选项fid为文件句柄size为可选项,缺省为读取整个文件,若给出,则取值可以是:,precision代表读取的数据的类型,缺省为uchar,二进制文件的读取,以下数据类型与使用的平台有关:,二进制文件的读取,fid=fopen(output.dat,r);A=fread(fid,100,double);status=fclose(fid);,fid=fopen(output.dat,r);A,count=fread(fid,100,100,double);status=fclose(fid);,例:,二进制文件读写举例,按指定的数据类型将矩阵A中的元素写入到文件中。其中count返回所写入的数据元素个数(可省)。,count=fwrite(fid,A,precision),A=magic(5);fid=fopen(magic5.dat,w);fwrite(fid,A,int8);fclose(fid);fid=fopen(magic5.dat,r);B,count=fread(fid,5,inf,int8);fclose(fid);,二进制文件的写入,例:,打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。,在读写文件时,Matlab自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。,Matlab提供了几个文件位置指针定位操作函数:fseek、ftell、frewind和feof,读写的定位,status=fseek(fid,offset,origin),fid为文件句柄offset表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移,fseek,cof表示当前位置,bof表示文件的开始位置,eof表示文件末尾;,若定位成功,status返回值为0,否则返回-1,origin表示位置指针移动的参照位置,有三种取值:,frewind(fid),eofstat=ftell(fid),判断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论