数学软件MatlabP.ppt

上传人:本田雅阁 文档编号:3184418 上传时间:2019-07-22 格式:PPT 页数:25 大小:262.01KB
返回 下载 相关 举报
数学软件MatlabP.ppt_第1页
第1页 / 共25页
数学软件MatlabP.ppt_第2页
第2页 / 共25页
数学软件MatlabP.ppt_第3页
第3页 / 共25页
数学软件MatlabP.ppt_第4页
第4页 / 共25页
数学软件MatlabP.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数学软件MatlabP.ppt》由会员分享,可在线阅读,更多相关《数学软件MatlabP.ppt(25页珍藏版)》请在三一文库上搜索。

1、1,数学软件 Matlab, 文件操作,2,内容提要,文件的打开与关闭 文本文件的写与读 二进制文件的写与读(选学),3,文件操作是一种重要的输入输出方式,Matlab 提供了一系列输入输出函数,专门用于文件操作。,Matlab文件操作三步骤:,Matlab中的输入输出函数是以 C 语言标准库函数中的输入输出函数为基础开发的,所以这些函数与 C 语言的输入输出函数相类似。,Matlab 文件操作介绍,(1) 打开文件 (2) 对文件进行读写操作 (3) 关闭文件,4,打开方式有(若不指定打开方式,则表示只读) :,fid=fopen(文件名,打开方式),文件的打开,其中文件名用字符串形式表示(

2、可以带路径名),文件的打开,5,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(文件名,打开方式),6,文件的关闭,其中 fid 为所要

3、关闭的文件的句柄 status 为关闭文件的返回代码,若成功则为 0,否则为 -1 文件操作结束后一定要关闭,status=fclose(fid);,文件的关闭,7,内容提要,文件的打开与关闭 文本文件的写与读 二进制文件的写与读(选读),8,将指定的变量按指定的格式写入文本文件中 若省略 fid,则表示在屏幕上输出 count 返回所写入的数据的个数(可省) format 用来指定写数据时采用的格式,通常由三部分组成 普通字符串、格式字符串、转义字符,count=fprintf(fid,format,输出变量列表),文本文件的写入,向文本文件中写数据,x=3.14; str=math; fi

4、d=fopen(output.txt,wt); fprintf(fid,x=%f, str=%sn, x, str); status=fclose(fid);,9,数据输出时采用的格式(format),文本文件的写入,flags (可选) width and precision (可选) conversion character (格式说明符,必须),(1) 普通字符串:按原样输出,(2) 格式字符串:指定变量的输出格式,以 % 开头,包括,(3) 转义字符:输出特殊符号,如换行等,常见的有:,10,格式字符串,fprintf(x= %-12.5f n, x),以 % 开头,flag,fiel

5、d width,precision,格式说明符,- :左对齐 + :输出符号 0 :空白处添 0 空格:前面加一空格,字段宽度,指定小数点后位数,格式字符串示例,11,格式说明符,常见的格式说明符,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);,例:,12,x=0:0.1:1; y=exp(x); fid=fopen(output.txt,wt); fprintf(fid, x exp(x)n); for k=1:l

6、ength(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); . .,13,A 用来存放读取的数据 count 返回读取数据的个数,为可选项 fid 为文件句柄 size 为可选项,若缺省,则读取整个文件, 若给出,则取值可以是:,A,count=fscanf(fid,format,size),文本文件的读取,从文本文件中读取数据,14,文本文件

7、读取举例,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);,例:,15,内容提要(选学部分),文件的打开与关闭 文本文件的写与读 二进制文件的写与读(选学),16,按指定的数据类型将矩阵 A 中的元素写入

8、到文件中。 其中 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);,二进制文件的写入(选学),例:,向二进制文件中写入数据,17,precision 代表写入的数据的类型,缺省为 uchar,二进制文件(选学),18,以下数据类型与使用的平台有关:,二进制文件

9、(选学),19,A,count=fread(fid,size,precision) A=fread(fid,size,precision),二进制文件的读(选学),A 用来存放读取的数据 count 返回读取数据的个数,可选项 fid 为文件句柄 size 为可选项,缺省为读取整个文件。取值可以是:,从二进制文件中读取数据,20,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); st

10、atus=fclose(fid);,例:,二进制文件读写举例(选学),21,打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。 在读写文件时,Matlab 自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。 Matlab 提供了几个文件位置指针定位操作函数: fseek、ftell 、 frewind 和 feof,读写的定位(选学),读写的定位,22,status=fseek(fid,offset,origin),fid 为文件句柄 offset 表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移,fs

11、eek (选学),cof 表示当前位置, bof 表示文件的开始位置, eof 表示文件末尾;,若定位成功,status 返回值为 0,否则返回 -1,origin 表示位置指针移动的参照位置,有三种取值:,读写的定位,23,frewind(fid),eofstat=ftell(fid),判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回 1,否则返回 0,position=ftell(fid),返回值为从文件开始到指针当前位置的字节数,将位置指针返回到文件的起始位置,ftell、frewind 和 feof (选学),读写的定位,24,上机作业,1、编写程序,计算 1

12、到 225 之间所有整数的平方根,要求将计算结果既在屏幕上输出,也同时将计算结果自动存入文本文件:data07_1.txt 中。,(程序取名 m07_1.m),2、完成实验二(定积分近似计算的实验,P47-54)的习题4,文件名见题目的规定。,25,上机作业(选做),4、从课程主页上下载二进制数据文件 data07.dat,从文件中读取100个元素(双精度),构成一个 50 X 2 的矩阵。然后将其写入到一个文本文件(data07_4.txt)中,按两列排放。,3、编写程序,计算 1 到 10000 之间所有的既是完全平方数又是完全立方数的那些整数,要求将计算结果既在屏幕上输出,也同时将计算结果自动存入文本文件:data07_3.txt 中。,(程序取名 m07_3.m),(程序取名 m07_4.m),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1