matlab中Current Folder的修改

参考:
https://www.cnblogs.com/shine-lee/p/4258863.html
因为在执行matlab程序的时候,倘若.m文件中指定了相对路径,就会在运行时因为找不到相对路径所指示的数据。交代一下,我们的.m程序是在Current Folder下面子目录Image Segmentation下,而.m程序其中引用了Image Segmentation\data下的数据。目录结构是这样子的:
|—–Image Segmentation
|————-.m程序
|————data
|————数据
具体的实例是:.m文件完整路径名为,D:\matlab_workpace\matlab练习册\Computer-Vision-Lung-Cancer-Detection-master\Image Segmentation.m程序。但因为Current Folder并不在Image Segmentation下,所以造成程序无法找到data文件夹。所以报它是一个无效的文件夹。
虽然我们点开了.m程序,并处于可编辑的转态,但这并不表示我们的Current Folder就是.m程序的直接父目录。(原谅我表达有点模糊!!)
这里写图片描述
从而出现下面的报错:
这里写图片描述

解决

方法1

你当然可以使用最简单的方法,直接在.m程序的开头加上下面一句话。将Current Folder改在Image Segmentation下,这样搜索data\时就能搜索到了。

cd 'D:\matlab_workpace\matlab练习册\Computer-Vision-Lung-Cancer-Detection-master\Image Segmentation';

方法2——matlab 目录操作的函数

matlab下常用到的目录操作的函数如下:
这里写图片描述
当然也可以写一段自适应性的代码来更改Current Folder。

% 生成当前文件所在的完整目录,包括文件名
filename = mfilename('fullpath');
% 将文件完整路径进行分割 ,pathstr是目录,name是文件名
[pathstr,name,ext]= fileparts(filename);
cd(pathstr);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值