版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 文件(wnjin)操作掌握(zhngw)MATLAB文件处理方法1共二十六页主要(zhyo)内容.1文件(wnjin)的类型 .2 文件的操作2共二十六页.1文件(wnjin)文件可分为两类: 文本文件 由字符和与字符的显示格式有关的控制符构成(guchng)常见扩展名:“TXT” 、“BAT”、“HTM”二进制文件 二进制文件为非文本文件常见扩展名:“COM”、“EXE” 、“BMP” 、“WAV”3共二十六页4 数据(shj)的输入输出及文件的读写 4.1 交互输入(shr)与输出命令和函数1键盘输入命令input格式一:u=input(提示内容)格式二: u=input(提示内容
2、,s)在屏幕上显示提示内容,等待从键盘输入,将输入的符号以字符串赋给文本(字符串)变量u。2显示命令 disp功能:显示指定的变量或变量的内容。调用格式:disp(变量名)3按格式要求输出变量命令sprintf功能:按格式要求输出变量调用格式:sprintf(显示格式,变量)。4共二十六页MATLAB中基本(jbn)的文件I/O指令:1打开和关闭(gunb)文件fopen、fclose2格式读写fprintf、fscanf、fgetl、fgets3非格式读写fread、fwrite4文件定位和状态feof、fseek、ftell、ferror、frewind5共二十六页4.1.1文件的打开(d
3、 ki)与关闭1fopen函数功能(gngnng):打开文件或获得打开文件信息。格式一:fid=fopen(文件名,允许模式) fidfopen(filename,permission)以允许模式指定的模式打开“文件名”所指定的文件,返回文件标识fid;允许模式 可以是下列几个字符串之一:r : 打开文件进行读(缺省型式);w : 删除己存在文件中的内容或生成一个新文件,打开进行写操作; a :打开一个己存在的文件或生成并打开一个新文件,进行写操作,在文件末尾添加数据;例:打开一个名my.txt的数据文件并进行读操作,命令为: fidfopen(my.txt,r)6共二十六页格式二:fid ,
4、 message=fopen (文件名,允许模式,格式) 功能:用指定的数据“格式”打开(d ki)数据文件,返回文件标识和打开(d ki)文件信息两个参数。“数据格式”。如果fopen成功打开文件,则返回文件标识f_id,message内容为空,如果不能成功打开,则返回f_id值为1,message中返回一个有助于判断错误类型的字符串。有三个值是预先定义的,不能打开或关闭: 0:表示标准输入,一直处于打开读入状态。 1:表示标准输出(shch),一直处于打开追加状态。 2:表示标准错误,一直处于打开追加状态。7共二十六页2fclose功能:关闭一个或多个已打开的文件。格式一:status=f
5、close(fid) 关闭指定文件,返回(fnhu)0表示成功,返回-1表示失败。格式二status=fclose(all)功能: 关闭所有文件,返回0表示成功,返回-1表示失败。 8共二十六页.1.2格式化数据的读写fscanf格式一:A=fscanf (f_id, 格式)从由f_id所指定的文件中读入所有数据,并根据格式字符串进行转换,并返回给矩阵A,格式字符串指定被读入数据的格式。格式二:A, count=fscanf(f_id,格式,size)读入由size指定数量的数据,并根据格式字符进行转换,并返回给矩阵A,同时返回成功读入的数据数量count。fprintf格式一:count=f
6、printf(f_id,格式,A,)将矩阵A或其它矩阵的实部数据以格式字符串指定的形式进行规格化,并将其写入指定的文件中,其返回值为写入数据的数量。格式二: fprintf(格式,A,) 将A或其它值以格式给定的形式输出到标准输出显示(xinsh)屏幕上。 9共二十六页例-1计算当x=0 1时f(x)=exp的值,并将结果(ji gu)写入到文件my.txt中。程序 x=0:0.1:1; y=x;exp(x);%y有两行数据 fid=fopen(E:my.txt,w); fprintf(fid,%6.2f %12.8fn,y);%把y数据写入到fid fclose(fid);10共二十六页例-
7、2从上例中生成的文件my.txt中读取数据,并将结果(ji gu)输出到屏幕。程序 fid = fopen(E:my.txt,r);a,count = fscanf(fid,%f %f,2 inf); fprintf(1,%f %fn,a); fclose(fid);输出 同例4-1文件中的数据格式。11共二十六页.1.3 文件(wnjin)定位和文件(wnjin)状态1feof函数:检测文件是否已经结束status=feof(fid)2ferror函数:用于查询文件的输入、输出错误信息msg=ferror(fid)3frewind函数:使位置(wi zhi)指针重新返回文件的开头frewin
8、d(fid) 4fseek函数:设置文件的位置指针status=fseek(fid, offset, origin) 5ftell函数:用于查询当前文件指针的位置position=ftell(fid);12共二十六页例-3 输出(shch)文件的大小。程序(chngx) fid=fopen(E:my.txt,r);fseek(fid,0,eof);x=ftell(fid);fprintf(1,File Size=%dn,x);frewind(fid);x=ftell(fid);fprintf(1,File Position =%dn,x);fclose(fid);输出 File Size =
9、231File Position = 013共二十六页.1.4按行读取数据1fgetl函数(hnsh):按行从文件中读取数据,但不读取换行符。line=fgetl(fid)2fgets函数:用于从文件中读取行、保留换行符并把行作为字符串返回。(1)line=fgets(fid) (2)line=fgets(fid,nchar) 14共二十六页例-4编写一个程序,用于读取例4-1生成(shn chn)的数据。程序 fid=fopen(E:my.txt,r);while feof(fid)%在文件没有结束时按行读取数据 s=fgets(fid); fprintf(1,%s,s);endfclose
10、(fid);输出 同例4-1文件中的数据格式。15共二十六页.1.5二进制数据文件的读写fwrite函数(hnsh):用于向一个文件写入二进制数据count=fwrite(fid, A, precision)。fread函数:用于从文件中读二进制数据A,count=fread(fid, size, precision) 注意:使用函数fread()和fwrite()读写文件时,必须以二进制方式打开文件16共二十六页例-5将5行5列“魔方阵(fn zhn)”存入二进制文件中。程序fid=fopen(E:my1.dat,w);a=magic(5);fwrite(fid,a,long);fclose
11、(fid);17共二十六页例-6从二进制文件中读取“魔方阵(fn zhn)”。程序fid=fopen(E:my1.dat,r);A,count=fread(fid, 5, inf, long);fclose(fid);A18共二十六页.1.6 图像(t xin)、声音文件的读写1imread函数(hnsh):从文件中读入图像A = imread(filename,fmt)A, map = imread(filename,fmt)2imshow函数:显示图像 (imview函数和imtool函数)imshow(A) 3imwrite函数:将图像写入文件imwrite(A, filename, f
12、mt) imwrite(A, map, filename, fmt) 19共二十六页例-7读取并显示一幅图像(t xin)。程序x=imread(C:MATLAB7toolboxmatlabdemoslena.bmp);imshow(x);y=imread(E:waterlena1.bmp);imshow(y)20共二十六页.1.6图像(t xin)、声音文件的读写4imfinfo函数:查询图像文件信息innfo imfinfo(filename)5wavread函数:用于读取扩展名为“.wav”的声音文件 y=wavread(file) y, fs, nbits=wavread(file)
13、6wavwrite函数:用于将数据写入到扩展名为“wav”的 声音文件中wavwrite(y, fs, nbits, wavefile) 7wavplay函数:利用windows音频(ynpn)输出设备播放声音wavplay(y,fs)21共二十六页例4-9读取一个音频数据文件,以不同(b tn)频率播放,并显示声音波形。程序:y=wavread(C:MATLAB7toolboxsimulinksimdemossimgeneraltoilet.wav)plot(y);wavplay(y);wavplay(y,11025);wavplay(y,44100);22共二十六页学好计算机的唯一途径是
14、你的编程能力(nngl)与你在计算机上投入的时间成 结束语上机练习(linx)正比23共二十六页实验5 文件操作 (2学时)一、目的要求1、熟练掌握工作区变量(binling)的文件操作;2、熟练掌握文本文件的读写操作; 3、熟练掌握格式化文本文件的输入输出语句的执行4、了解二进制问读写操作二、主要实验仪器及材料微型计算机、Matlab7.0教学版。3、掌握要点掌握Matlab文件及数据的读写存取等操作。4、实验内容(1)、 对变量数据的读取、修改、保存及路径设置对程序的影响;(2)、 在程序中实现数据的读取与存储;(3)、 对方法进行总结完成实验报告;24共二十六页编程实现: 经过(jngg
15、u)24小时观察三处地方车辆流量的情况,并进行记录, 画出三个位置的车流量图,并对数据进行分析。比如说:每小时每个地方通过的车辆如右:11 11 97 13 11 14 17 20 11 13 9 43 51 6938 46 7661 132 18675 135 18038 88 11528 36 5512 12 14 18 27 30 18 19 29 17 15 1819 36 48 32 47 1042 65 9257 66 15144 55 90114 145 25735 58 6811 12 1513 9 1510 9 725共二十六页内容摘要第4章 文件操作。格式二: u=input(提示内容,s)。在屏幕上显示提示内容,等待从键盘输入,将输入的符号以字符串赋给
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆三峡学院《秘书写作实践》2021-2022学年第一学期期末试卷
- 重庆人文科技学院《应用程序设计》2021-2022学年期末试卷
- 重庆人文科技学院《素描人物》2022-2023学年第一学期期末试卷
- 重庆人文科技学院《高级程序语言设计》2023-2024学年期末试卷
- 重庆三峡学院《单片机原理与应用课程设计》2022-2023学年期末试卷
- 重庆人文科技学院《中学思想政治教育课程标准与教学设计》2022-2023学年第一学期期末试卷
- 重庆人文科技学院《社会保障概论》2021-2022学年第一学期期末试卷
- 重庆人文科技学院《马克思主义经典文献导读》2022-2023学年第一学期期末试卷
- 茶叶出口现状问题研究报告
- 重庆财经学院《建筑工程投融资》2021-2022学年第一学期期末试卷
- 英语-重庆市(重庆南开中学)高2025届高三第三次质量检测试题和答案
- 2024年安全员C证考试题库附答案很全
- 泌尿科运用PDCA循环降低输尿管鏡激光碎石术后严重感染的发生率品管圈QCC成果汇报(赴台汇报版)
- 2024年新人教版五年级数学下册《第2单元第1课时 因数和倍数的认识(1)》教学课件
- 2024年浙江省衢州市营商环境建设办公室招聘政府雇员17人高频难、易错点500题模拟试题附带答案详解
- 中国急性缺血性卒中诊治指南(2023版)
- 劳动法律学习试题
- 中考英语过去将来时趣味讲解动态课件(43张课件)
- 人教版2024-2025学年六年级数学上册专项提升第三单元专练篇·03:分数除法混合运算和简便计算其二(原卷版+解析)
- 2024世界邮政日主题世界邮政日活动方案
- 教育家精神引领师范生高质量培养的路径探析
评论
0/150
提交评论