资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4章 MATLAB文件操作 4.1 文件的打开与关闭 4.2 文件的读写操作 4.3 数据文件定位4.1 文件的打开与关闭 4.1.1 文件的打开 fopen函数的调用格式为: fid= fopen(文件名,打开方式) 其中文件名用字符串形式,表示待打开的数据文 件。常见的打开方式有:r表示对打开的文件读 数据,w表示对打开的文件写数据,a表示在打 开的文件末尾添加数据。 fid用于存储文件句柄值,句柄值用来标识该数据 文件,其他函数可以利用它对该数据文件进行操 作。文件数据格式有两种形式,一是二进制文件,二是 文本文件。在打开文件时需要进一步指定文件格 式类型,即指定是二进制文件还是文本文件。4.1.2 文件的关闭 文件在进行完读、写等操作后,应及时关闭。关 闭文件用fclose函数,调用格式为: sta=fclose(fid) 该函数关闭fid所表示的文件。sta表示关闭文件操 作的返回代码,若关闭成功,返回0,否则返回1 。4.2 文件的读写操作4.2.1 二进制文件的读写操作 1读二进制文件 fread 函数可以读取二进制文件的数据,并将数据 存入矩阵。其调用格式为: A,COUNT=fread(fid,size, precision) 其中A用于存放读取的数据,COUNT返回所读取 的数据元素个数,fid为文件句柄,size为可选项 ,若不选用则读取整个文件内容,若选用则它的 值可以是下列值:(1) N表示读取 N个元素到一个列向量。 (2) Inf表示读取整个文件。 (3) M,N表示读数据到MN的矩阵中,数据按列 存放。 precision代表读写数据的类型2写二进制文件 fwrite 函数按照指定的数据类型将矩阵中的元素 写入到文件中。其调用格式为: COUNT=fwrite (fid, A, precision) 其中COUNT返回所写的数据元素个数,fid为文 件句柄,A用来存放写入文件的数据,precision用 于控制所写数据的类型,其形式与fread函数相同 。例4-1 建立一数据文件magic5.dat,用于存放5 阶魔方阵。 程序如下: fid=fopen(magic5.dat,w); cnt=fwrite(fid,magic(5),int32); fclose(fid);fid=fopen(magic5.dat, r); B,cnt=fread(fid,5,inf, int32); fclose(fid);4.2.2 文本文件的读写操作 1读文本文件 fscanf 函数的调用格式为: A,COUNT= fscanf (fid, format, size) 其中A用以存放读取的数据,COUNT返回所读取 的数据元素个数。fid为文件句柄。format用以控 制读取的数据格式,由%加上格式符组成,常见 的格式符有d,f,c,s。 size为可选项,决定矩阵A中数据的排列形式。2写文本文件 fprintf 函数的调用格式为: COUNT= fprintf(fid, format, A) 其中A存放要写入文件的数据。先按format指定的格 式将数据矩阵A格式化,然后写入到fid所指定的文件 。格式符与fscanf函数相同。 x=0:0.1:1; y=x;exp(x); fid=fopen(exp.txt,w); fprintf(fid,%6.2f %12.8fn,y); fclose(fid);4.3 数据文件定位 MATLAB提供了与文件定位操作有关的函数 fseek和ftell。fseek函数用于定位文件位置指针 ,其调用格式为: status=fseek(fid, offset, origin) 其中fid为文件句柄,offset表示位置指针相对移 动的字节数,origin表示位置指针移动的参照 位置。若定位成功,status返回值为0,否则返 回值为1。ftell函数返回文件指针的当前位置,其调用格式 为: position=ftell (fid) 返回值为从文件开始到指针当前位置的字节数。 若返回值为1表示获取文件当前位置失败。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号