matlab创建停止复制代码的路径

matlab创建停止复制代码的路径,matlab,Matlab,我已经在MATLAB中创建了一些通用函数,我打算用于几个单独的项目。但是,我不想将功能复制到每个单独的项目功能中 在放置这些常规函数时,我创建了一个名为Misc_Function的文件夹。我知道在尝试调用函数时,可以通过使用路径和函数名显式引用这些函数 我相信当Matlab加载时,您可以添加一个路径(在我的例子中是“H:\MyTeam\Matlab\Misc_函数”),这是否正确?如果正确,您如何做到这一点 假设以上都可以做到,我很想知道MATLAB是如何找到正确的函数的。据我所知(猜测工作),

我已经在MATLAB中创建了一些通用函数,我打算用于几个单独的项目。但是,我不想将功能复制到每个单独的项目功能中

在放置这些常规函数时,我创建了一个名为Misc_Function的文件夹。我知道在尝试调用函数时,可以通过使用路径和函数名显式引用这些函数

我相信当Matlab加载时,您可以添加一个路径(在我的例子中是“H:\MyTeam\Matlab\Misc_函数”),这是否正确?如果正确,您如何做到这一点

假设以上都可以做到,我很想知道MATLAB是如何找到正确的函数的。据我所知(猜测工作),MATLAB有一个路径列表,它在试图找到指定名称的函数时会检查这些路径,对吗?如果是这样,当有同名函数时会发生什么情况?

MATLAB确实有自己的文件夹集合,当您引用函数或类(以及其他一些东西)时,MATLAB将搜索这些文件夹。要查看搜索路径,请在MATLAB提示符下键入
path
。从

搜索路径上文件夹的顺序很重要。当具有相同名称的文件出现在搜索路径上的多个文件夹中时,MATLAB将使用最靠近搜索路径顶部的文件夹中找到的文件

如果有一组实用程序函数可供项目使用,请使用该函数将文件夹添加到搜索路径的顶部,如下所示

addpath('H:\MyTeam\Matlab\Misc_Function');

每次启动MATLAB时都必须这样做。或者,更方便地使用命令保存当前搜索路径,或者将上述命令添加到文件中。

您可以使用

path
您会注意到,最上面的路径(启动时)是主文件夹中的路径。对于Linux,这是例如
/home/$USER/Documents/MATLAB
。对于Windows,它位于
c:\Users\%USER%\Documents\Matlab
(我想)。将文件放置在此文件夹中允许使用添加其他路径

addpath('H:\MyTeam\Matlab\Misc_Function');


关于Matlab的启动。后者()还允许添加所有子目录。只需编写一个文件
startup.m
,然后在那里添加上面的一行

我相信“addpath”将仅为当前MATLAB会话将文件夹添加到MATLAB路径。要为其他会话保存更新的路径,需要执行“savepath”命令

如前所述,在startup.m中添加文件夹是一个好主意,因为它将在MATLAB启动时添加到路径中


为了回答您关于MATLAB如何找到正确函数的问题,MATLAB在一个名为pathdef.m的文件中维护了其路径中的目录列表。对路径的任何更改都将写入此文件(当您执行“savepath”时)。path变量使用此文件的内容初始化。

对于最后一个问题,选择位于路径列表中较高位置的路径中的变量。要添加路径,您可以使用
addpath
。谢谢。实际上,我最终编辑了pathdef.m文件。我刚刚在这里添加了目录位置,效果很好。我确实查看了startup.m文件,但老实说,我不确定如何添加我的目录。您需要在startup.m中调用addpath('directory to add')。这样,每次启动MATLAB时,目录都会添加到MATLAB路径中。
addpath(genpath('H:\MyTeam\Matlab\Misc_Function'));