matlab - 当对 uigetdir 返回的值使用 cd 函数时,名称不存在或不是目录

标签 matlab path

通过 Windows Parallels (Windows 7) 运行 R2012a (7.14.0.739),出现此错误。

  >>folder_name=uigetdir;
  >>cd folder_name;

Error using cd
Cannot CD to folder_name (Name is nonexistent or not a directory).

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

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

最佳答案

错误原因

您正在以其“命令形式”使用 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' ) 是等同于“命令形式”的“函数形式”cd folder_name`。

关于matlab - 当对 uigetdir 返回的值使用 cd 函数时,名称不存在或不是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17565885/

相关文章:

matlab - 使用哪种插值方法对语音信号进行重采样?

c++ - mex 内部调用的 memcpy 函数

matlab - 交织载体

java获取文件路径

python - 如何在 Python 中的文件路径中间插入一个目录?

从 tar.gz 导入 Python 库?

python - python获取父目录路径的方法

image - MATLAB 中的涟漪效应

matlab - 时域传递函数

linux - 使用 bash 跳转到每个子文件夹并返回