matlab中Current Folder的修改
参考: 因为在执行matlab程序的时候,倘若.m文件中指定了相对路径,就会在运行时因为找不到相对路径所指示的数据。交代一下,我们的.m程序是在Current Folder下面子目录Image Segmentation下,而.m程序其中引用了Image Segmentationdata下的数据。目录结构是这样子的: |—–Image Segmentation |————-.m程序 |————data |————数据 具体的实例是:.m文件完整路径名为,D:matlab_workpacematlab练习册Computer-Vision-Lung-Cancer-Detection-masterImage Segmentation.m程序。但因为Current Folder并不在Image Segmentation下,所以造成程序无法找到data文件夹。所以报它是一个无效的文件夹。 虽然我们点开了.m程序,并处于可编辑的转态,但这并不表示我们的Current Folder就是.m程序的直接父目录。(原谅我表达有点模糊!!) 从而出现下面的报错:
解决
方法1
你当然可以使用最简单的方法,直接在.m程序的开头加上下面一句话。将Current Folder改在Image Segmentation下,这样搜索data时就能搜索到了。
cd D:matlab_workpacematlab练习册Computer-Vision-Lung-Cancer-Detection-masterImage Segmentation;
方法2——matlab 目录操作的函数
matlab下常用到的目录操作的函数如下: 当然也可以写一段自适应性的代码来更改Current Folder。
% 生成当前文件所在的完整目录,包括文件名 filename = mfilename(fullpath); % 将文件完整路径进行分割 ,pathstr是目录,name是文件名 [pathstr,name,ext]= fileparts(filename); cd(pathstr);
