数学软件MatlabP

上传人:gb****c 文档编号:242970874 上传时间:2024-09-13 格式:PPT 页数:25 大小:162KB
返回 下载 相关 举报
数学软件MatlabP_第1页
第1页 / 共25页
数学软件MatlabP_第2页
第2页 / 共25页
数学软件MatlabP_第3页
第3页 / 共25页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,数学软件,Matlab,1,内容提要,文件的打开与关闭,文本文件的写与读,二进制文件的写与读(选学),2,文件操作是一种重要的输入输出方式,,Matlab,提供了一系列输入输出函数,专门用于文件操作。,Matlab,文件操作三步骤:,Matlab,中的输入输出函数是以,C,语言标准库函数中的输入输出函数为基础开发的,所以这些函数与,C,语言的输入输出函数相类似。,Matlab,文件操作介绍,(1),打开,文件,(2),对文件进行,读写,操作,(3),关闭,文件,3,打开方式有(若不指定打开方式,则表示只读) :,fid,=fopen,(,文件名,打开方式),r,只读,文件必须存在(缺省的打开方式),w,写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个,a,在文件末尾添加,文件若不存在则新建一个,r+,可读可写,文件必须存在,w+,可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个,a+,可读可写可添加,文件若不存在则新建一个,文件的打开,其中文件名用字符串形式表示(可以带路径名),文件的打开,4,fid,为文件句柄,通过它才能对该文件进行操作,如果句柄值大于,0,,则表示文件打开成功;,若文件打开失败,,fid,的返回值为,-1,。,有两个标准代码文件,不需打开就可以直接使用,分别为:,fid=1,标准输出文件,,fid=2,标准错误文件。,文件的打开,fid=fopen(,output.txt,,,wt+,);,fprintf(fid,Hello world!n);,fclose(fid);,fprintf(1,Hello world!n);,fprintf(2,Hello world!n);,fid,=fopen,(,文件名,打开方式),5,文件的关闭,其中,fid,为所要关闭的文件的句柄,status,为关闭文件的返回代码,若成功则为,0,,否则为,-1,文件操作结束后一定要关闭,status=,fclose,(,fid,);,文件的关闭,6,内容提要,文件的打开与关闭,文本文件的写与读,二进制文件的写与读(选读),7,将,指定的变量,按指定的格式写入文本文件中,若省略,fid,,,则表示在屏幕上输出,count,返回所写入的数据的个数(可省),format,用来指定写数据时采用的格式,通常由三部分组成,普通字符串、格式字符串、转义字符,count=,fprintf,(fid,format,输出变量列表,),文本文件的写入,向文本文件中写数据,x=3.14; str=math;,fid=,fopen,(output.txt,wt);,fprintf(fid,x=%f, str=%sn, x, str);,status=,fclose,(fid);,8,数据输出时采用的格式(,format,),文本文件的写入,flags,(,可选,),width,and,precision,(,可选,),conversion,character,(,格式说明符,必须,),(1),普通字符串,:按原样输出,(2),格式字符串,:指定变量的输出格式,以,%,开头,包括,(3),转义字符,:输出特殊符号,如换行等,常见的有:,b,退后一格,t,水平制表符,f,换页,反斜杠,n,换行,单引号,r,回车,%,百分号,9,格式字符串,fprintf(,x=,%-12.5f,n, x,),以,%,开头,flag,field width,precision,格式说明符,-,:左对齐,+,:输出符号,0,:空白处添,0,空格,:前面加一空格,字段宽度,指定小数点后位数,格式字符串示例,10,格式说明符,常见的格式说明符,c,字符型,g,浮点数(自动),d,十进制整数,o,八进制,e,浮点数(科学计数法),s,字符串,f,浮点数(小数形式),x/X,十六进制,x=sqrt(2);,fid=,fopen,(out2.txt,wt);,fprintf(fid,x=%12.5f, n, x);,fprintf(fid,x=%-12.5f, n, x);,status=,fclose,(fid);,例:,11,x=0:0.1:1; y=exp(x);,fid=fopen(output.txt,wt);,fprintf(fid, x exp(x)n);,for k=1:length(x),fprintf(fid,%6.2f %12.8fn, x(k),y(k);,end,status=fclose(fid);,例:,文本文件写入举例,注:格式的重复使用,x=0:0.1:1; y=exp(x); z=x; y;,. .,fprintf(fid,%6.2f %12.8fn, z);,. .,12,A,用来存放读取的数据,count,返回读取数据的个数,为可选项,fid,为文件句柄,size,为可选项,若缺省,则读取整个文件, 若给出,则取值可以是:,A,count=,fscanf,(fid,format,size,),文本文件的读取,N,读取,N,个数据,组成一个列向量,Inf,读取整个文件,组成一个列向量,m,n,读取,m,n,个数据,组成到一个,m,n,矩阵,按列存放,从文本文件中读取数据,13,文本文件读取举例,x=0:0.1:1; y=exp(x);,z=x; y;,%,文本文件读取,fid=fopen(output.txt,wt,);,fprintf(fid,%6.2f %12.8fn, z);,status=fclose(fid);,%,文本文件读取,fid=fopen(output.txt,rt,);,A=fscanf(fid,%f);,%,注意格式字符串,% A=fscanf(fid,%f,2,11);,status=fclose(fid);,例:,14,内容提要(选学部分),文件的打开与关闭,文本文件的写与读,二进制文件的写与读(选学),15,按指定的数据类型将矩阵,A,中的元素写入到文件中。 其中,count,返回所写入的数据元素个数(可省)。,count=fwrite(fid,A,precision,),A=magic(5);,fid=fopen(,magic5.dat,wb,);,fwrite(fid,A,int8,);,fclose(fid);,fid=fopen(,magic5.dat,rb,);,B,count=fread(fid,5,inf,int8,);,fclose(fid);,二进制文件的写入(选学),例:,向二进制文件中写入数据,16,precision,代表写入的数据的类型,缺省为,uchar,二进制文件(选学),17,char,带符号字符,short,16位带符号整数,int,32位带符号整数,long,32或64位带符号整数,ushort,16位无符号整数,uint,32位无符号整数,ulong,32或64位无符号整数,float,32位浮点数,以下数据类型与使用的平台有关:,二进制文件(选学),18,A,count=,fread,(fid,size,precision,),A=,fread,(fid,size,precision,),N,读取,N,个数据,组成一个列向量,Inf,读取整个文件,组成一个列向量,m,n,读取,m,n,个数据到一个,m,n,矩阵中,按列存放,二进制文件的读(选学),A,用来存放读取的数据,count,返回读取数据的个数,可选项,fid,为文件句柄,size,为可选项,缺省为读取整个文件。取值可以是:,从二进制文件中读取数据,19,fid=fopen(,output.dat,rb,);,A=fread(fid,100,double,);,status=fclose(fid);,fid=fopen(output.dat,rb);,A,count=fread(fid,100,100,double);,status=fclose(fid);,例:,二进制文件读写举例(选学),20,打开文件读写数据时,需要判断和控制文件的,读写位置,,如数据是否读完,或者需要读写指定位置上的数据等。,在读写文件时,,Matlab,自动创建一个,文件位置指针,来管理和维护文件读写数据的起始位置。,Matlab,提供了几个文件位置指针定位操作函数:,fseek,、,ftell,、,frewind,和,feof,读写的定位(选学),读写的定位,21,status=,fseek,(fid,offset,origin,),fid,为文件句柄,offset,表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移,fseek,(选学),cof,表示当前位置,,bof,表示文件的开始位置,,eof,表示文件末尾;,若定位成功,,status,返回值为,0,,否则返回,-1,origin,表示位置指针移动的参照位置,有三种取值:,读写的定位,22,frewind(fid,),eofstat=ftell(fid,),判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回,1,,否则返回,0,position=,ftell,(fid,),返回值为从文件开始到指针当前位置的字节数,将位置指针返回到文件的起始位置,ftell,、,frewind,和,feof,(选学),读写的定位,23,上机作业,1,、编写程序,计算,1,到,225,之间所有整数的平方根,要求将计算结果既在屏幕上输出,也同时将计算结果自动存入文本文件:,data07_1.txt,中。,(程序取名,m07_1.m,),2,、完成实验二(定积分近似计算的实验,,P47-54,)的习题,4,,文件名见题目的规定。,24,上机作业(选做),4,、从课程主页上下载,二进制,数据文件,data07.dat,,从文件中读取,100,个元素(双精度),构成一个,50,X,2,的矩阵。然后将其写入到一个,文本文件,(,data07_4.txt,)中,按两列排放。,3,、编写程序,计算,1,到,10000,之间所有的既是完全平方数又是完全立方数的那些整数,要求将计算结果既在屏幕上输出,也同时将计算结果自动存入文本文件:,data07_3.txt,中。,(程序取名,m07_3.m,),(程序取名,m07_4.m,),25,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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