How to access all .m files in different subfolders?
18 ビュー (過去 30 日間)
古いコメントを表示
As my project grows, I came up with the idea to arrange the different functions into different folders. For example the solvers are in the "solver" folder, the utility functions in the "utilities" folder, etc. If I invoke my functions, the do not see each other because of being different folders. How can I eliminate this error? I would like to maintain this several-folders structure. Do I have to change the current directory all the time?
Thanks, Zoli
0 件のコメント
採用された回答
Star Strider
2014 年 7 月 7 日
編集済み: Star Strider
2014 年 7 月 7 日
As part of my startup.m file, I start by calling the userpath function, then genpath and lastly, addpath. I’m not certain this is the most efficient method, since my startup.m file has evolved over the 15 or so years since MATLAB added the MATLAB directory to Documents, but it works.
Specifically:
MyPath = userpath;
MyDir = MyPath(1:strfind(MyPath,';')-1);
MyWorkDir = genpath(MyDir);
addpath(MyWorkDir, '-end');
EDIT — This works for Windows. No promises for Mac or Linux systems.
その他の回答 (2 件)
Aldo Amaya
2014 年 7 月 7 日
If you are only calling functions you do not have to change to a current directory. You just need to set the path to include all folders.
Environment>Set Path>Add With Subfolders> (Select work folder)
Then you should be able to call upon any function in your path.
5 件のコメント
benjamin rinauto
2016 年 10 月 18 日
It sounds like this file on the file exchange is what you're looking for:
https://www.mathworks.com/matlabcentral/fileexchange/59815-addcontainingdirandsubdir--
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Search Path についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!