Matlab编程技巧:路径相关函数

在Matlab编程中,不可避免地需要读取某一路径下地文件,或者将某一文件拷贝到别的路径。本文研究一些常见的路径函数。

1 genpath

给genpath函数输入一个路径,可以返回该路径下所有的子路径的字符串,并且用分号隔开。例如输入博主的博客相关的总路径:

>> genpath('D:\学习\博客\Matlab')
ans =
    'D:\学习\博客\Matlab;D:\学习\博客\Matlab\Advisor;D:\学习\博客\Matlab\Stateflow;D:\学习\博客\Matlab\startup;D:\学习\博客\Matlab\信号线;D:\学习\博客\Matlab\批量获取修改Simulink模块参数;D:\学习\博客\Matlab\数据字典;D:\学习\博客\Matlab\正则表达式;'

这时,外面可以加上一个Split函数,把返回的字符串分割成若干个路径,存放在一个单元数组中,如下:

>> split(genpath('D:\学习\博客\Matlab'),';')
ans =
  9×1 cell 数组
    {'D:\学习\博客\Matlab'                         }
    {'D:\学习\博客\Matlab\Advisor'                 }
    {'D:\学习\博客\Matlab\Stateflow'               }
    {'D:\学习\博客\Matlab\startup'                 }
    {'D:\学习\博客\Matlab\信号线'                   }
    {'D:\学习\博客\Matlab\批量获取修改Simulink模块参数'}
    {'D:\学习\博客\Matlab\数据字典'                  }
    {'D:\学习\博客\Matlab\正则表达式'                }
    {0×0 char                                     }

注意,单元数组最后一个元素是空的,在后面循环遍历的时候要排除掉它。

2 fileparts

fileparts函数可以帮我们获取路径的一部分。例如,如果不限定返回值,给fileparts函数传一个路径,就会得出上一层路径:

>> fileparts('D:\1234\123\12')
ans =
    'D:\1234\123'

加上三个返回参数,并且传一个包含文件夹路径、文件名和后缀的完整路径,就会把这三部分拆开:

>> [filepath,name,ext] = fileparts('D:\学习\博客\Matlab\demo.m')
filepath =
    'D:\学习\博客\Matlab'
name =
    'demo'
ext =
    '.m'

这个函数很实用,遇到路径处理的时候,不用再去费力地搞字符串了。

3 mfilename

通过给mfilename函数传入一个参数’fullpath’就可以获得当前m脚本所在的路径。

在某一个路径下建一个m脚本,然后编写如下简单函数:
在这里插入图片描述
然后运行该函数,就能DemoPath变量就能获取当前脚本的路径。

>> run('D:\学习\博客\Matlab\Untitled.m')
DemoPath =
    'D:\学习\博客\Matlab\Untitled'

这个路径是完整的文件夹路径和脚本名称,不包含后缀。使用上文讲的fileparts函数,就可以获得文件夹路径:

>> fileparts(DemoPath)
ans =
    'D:\学习\博客\Matlab'

4 fullfile

既然有拆分路径的函数,那肯定也有合并路径的函数。fullfile就可以将很多字符串合并为一个路径:

>> fullfile('D:','学习','博客','Matlab','demo.m')
ans =
    'D:\学习\博客\Matlab\demo.m'

>>返回个人博客总目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值