Matlab 对路径的操作及读写文件

您所在的位置:网站首页 matlab获取文件路径的方法 Matlab 对路径的操作及读写文件

Matlab 对路径的操作及读写文件

2023-09-06 10:35| 来源: 网络整理| 查看: 265

本文转载自:http://blog.sina.com.cn/s/blog_632947d60102uxo4.html

Matlab在数学运算方面有着强大的功能,同时在程序编写方面也有一定的优势。Matlab可用作函数、脚本、封装成类,同时提供了与常用编程语言的接口。这时,matlab对文件目录和文件的操作有着重要的作用。 一、 matlab对路径的操作 1、 filesep 用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/)。 2、 fullfile 用于将若干字符串连接成一个完整的路径。例如: >> f=fullfile('D:','Matlab','example.txt') f=D:\Matlab\example.txt (在Windows中,“D:\”表示D盘,“D:”表示目录) 3、 fileparts 用于将一个完整的文件名分割成4部分:路径,文件名,扩展名,版本号。例如: >> f=fullfile('D:','Matlab','example.txt'); >>[pathstr,name,ext,versn]=fileparts(f) pathstr=D:\Matlab name=example ext=.txt versn=’’ 4、 pathsep 返回当前平台的路径分隔符。Windows是分号(;),Linux是冒号(:)。 5、 exist 可以用于判断目录或者文件是否存在,同时不同的返回值有不同的含义。例如: >> f=fullfile('D:','Matlab','example.txt'); >>exist(f) ans=2 >>exist('D:\Matlab') ans =7 6、 which 可以通过一个函数或脚本名称得到它的完整路径,同时还能处理函数重载的情况,例如: >> which abs(0) C:\MATLAB7\toolbox\matlab\elfun\@double\abs.bi  % double method >> which abs(single(0)) C:\MATLAB7\toolbox\matlab\elfun\@single\abs.bi  % single method 7、 isdir 判断一个路径是否代表了一个目录,例如: >> p='D:\Matlab'; >> f=fullfile(p,'example.txt'); >> isp=isdir(p) isp=1 >> isf=isdir(f) isf=0 8、 dir 用于列出一个目录的内容,返回值为结构体数组类型,包含如下部分:name:文件或目录的名称;date:修改日期;bytes:文件大小;isdir:是否是目录。例如: >> p='D:\Matlab'; >>files=dir(p) files =  8x1 struct array with fields:     name     date     bytes     isdir 9、 cd 用于切换当前工作目录。例如: >>cd('c:/toolbox/matlab/demos') %切换当前工作目录到demos >>cd .. %切换当前工作目录到matlab 10、 pwd 用于当前工作目录的路径。例如: >> pwd ans =C:\MATLAB7\work 11、 path 用于对搜索路径的操作。例如: fid = fopen(f, 'r'); >>a=fread(fid); %读取文件全部内容,返回的是每个字节的ASCII码 >>b=fread(fid,5); %读取文件中的前5个字符返回的是这5个字节的ASCII码 >>c=fread(fid,5, 'uint8=>char'); %读取文件中前5个字符并以字符char格式返回 >>d=fread(fid,’*char’);  %读取文件中全部内容并以字符串的格式返回 (a,b,c,d每句是一个单独语句与其他语句无关) >>e1=fread(fid,5,’*char’); %读取文件中前5个字符并以字符串的格式返回 >>e2=fread(fid,8,’*char’); %读取fid指向位置开始后面的8个字符并以字符串的格式返回(e2与e1一起使用时) >>fclose(fid) 5、 fscanf 用于读取文件中指定格式的内容,需要和fopen, fclose配合使用,可以指定读取的字节数,返回的内容存放到一个一维数组中。例如: >> f=fullfile('D:','Matlab','example.txt'); >> fid = fopen(f, 'r'); >>a=fscanf(fid,’%d’); %读取文件中的所有数字,返回到数组a中 >>[a,count]=fscanf(fid,’%d’,5); %读取文件中fid指向位置开始后面的5个数字,返回到数组a中,count返回a的大小,count>fclose(fid) 6、 fgetl 用于读取文件中一行内容,不包括换行符,需要和fopen, fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >> fid = fopen(f, 'r'); >>tline=fgetl(fid);  %从文件中读取fid指向的一行内容 >>fclose(fid) 7、 fgets 用于读取文件中一行内容,包括换行符,需要和fopen,fclose配合使用。(只能用于文本 文件)例如: >> f=fullfile('D:','Matlab','example.txt'); >> fid = fopen(f, 'r'); >>tline=fgets(fid);  %返回文件标识符指向的一行 >>tline=fgets(fid,nchar);  %返回文件标识符指向的一行的最多nchar个任何字符 >>fclose(fid) 8、 fwrite 用于将二进制数据写入文件中,需要和fopen,fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >> fid = fopen(f, 'wb'); >>fwrite(fid,magic(5),'integer*4');  %创建一个二进制文件,由25个4位integer类型 的元素组成的5*5的矩阵 >>fclose(fid) 9、 fprintf 用于将指定格式数据写入到文件中,需要和fopen,fclose配合使用。例如: >>x = 0:.1:1; %从0到1以0.1为单位建立一个矩阵 >>y = [x; exp(x)]; >> f=fullfile('D:','Matlab','example.txt'); >>fid = fopen(f,'w'); >>fprintf(fid,'%6.2f .8f\n',y);  %将矩阵y写入文件中,规定了写入格式 >>fclose(fid) 10、 fseek Matlab 对路径的操作及读写文件 用于对文件指针位置的设定,需要和fopen,fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >>fid = fopen(f,'r'); >>fseek(fid, 19, 'bof'); >>A = fscanf(fid,’%d’,5); >>fclose(fid) 11、 ftell 用于得到文件指针位置,需要和fopen,fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >>fid = fopen(f,'r'); >>fseek(fid,0,’eof’); >>position=ftell(fid); >>fclose(fid) 12、 ferror 用于查询关于文件错误的输入或者输出,需要和fopen,fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >>fid = fopen(f,'r'); >>message1=ferror(fid);  %返回错误信息 >>message2=ferror(fid,’clear’) %返回错误信息并清空 >>fclose(fid) 13、 feof 用于判断是不是文件末尾,需要和fopen,fclose配合使用。例如: >> f=fullfile('D:','Matlab','example.txt'); >>fid = fopen(f,'r'); >>while ~feof(fid) >>tline=fgetl(fid); >>printf(tline); >>end >>fclose(fid) 三、 。。 四、 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3