matlab无法识别当前路径下的文件
现象:m文件中应用的某个函数给出警告:xxx是无效变量或函数
解决方案:
- 有可能当前路径下确实没有警告中所说的文件,需要包含相应文件。
- matlab的路径搜索规则:若子文件夹下含有和母文件夹下相同的文件,matlab会优先搜索母文件夹下的文件,并使得子文件(当前路径下)的文件隐藏。若运行当前路径下的文件时,若跨文件调用了母文件夹和子文件夹都有的文件,则会报错。出现matlab无法识别当前路径下的文件的现象。或者提示某路径下有调用的文件,而非当前路径。
- 在2的情况下,需要删除母文件下的相同文件,或者将子文件夹剪切到母文件路径,使得当前路径作为母文件夹被优先搜索。
总结来说,在matlab变成的过程中,当工程比较复杂的时候,功能块需要分文件夹保存,则需要注意matlab的路径配置和路径搜索优先级规则。即母文件优先子文件!!!
另:这里提供一个比较好用的暂时性添加路径方法,满足:当前路径中包含多个子文件,需要调用子文件中的函数。则可以用addpath(genpath(pwd));命令来包含文件。
以上所说问题,是最近遇到的一个比较麻烦的现象。最后通过更改文件夹的位置,解决了。