Matlab教程Ch8(全).ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 高级编程技术 本章目标 掌握MATLAB文件处理方法 理解MATLAB应用程序接口的原理 了解结构和元胞这两种复杂数据类型 了解面向对象编程的基本概念 主要内容 8.1文件 8.2 应用程序接口 8.1文件 文件可分为两类: 文本文件 由字符和与字符的显示格式有关的控制符构成 常见扩展名:“TXT” 、“BAT”、“HTM” 二进制文件 二进制文件为非文本文件 常见扩展名:“COM”、“EXE” 、“BMP” 、“WAV” MATLAB中基本的低级文件I/O指令: 1.打开和关闭文件 fopen、fclose 2.格式读写 fprintf、fscanf、fgetl、fgets 3.非格式读写 fread、fwrite 4.文件定位和状态 feof、fseek、ftell、ferror、frewind 8.1.1文件的打开与关闭 1.fopen函数 fid=fopen(filename,permission) [fid,message]=fopen(filename,permssion) [filename,permission,machineformat]=fopen(fid) fid =fopen('all') 2.fclose函数 status=fclose(fid) status=fclose('all') 例:打开一个名为std.dat的数据文件并进行读操作,命令为: fid=fopen('my.txt','r') 8.1.2格式化数据的读写 fprintf函数 count=fprintf(fid,format , A ...) fscanf函数 [A, count]=fscanf(fid, format, size) 例8-1 计算当x=[0 1]时f(x)=ex的值,并将结果写入到文件my.txt中。 程序 x=0:0.1:1; y=[x;exp(x)]; %y有两行数据 fid=fopen('my.txt','w'); fprintf(fid,'%6.2f %12.8f\n',y); fclose(fid); 例8-2 从上例中生成的文件my.txt中读取数据,并将结果输出到屏幕。 程序 fid = fopen('my.txt','r'); [a,count] = fscanf(fid,'%f %f',[2 inf]); fprintf(1,'%f %f\n',a); fclose(fid); 输出 同例8-1文件中的数据格式。 8.1.3 文件定位和文件状态 1.feof函数:检测文件是否已经结束 status=feof(fid) 2.ferror函数:用于查询文件的输入、输出错误信息 msg=ferror(fid) 3.frewind函数:使位置指针重新返回文件的开头 frewind(fid) 4.fseek函数:设置文件的位置指针 status=fseek(fid, offset, origin) 5.ftell函数:用于查询当前文件指针的位置 position=ftell(fid); 例8-3 输出文件的大小。 程序 fid=fopen('my.txt','r'); fseek(fid,0,'eof'); x=ftell(fid); fprintf(1,'File Size=%d\n',x); frewind(fid); x=ftell(fid); fprintf(1,'File Position =%d\n',x); fclose(fid); 8.1.4按行读取数据 1.fgetl函数:按行从文件中读取数据,但不读取换行符。 line=fgetl(fid) 2.fgets函数:用于从文件中读取行、保留换行符并把行作为字符串返回。 (1)line=fgets(fid) (2)line=fgets(fid,nchar) 例8-4 编写一个程序,用于读取例8-1生成的数据。 程序 fid=fopen('my.txt','r'); while ~feof(fid)%在文件没有结束时按行读取数据 s=fgets(fid); fprintf(1,'%s',s); end fclose(fid); 输出 同例8-1文件中的数据格式。 8.1.5二进制数据文件的读写 fwrite函数:用于向一个文件写入二进制数据 count=fwrite(fid, A, precision)。 fread函数:用于从文件中读二进制数据 [A,count]=fread(fid, size, precision) 注意:使用函数fread()和fwrite()读写文件时,必须以二进制方式打开文件 例8-5 将5行5列“魔方阵”

文档评论(0)

chens007 + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档