在运行 unitTester 文件之前,我总是需要这样做。我不明白为什么需要这样做。这是什么意思?为什么"Add to Path > Selected Folders and Subfolders"
还不够?
[更新] 这可能是问题所在。内核以不同的技术编程,其中文件名相同。我需要确保在每种情况下只使用某些文件。最简单的方法是在这里使用一个包来不弄乱命名空间吗?
在运行 unitTester 文件之前,我总是需要这样做。我不明白为什么需要这样做。这是什么意思?为什么"Add to Path > Selected Folders and Subfolders"
还不够?
[更新] 这可能是问题所在。内核以不同的技术编程,其中文件名相同。我需要确保在每种情况下只使用某些文件。最简单的方法是在这里使用一个包来不弄乱命名空间吗?
MATLAB 在其搜索路径上搜索 m 文件,您可以使用path
命令显示它。如果您在 MATLAB 路径上有多个具有相同基本名称的 m 文件(即扩展名之前的文件名部分,不包括目录),则 MATLAB 只能执行路径上第一个出现的 m 文件。
您可以使用addpath
和rmpath
函数来动态修改路径。例如,您可以在测试运行脚本中自动添加相关目录。请注意,addpath
将新路径添加到路径列表的头部,以确保它优先于现有条目。
防止此类名称冲突的另一种方法是包。
编辑:要将目录转换为包,请执行以下操作:
+
在其名称的开头添加一个。packagename.
它们或在调用之前包含包内容 ( import packagename.*
)。一般来说,我更喜欢包而不是动态路径修改,因为它们更容易使用。请注意,您可以嵌套包(即my_matlab_files/+mypkg/+nested/foo.m
)。
我在使用 Matlab r2015a 的 OS X 10.10.3 上遇到了同样的问题。
我有我的文件~/electrochemistry/Matlab/
不知何故将最后一个文件夹重命名为小写解决了这个问题。在进行故障排除时,我注意到 Matlab 正在寻找~/electrochemistry/matlab/
,但找不到它正在寻找的内容(即我正在运行的 .m 文件)
所以现在我正在工作~/electrochemistry/matlab/
并且问题已经解决了
更改您的源代码名称,因为它的名称与 Matlab 的源代码相同