在matlab appdesigner中,如何调用相同文件夹下的,别的.m文件

在matlab appdesigner中,如何调用相同文件夹下的,别的.m文件

该回答引用ChatGPT4与博主@晓码自在合作编写:

在MATLAB App Designer中调用同文件夹下的其他.m文件有两种方法:

  1. 使用运行按钮或快捷键运行.m文件

在App Designer的工具箱中,拖入一个“运行-运行文件”按钮。在该按钮的“文件”属性中,选择需要调用的.m文件。这样,点击该按钮时就会运行选择的.m文件。

这种方法简单,但只能在运行时调用该文件,无法直接在App Designer里查看或编辑该.m文件。

  1. 将.m文件添加为App Component

这种方法可以直接在App Designer中显示和编辑.m文件。步骤如下:

(1) 在“组件”下选择“导入组件”
(2) 选择需要导入的.m文件,确定。
(3) 此时.m文件会显示在“组件”下,双击可以查看和编辑其代码。
(4) 在需要调用该组件的按钮或其他控件的“回调”属性中,选择该组件的名称即可。

这种方法可以完全在App Designer中管理和调用.m文件,更为灵活方便,是推荐的方法。

举个简单示例:

info.m文件内容为:

matlab
function info(app)
disp('Running info.m file!');
end

在App Designer中,将info.m文件导入为组件,命名为“Info”。

再拖入一个按钮,在其“推送”回调属性中选择“Info”。

运行App时,点击该按钮就会调用info.m文件,在MATLAB命令窗口显示‘Running info.m file!’。

答案:

在Matlab App Designer中调用同一文件夹中的其他.m文件,需要先将该文件夹路径添加到Matlab的搜索路径中,然后就可以直接调用文件夹中的其他.m文件了,包括其中的外部函数。

添加路径的方法有多种,可以通过命令窗口使用addpath命令添加,也可以在App Designer中使用setpath功能添加,还可以在Matlab的主菜单中选择"File"->"Set Path",然后选择"Add Folder with Subfolders"选项,添加整个文件夹及其子文件夹到搜索路径中。

以下是一个示例代码,其中一个名为"myFunction.m"的外部函数被调用:

% 在App Designer中调用同一文件夹中的其他.m文件的示例代码

% 首先添加当前文件夹路径到Matlab搜索路径中
addpath(pwd);

% 调用其他.m文件中的外部函数
result = myFunction(input);

需要注意的是,在App Designer中,只有主函数可以被外部调用,其他函数都是局部函数,只能被App Designer中的其他函数调用。因此,如果需要在App Designer中调用外部函数,应将该函数定义为主函数。