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

Ati*_*esh 12 directory matlab function call

我有一个在MATLAB中制作的庞大项目,有15-18个脚本文件.理解整个代码变得非常具有挑战性.我在想如果我可以将一些脚本放在另一个文件夹中,理解和维护代码就会变得非常简单.有可能吗?

考虑以下目录结构:

在此输入图像描述

我怎么能叫从功能MATLAB被放置在15-18 scriptsmain.m

dro*_*rco 14

手动解决方案

执行以下操作:

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

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

代码解决方案

也可以使用以下代码将文件夹和子文件夹添加到路径中,而不是手动操作:

 addpath(genpath(<path to your directory>))
Run Code Online (Sandbox Code Playgroud)

当前Matlab路径的树结构

在此输入图像描述

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

addpath(genpath('Folder 1'))
Run Code Online (Sandbox Code Playgroud)

或者使用菜单中的"添加文件夹和子文件夹"选项:

在此输入图像描述

这样做之后,可以直接从main调用func