MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何使用MATLAB搜索路径 (https://www.labfans.com/bbs/showthread.php?t=23074)

poster 2019-12-10 20:30

如何使用MATLAB搜索路径
 
我对MATLAB搜索路径有一些疑问:
[LIST=1][*]当前目录在搜索路径上,但是为什么不在“ path”的输出中呢?在哪里可以找到完整的搜索路径?
[*]添加搜索路径的所有可能方式是什么?
[*]考虑添加搜索路径的所有可能方法(例如pathdef.m,startup.m,MATLABPATH env变量等),添加搜索路径的顺序是什么?我认为这很重要,因为当具有相同名称的文件位于不同的搜索路径中时,将选择顶部的文件。
[/LIST]
[B]回答:[/B]

[URL="https://stackoverflow.com/questions/2129646/matlab-search-path/2129658#2129658"]Amro[/URL]提供的链接在回答您的问题时应该会很有帮助。要更具体地解决它们:
[LIST=1][*] [URL="http://www.mathworks.com/help/matlab/ref/path.html"]PATH[/URL]的输出将显示pathdef.m文件的内容,该文件应包括以下所有内容:
[LIST][*] MATLAB和其他MathWorks产品(即工具箱)提供的文件夹。这些文件夹位于MATLAB根文件夹中,您可以使用[URL="http://www.mathworks.com/help/matlab/ref/matlabroot.html"]MATLABROOT[/URL]函数找到该文件夹。
[*] MATLAB用户文件夹(即Windows平台上的My Documents\MATLAB ),可以使用[URL="http://www.mathworks.com/help/matlab/ref/userpath.html"]USERPATH[/URL]函数找到。
[*]用户已添加到路径文件的任何其他文件夹。
[/LIST]完整的[URL="http://www.mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html"]搜索路径[/URL]包含以上内容,以及当前目录的所有内容。当前目录不会保存为路径文件的一部分,因为可以在MATLAB会话期间进行更改。您可以使用[URL="http://www.mathworks.com/help/matlab/ref/pwd.html"]PWD[/URL]功能找到当前文件夹。
[*]可以通过更改路径文件或当前目录来更改[URL="http://www.mathworks.com/help/matlab/search-path.html"]搜索路径[/URL] 。您可以通过以下方式修改路径文件:
[LIST][*]使用[URL="http://www.mathworks.com/help/matlab/ref/path.html"]PATH[/URL]函数以及其他相关函数[URL="http://www.mathworks.com/help/matlab/ref/addpath.html"]ADDPATH[/URL] , [URL="http://www.mathworks.com/help/matlab/ref/rmpath.html"]RMPATH[/URL]和[URL="http://www.mathworks.com/help/matlab/ref/savepath.html"]SAVEPATH[/URL] 。
[*]使用“ [URL="http://www.mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html#btqi_c6"]设置路径”对话框[/URL] ,可以从“命令”窗口中打开,方法是选择“ [B]文件”>“设置路径”,[/B]或者调用[URL="http://www.mathworks.com/help/matlab/ref/pathtool.html"]PATHTOOL[/URL]函数。
[*] [URL="http://www.mathworks.com/help/matlab/matlab_env/startup-options.html#brlkmbe-1"]修改startup.m文件[/URL] 。
[/LIST]当前目录可以通过以下方式更改:
[LIST][*]使用[URL="http://www.mathworks.com/help/matlab/ref/cd.html"]CD[/URL]功能。
[*]使用[URL="http://www.mathworks.com/help/matlab/matlab_env/working-with-files-and-folders.html#br5uzmu-1"]当前的文件夹浏览器[/URL] 。
[/LIST][*]当使用上述方法修改路径文件时,通常会将新文件夹添加到路径列表的顶部。您可以使用“ [URL="http://www.mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html#btqi_c6"]设置路径”对话框[/URL]更改路径文件中路径的顺序。

当存在具有[URL="http://www.mathworks.com/help/matlab/matlab_env/files-and-folders-that-matlab-accesses.html#br8hqz8-1"]相同名称[/URL]的[URL="http://www.mathworks.com/help/matlab/matlab_prog/function-precedence-order.html"]函数时[/URL] ,MATLAB遵循以下[URL="http://www.mathworks.com/help/matlab/matlab_prog/function-precedence-order.html"]函数优先级顺序[/URL]来确定要使用的函数:
[LIST][*]变量(如果变量与函数具有相同的名称)
[*]嵌套功能
[*]子功能
[*]私人功能
[*]类构造器
[*]重载方法
[*]当前目录中的功能
[*]在搜索路径上的其他位置起作用
[/LIST]请注意,当前目录中的函数在搜索路径上的其他函数之前被调用。另外,最接近搜索路径顶部的文件优先于更下方的文件。
[/LIST]
[url=https://stackoverflow.com/questions/2129646]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 05:02

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.