matlab对文件目录操作及读写文件

上传人:小****克 文档编号:334075086 上传时间:2022-09-05 格式:PDF 页数:9 大小:92.59KB
返回 下载 相关 举报
matlab对文件目录操作及读写文件_第1页
第1页 / 共9页
matlab对文件目录操作及读写文件_第2页
第2页 / 共9页
matlab对文件目录操作及读写文件_第3页
第3页 / 共9页
matlab对文件目录操作及读写文件_第4页
第4页 / 共9页
matlab对文件目录操作及读写文件_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《matlab对文件目录操作及读写文件》由会员分享,可在线阅读,更多相关《matlab对文件目录操作及读写文件(9页珍藏版)》请在金锄头文库上搜索。

1、-精选文档-Matlab 对路径的操作及读写文件Matlab在数学运算方面有着强大的功能,同时在程序编写方面也有一定的优势。Matlab 可用作函数、脚本、封装成类,同时提供了与常用编程语言的接口。这时,matlab对文件目录和文件的操作有着重要的作用。一、一、matlabmatlab 对路径的操作对路径的操作1 1、filesepfilesep用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux 是斜杠(/)。2 2、fullfilefullfile用于将若干字符串连接成一个完整的路径。例如:f=fullfile(D:,Matlab,example.txt)f=D:Matla

2、bexample.txt(在 Windows中,“D:”表示 D 盘,“D:”表示目录)3 3、filepartsfileparts用于将一个完整的文件名分割成4 部分:路径,文件名,扩展名,版本号。例如:f=fullfile(D:,Matlab,example.txt);pathstr,name,ext,versn=fileparts(f)pathstr=D:Matlabname=exampleext=.txtversn=4 4、pathseppathsep返回当前平台的路径分隔符。Windows是分号(;),Linux 是冒号(:)。可编辑-精选文档-5 5、existexist可以用于判

3、断目录或者文件是否存在,同时不同的返回值有不同的含义。例如:f=fullfile(D:,Matlab,example.txt);exist(f)ans=2exist(D:Matlab)ans=76 6、whichwhich可以通过一个函数或脚本名称得到它的完整路径,同时还能处理函数重载的情况,例如:which abs(0)C:MATLAB7toolboxmatlabelfundoubleabs.bi%double method which abs(single(0)C:MATLAB7toolboxmatlabelfunsingleabs.bi%single method7 7、isdirisd

4、ir判断一个路径是否代表了一个目录,例如:p=D:Matlab;f=fullfile(p,example.txt);isp=isdir(p)isp=1 isf=isdir(f)isf=08 8、dirdir可编辑-精选文档-用于列出一个目录的内容,返回值为结构体数组类型,包含如下部分:name:文件或目录的名称;date:修改日期;bytes:文件大小;isdir:是否是目录。例如:p=D:Matlab;files=dir(p)files=8x1 struct array with fields:namedatebytesisdir9 9、cdcd用于切换当前工作目录。例如:cd(c:/too

5、lbox/matlab/demos)cd.%切换当前工作目录到 matlab1010、pwdpwd%切换当前工作目录到 demos用于当前工作目录的路径。例如:pwdans=C:MATLAB7work1111、pathpath用于对搜索路径的操作。例如:path%查询当前所有的搜索路径(MATLABPATH)p=path%把当前的搜索路径存在字符串变量p 中可编辑-精选文档-path(newpath)%将当前搜索路径设置为newpathpath(path,newpath)%向路径添加一个新目录newpathpath(newpath,path)%向当前搜索路径预加一个新目录nespath1212

6、、addpathaddpath和和 rmpathrmpath用于对 matlab 搜索路径的添加和删除。例如:addpath(directory)rmpath1313、whatwhat%将完整路径directory加入到当前搜索路径的最顶端用于显示出某目录下存在哪些matlab 文件;若输入完整路径,可列出指定目录下的文件。例如:whatwhat dirname f=fullfile(D:,Matlab,example.txt);fid=fopen(f);%打开文件,fid=-1 表示打开文件失败;fid=1 表示输出 stdout;可编辑-精选文档-fid=2 表示错误信息文件;fid=其他

7、正数表示文件打开成功,并返回文件编号。(fid=1,2不需打开)fid=fopen(f,r);%以读(r)的方式打开文件;打开方式有:r,w,a,r+,w+,a+,A,Wfid,message=fopen(filename,mode,machineformat)2 2、fclosefclose关闭一个或者多个文件。例如:fclose(fid)fclose(all)3 3、loadload可用于读数值型文件,并且无须打开文件,但是要求文件中的内容所有行的列数相同。例如:f=fullfile(D:,Matlab,example.txt);A=load(f)4 4、freadfread用于读取文件中

8、的内容,需要和fopen,fclose 配合使用,返回的是ASCII 码,可以指定返回字节数和返回的格式。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);a=fread(fid);%读取文件全部内容,返回的是每个字节的ASCII 码b=fread(fid,5);%读取文件中的前 5 个字符返回的是这5 个字节的 ASCII 码%返回以 f为路径的文件的内容c=fread(fid,5,uint8=char);%读取文件中前 5 个字符并以字符 char 格式返回可编辑-精选文档-d=fread(fid,*char);%读取文件中全部内容并以

9、字符串的格式返回(a,b,c,d 每句是一个单独语句与其他语句无关)e1=fread(fid,5,*char);%读取文件中前 5 个字符并以字符串的格式返回e2=fread(fid,8,*char);%读取fid指向位置开始后面的8 个字符并以字符串的格式返回(e2 与 e1 一起使用时)fclose(fid)5 5、fscanffscanf用于读取文件中指定格式的内容,需要和fopen,fclose 配合使用,可以指定读取的字节数,返回的内容存放到一个一维数组中。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);a=fscanf(fid

10、,%d);%读取文件中的所有数字,返回到数组a 中a,count=fscanf(fid,%d,5);%读取文件中 fid指向位置开始后面的 5 个数字,返回到数组 a 中,count 返回 a 的大小,countfclose(fid)6 6、fgetlfgetl用于读取文件中一行内容,不包括换行符,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);tline=fgetl(fid);fclose(fid)%从文件中读取 fid指向的一行内容可编辑-精选文档-7 7、fgetsfgets用于读取文件中一行

11、内容,包括换行符,需要和fopen,fclose配合使用。(只能用于文本文件)例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);tline=fgets(fid);%返回文件标识符指向的一行%返回文件标识符指向的一行的最多 nchar 个任何字tline=fgets(fid,nchar);符fclose(fid)8 8、fwritefwrite用于将二进制数据写入文件中,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,wb);fwrite(fid,mag

12、ic(5),integer*4);类型的元素组成的 5*5 的矩阵fclose(fid)9 9、fprintffprintf用于将指定格式数据写入到文件中,需要和fopen,fclose配合使用。例如:x=0:.1:1;%从 0 到 1 以 0.1为单位建立一个矩阵%创建一个二进制文件,由25 个4 位 integery=x;exp(x);f=fullfile(D:,Matlab,example.txt);fid=fopen(f,w);可编辑-精选文档-fprintf(fid,%6.2f%12.8fn,y);fclose(fid)1010、fseekfseek%将矩阵 y 写入文件中,规定了写

13、入格式用于对文件指针位置的设定,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);fseek(fid,19,bof);A=fscanf(fid,%d,5);fclose(fid)1111、ftellftell用于得到文件指针位置,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);fseek(fid,0,eof);position=ftell(fid);fclose(fid)1212、ferrorferror用

14、于查询关于文件错误的输入或者输出,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);可编辑-精选文档-message1=ferror(fid);%返回错误信息message2=ferror(fid,clear)%返回错误信息并清空fclose(fid)1313、feoffeof用于判断是不是文件末尾,需要和fopen,fclose配合使用。例如:f=fullfile(D:,Matlab,example.txt);fid=fopen(f,r);while feof(fid)tline=fgetl(fid);printf(tline);endfclose(fid)三、三、。四、四、可编辑

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

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号