3

通过 Windows Parallels (Windows 7) 运行 R2012a (7.14.0.739),并收到此错误。

  >>folder_name=uigetdir;
  >>cd folder_name;

使用 cd
Cannot CD to folder_name 时出错(名称不存在或不是目录)。

奇怪的是,如果我将“folder_name”结果复制并粘贴到 Matlab GUI 的文件夹字段中,我可以手动设置工作目录路径。

启动 Matlab 没有问题,也没有自定义 startup.m 或 pathdef.m。这个问题的根源是什么?什么是解决方法?谢谢!

4

2 回答 2

3

错误原因

您正在使用cd它的“命令形式”。因此,Matlab 理解cd folder_name为 cd-ing 到一个名为“folder_name”的文件夹。在“命令形式”中,matlab 不会评估变量名称以查看存储在变量中的字符串是什么folder_name

解决方案

您需要cd以其“功能形式”使用:

cd( folder_name )

这样,matlab 就可以理解这folder_name是一个变量名,而不是文件夹的实际名称。

为了更好地理解,请考虑以下之间的区别:

>> cd( folder_name )

>> cd( 'folder_name' )

cd( 'folder_name' ) is the "function form" equivalent of the "command form" cd 文件夹名称` 。

于 2013-07-10T08:40:44.580 回答
1

类型:

编辑 pathdef.m

并删除有错误的文件,我只是将它们注释掉,我的错误就消失了。

于 2014-01-11T00:48:45.287 回答