"Undefined function or variable" when the directory is correct, and function is there!?
显示 更早的评论
I'm having a frustrating issue with MATLAB, I'm very often getting an error - "Undefined function or variable" when calling a function, even though the function is either in the current directory, or I've added it's path. If I edit the function name, and try and call it with this new name it works!
Any suggestions would be fab, I've tried a few similiar questions, but have yet to find a solution..
Thanks
10 个评论
madhan ravi
2019-4-26
what was your function name?
Jack Latham
2019-4-26
Walter Roberson
2019-4-26
Is it possible that you are storing the functions under the MATLAB installation directory?
Is it possible that the functions are stored on a network drive? Especially Windows 10 and Microsoft OneDrive ?
Jack Latham
2019-4-26
Jan
2019-4-26
Please post some examples for the working and not working file names. Use copy&paste, such that we can check if Unicode-characters are hidden in the names.
"If I edit the function name, and try and call it with this new name it works!" Then please explain in detail, when it does not work. How do you define the name initially?
Also, what's result of
which filename -all
where 'filename' is the name of your file (without file extension) ?
Aaron Kaw
2021-10-11
I'm having this same issue, and
which filename.m -all
prints
'filename.m' not found.
when I see it RIGHT THERE in the current directory.
Even
ls
shows the file to be visible and accessible.
Aaron Kaw
2021-10-11
Okay, I just found out that the folder name my function is located in is named "resources" which MATLAB won't search in, and so won't know if you're trying to call a function name from there. I've renamed it to "res" which seems to work fine.
A clearer issue handling is done with folders with the name "aux" - MATLAB doesn't let you name a folder so.
Maybe Mathworks should provide some sort of warning when a folder by the name of "resources" or likewise is in your cwd?
Walter Roberson
2021-10-11
do you have any documentation on aux being a special folder to matlab?
https://www.mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html
I do not think that aux is special to matlab. I think that instead you are using MS Windows and are running into reserved file names for Windows
https://www.helpndoc.com/documentation/html/Windowsreservedfilenames.html
Steven Lord
2021-10-11
As of release R2019a we no longer allow folders named resources on the MATLAB path, and you will receive a warning if you try to add such a folder to the path. Perhaps we should issue a similar warning if you try to make such a directory the current directory. I've made a note to discuss this with the relevant development team in the morning.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Search Path 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!