matlab04 Matlab 编程2_2.ppt

上传人:qwe****56 文档编号:70010790 上传时间:2023-01-14 格式:PPT 页数:20 大小:277.50KB
返回 下载 相关 举报
matlab04 Matlab 编程2_2.ppt_第1页
第1页 / 共20页
matlab04 Matlab 编程2_2.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《matlab04 Matlab 编程2_2.ppt》由会员分享,可在线阅读,更多相关《matlab04 Matlab 编程2_2.ppt(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Matlab 文件操作文件操作v Matlab 文件操作文件操作介绍介绍q 文文件件操操作作是是一一种种重重要要的的输输入入输输出出方方式式,Matlab提提供供了一系列输入输出函数,专门用于文件操作。了一系列输入输出函数,专门用于文件操作。q Matlab文件操作主要有三个步骤:首先打开文件,然文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。后对文件进行读写操作,最后要关闭文件。q Matlab中中的的输输入入输输出出函函数数是是以以C语语言言标标准准库库函函数数中中的的输输入入输输出出函函数数为为基基础础开开发发的的,所所以以这这些些函函数数与与C语语言言的输

2、入输出函数相类似。的输入输出函数相类似。1v 文件的打开与关闭文件的打开与关闭q 文件的打开文件的打开其中文件名用字符串形式表示(可以带路径名)。其中文件名用字符串形式表示(可以带路径名)。常见的打开方式有:常见的打开方式有:fid=fopen(文件名文件名,打开方式打开方式)r只读,文件必须存在只读,文件必须存在w写文件,若文件已存在则原内容将被覆盖;若文件不存写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个在则新建一个a在文件末尾添加,文件若不存在则新建一个在文件末尾添加,文件若不存在则新建一个r+可读可写,文件必须存在可读可写,文件必须存在w+可读可写,若文件已存在则原内容将

3、被覆盖;若文件不可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个存在则新建一个a+可读可写可添加,文件若不存在则新建一个可读可写可添加,文件若不存在则新建一个2q 文件的打开(续)文件的打开(续)fid为为文文件件句句柄柄,其其它它函函数数可可以以用用它它对对该该文文件件进进行行操操作作。如如果果句句柄柄值值大大于于0,则则表表示示文文件件打打开开成成功功;若若打打开开失失败败,fid的返回值为的返回值为-1。文文件件有有两两种种格格式式:二二进进制制文文件件(b)和和文文本本文文件件(t)。在在Windows下下,打打开开文文件件的的默默认认格格式式是是二二进进制制,如如果果要

4、要打打开开一一个文本文件,则必须在打方式中加上字符个文本文件,则必须在打方式中加上字符t。fid=fopen(output.txt,wt+);若不指定打开方式,则表示只读。若不指定打开方式,则表示只读。3q 文件的关闭:文件的关闭:fclose其中其中fid为所要关闭的文件的句柄,为所要关闭的文件的句柄,status为关闭文为关闭文件的返回代码,若成功则为件的返回代码,若成功则为0,否则为,否则为-1。status=fclose(fid);4v 文件的读写文件的读写q 二进制文件的读取:二进制文件的读取:fread其其中中 A 用用来来存存放放读读取取的的数数据据,count返返回回所所读读取

5、取的的数数据据元元素素个个数数(可可省省),fid为为文文件件句句柄柄,size为为可可选选项,若不选用则读取整个文件,若选用,则取值为:项,若不选用则读取整个文件,若选用,则取值为:A,count=fread(fid,size,precision)N读取读取N个元素到一个列向量个元素到一个列向量Inf读取整个文件读取整个文件M,N读取数据到一个读取数据到一个 矩阵中,按列存放矩阵中,按列存放5q 二进制二进制文件的读取(续)文件的读取(续)precision代表读取的数据的类型(可省),缺省为代表读取的数据的类型(可省),缺省为ucharuchar无符号字符无符号字符uint1616位无符号

6、整数位无符号整数schar带符号字符带符号字符uint3232位无符号整数位无符号整数int8 8位带符号整数位带符号整数uint6464位无符号整数位无符号整数int1616位带符号整数位带符号整数float32 32位浮点数位浮点数int3232位带符号整数位带符号整数float64 64位浮点数位浮点数int6464位带符号整数位带符号整数double64位双精度数位双精度数uint88位无符号整数位无符号整数6q 二进制二进制文件的读取(续)文件的读取(续)char带符号字符带符号字符short16位带符号整数位带符号整数int32位带符号整数位带符号整数long32或或64位带符号整

7、数位带符号整数ushort 16位无符号整数位无符号整数uint32位无符号整数位无符号整数ulong32或或64位无符号整数位无符号整数float32位浮点数位浮点数以下数据类型与使用的平台有关:以下数据类型与使用的平台有关:7例:例: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);8q 二进制二进制文件的写入:文件的写入:fwrite按按指指定定的的数数

8、据据类类型型将将矩矩阵阵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);9q 文本文本文件的读取:文件的读取:fscanf其其中中A用用来来存存放放读读取取的的数数据据;count返返回回读读取取

9、数数据据的的个个数数;fid为为文文件件句句柄柄;format用用来来控控制制读读取取的的数数据据格格式式,由由%加加上上格格式式符符组组成成,下下表表中中是是常常见见的的格格式式符符,在在%之之后后可可以以加加上上数数据据宽宽度度,如如%12d;size为为可可选选项项,取值可以是:取值可以是:N、Inf、M,N。A,count=fscanf(fid,format,size)c字符型字符型g/G浮点数(自动)浮点数(自动)d十进制整数十进制整数o八进制八进制e/E浮点数(科学计数法)浮点数(科学计数法)s字符串字符串f浮点数(小数形式)浮点数(小数形式)x/X十六进制十六进制10fprint

10、f(文件地址文件地址,格式格式,变量变量)将指定的变量按一定的格式写入给定的文件,文件地址将指定的变量按一定的格式写入给定的文件,文件地址可以通过可以通过 fopen 函数获得。函数获得。fprintf(格式格式,变量变量)在屏幕上按指定的格式输出指定的变量。在屏幕上按指定的格式输出指定的变量。fprintf(The value of a is%g,a);例:例:q 文本文本文件的写入:文件的写入:fprintf11q 文本文本文件的写入:文件的写入:fprintf将将矩矩阵阵 A 按按指指定定的的格格式式写写入入文文本本文文件件;若若省省略略 fid,则则表表示示在在屏屏幕幕上上输输出出;f

11、ormat以以%开开头头,通通常常由由以以下几个部分组成:下几个部分组成:count=fprintf(fid,format,A)flags(optional)Width and precision fields(optional)Conversion character(required)12q 文本文本文件的写入(续)文件的写入(续)可用的可用的flags有:有:width和和precision指定数据的宽度和精度:指定数据的宽度和精度:13q 文本文本文件的写入(续)文件的写入(续)format中还可以使用中还可以使用escape character:bBackspace退后一格退后一格f

12、Form feed换页换页nNewline换行换行rCarriage return回车回车tHorizontal tab水平制表符水平制表符Backslash反斜杠反斜杠、Single quotation mark单引号单引号%Percent character百分号百分号14例:例:x=0:0.1:1;y=x;exp(x);fid=fopen(output.dat,wt);fprintf(fid,x exp(x)n);fprintf(fid,%6.2f%12.8fn,y);status=fclose(fid);15v 文件的定位文件的定位q打打开开文文件件读读写写数数据据时时,需需要要判判断

13、断和和控控制制文文件件的的读读写写位位置置,如如数数据据是是否否读读完完,或或者者需需要要读读写写指指定定位位置置上上的的数据等。数据等。q在在读读写写文文件件时时,Matlab自自动动创创建建一一个个文文件件位位置置指指针针来管理和维护文件读写数据的起始位置。来管理和维护文件读写数据的起始位置。qMatlab提提供供了了几几个个文文件件定定位位操操作作函函数数:fseek、ftell、frewind 和和 feof。16q fseekstatus=fseek(fid,offset,origin)其其中中fid为为文文件件句句柄柄;offset表表示示位位置置指指针针相相对对偏偏移移的的字字节

14、节数数,若若为为正正表表示示向向文文件件尾尾方方偏偏移移,若若为为负负表表示示向向文文件件头头方方向向偏偏移移;origin表表示示位位置置指指针针移移动动的的参参照照位位置置,有有三三种种取取值值:cof表表示示当当前前位位置置,bof表表示示文文件件的的开开始始位位置置,eof表表示示文文件件末末尾尾;若若定定位位成功,成功,status返回值为返回值为0,否则返回,否则返回-1。q ftell:返回文件位置指针的当前位置返回文件位置指针的当前位置position=ftell(fid)返回值为从文件开始到指针当前位置的字节数。返回值为从文件开始到指针当前位置的字节数。17q frewind

15、:将位置指针返回到文件的起始位置将位置指针返回到文件的起始位置frewind(fid)q feof:判断文件位置指针是否达到文件结束位置判断文件位置指针是否达到文件结束位置eofstat=feof(fid)若文件位置指针已在文件末尾,则返回若文件位置指针已在文件末尾,则返回1,否则返回,否则返回0。181 企业发放的奖金按照个人完成的的利润(企业发放的奖金按照个人完成的的利润(I)提成,分段提)提成,分段提成比例成比例KI为为 10 I=10 万万 5 10I=20 万万 KI=2 20I40 万万 即如王某完成即如王某完成25万元利润时,个人可得:万元利润时,个人可得:y=10*10%+10*5%+5*2%万万 据此编写程序,求企业职工的奖金据此编写程序,求企业职工的奖金。192 有有n个人围成一圈,按顺序编号。从第一个人开始报数,个人围成一圈,按顺序编号。从第一个人开始报数,数到数到m时该人退出,并且下一个从时该人退出,并且下一个从1重新开始报数,以文件重新开始报数,以文件形式输出出圈人的顺序。(形式输出出圈人的顺序。(nm,如如n=20 m=7)20

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com