许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab编程技巧:路径相关函数详解(文件与文件夹操作)

Matlab编程技巧:路径相关函数详解(文件与文件夹操作)

阅读数 3
点赞 0
article_banner

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

1 genpath

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

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

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

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

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

2 fileparts

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

>> fileparts('https://www.gofarlic.com\1234\123\12')
ans =
    'https://www.gofarlic.com\1234\123'

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

>> [filepath,name,ext] = fileparts('https://www.gofarlic.com\学习\博客\Matlab\demo.m')
filepath =
    'https://www.gofarlic.com\学习\博客\Matlab'
name =
    'demo'
ext =
    '.m'

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

3 mfilename

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

在某一个路径下建一个m 脚本 ,然后编写如下简单函数:
在这里插入图片描述

   然后运行该函数,就能DemoPath变量就能获取当前脚本的路径。

>> run('https://www.gofarlic.com\学习\博客\Matlab\Untitled.m')
DemoPath =
    'https://www.gofarlic.com\学习\博客\Matlab\Untitled'

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

>> fileparts(DemoPath)
ans =
    'https://www.gofarlic.com\学习\博客\Matlab'

4 fullfile

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

>> fullfile('https://www.gofarlic.com','学习','博客','Matlab','demo.m')
ans =
    'https://www.gofarlic.com\学习\博客\Matlab\demo.m'

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空