如何在Matlab中调用放在另一个目录中的函数?

How to call a function placed in another directory in Matlab?

我有一个用 MATLAB15-18 scripts 编码的大型项目。理解整个代码变得非常具有挑战性。我在想,如果我能把一些脚本放在另一个文件夹中,那么理解和维护代码就会变得非常简单。可以吗?

考虑以下目录结构:

如何从 main.m 中调用位于 Folder 1 中的 func.m 中的函数?

手动解决

执行以下操作:

  1. 右键单击层次结构顶部的文件夹。
  2. 点击添加到路径
  3. 单击选定的文件夹和子文件夹

在此阶段,您的脚本将能够识别驻留在您选择的内部子文件夹之一中的任何函数或脚本。 此外,您只需在命令行中输入名称即可调用任何脚本和函数。

代码解决

除了手动操作,还可以使用以下代码将文件夹和子文件夹添加到路径中:

 addpath(genpath(<path to your directory>))

例子

当前Matlab路径的树结构

您可以通过编写以下代码将文件夹 1 中的函数和脚本添加到路径中:

addpath(genpath('Folder 1'))

或使用菜单中的 'Adding folders and subfolders' 选项:

这样做之后,就可以直接从 main

调用 func