概述
在Matlab编程中,不可避免地需要读取某一路径下地文件,或者将某一文件拷贝到别的路径。本文研究一些常见的路径函数。
文章目录
- 1 genpath
- 2 fileparts
- 3 mfilename
- 4 fullfile
1 genpath
给genpath函数输入一个路径,可以返回该路径下所有的子路径的字符串,并且用分号隔开。例如输入博主的博客相关的总路径:
>> genpath('D:学习博客Matlab')
ans =
'D:学习博客Matlab;D:学习博客MatlabAdvisor;D:学习博客MatlabStateflow;D:学习博客Matlabstartup;D:学习博客Matlab信号线;D:学习博客Matlab批量获取修改Simulink模块参数;D:学习博客Matlab数据字典;D:学习博客Matlab正则表达式;'
这时,外面可以加上一个Split函数,把返回的字符串分割成若干个路径,存放在一个单元数组中,如下:
>> split(genpath('D:学习博客Matlab'),';')
ans =
9×1 cell 数组
{'D:学习博客Matlab' }
{'D:学习博客MatlabAdvisor' }
{'D:学习博客MatlabStateflow' }
{'D:学习博客Matlabstartup' }
{'D:学习博客Matlab信号线' }
{'D:学习博客Matlab批量获取修改Simulink模块参数'}
{'D:学习博客Matlab数据字典' }
{'D:学习博客Matlab正则表达式' }
{0×0 char }
注意,单元数组最后一个元素是空的,在后面循环遍历的时候要排除掉它。
2 fileparts
fileparts函数可以帮我们获取路径的一部分。例如,如果不限定返回值,给fileparts函数传一个路径,就会得出上一层路径:
>> fileparts('D:123412312')
ans =
'D:1234123'
加上三个返回参数,并且传一个包含文件夹路径、文件名和后缀的完整路径,就会把这三部分拆开:
>> [filepath,name,ext] = fileparts('D:学习博客Matlabdemo.m')
filepath =
'D:学习博客Matlab'
name =
'demo'
ext =
'.m'
这个函数很实用,遇到路径处理的时候,不用再去费力地搞字符串了。
3 mfilename
通过给mfilename函数传入一个参数’fullpath’就可以获得当前m脚本所在的路径。
在某一个路径下建一个m脚本,然后编写如下简单函数:
然后运行该函数,就能DemoPath变量就能获取当前脚本的路径。
>> run('D:学习博客MatlabUntitled.m')
DemoPath =
'D:学习博客MatlabUntitled'
这个路径是完整的文件夹路径和脚本名称,不包含后缀。使用上文讲的fileparts函数,就可以获得文件夹路径:
>> fileparts(DemoPath)
ans =
'D:学习博客Matlab'
4 fullfile
既然有拆分路径的函数,那肯定也有合并路径的函数。fullfile就可以将很多字符串合并为一个路径:
>> fullfile('D:','学习','博客','Matlab','demo.m')
ans =
'D:学习博客Matlabdemo.m'
>>返回个人博客总目录
最后
以上就是会撒娇自行车为你收集整理的Matlab编程技巧:路径相关函数1 genpath2 fileparts3 mfilename4 fullfile的全部内容,希望文章能够帮你解决Matlab编程技巧:路径相关函数1 genpath2 fileparts3 mfilename4 fullfile所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复