MATLAB:GUI 按钮调用函数 .m

MATLAB : GUI pushbutton call function .m

我在 matlab (.m) 上创建了一些函数。我想在界面 GUI 上调用它们:我的按钮回调函数如何调用函数 .m(在同一工作区中)? 此外,我的函数 returns 一些变量,所以我想将这些变量保留在我的工作区中,以便从我界面的其他按钮访问它们。 之后,是否可以将变量的结果放在我的界面上?

提前致谢,

此致

是的,这是可能的,而且非常简单。

您可以直接在按钮回调中调用您的 .m 文件,并像在任何其他脚本中一样获取结果。

让我们考虑一个简单的示例,在该示例中您从回调中调用函数 A。假设函数 A 输出 2 个参数,out1out2.

在函数A的.m文件中,函数定义如下(输入参数当然可以是任何东西):

function [ou1,out2] = A(Input arguments)

%// code here

end

然后在 GUI 的按钮回调中,使用此语法检索函数 A 的输出并使用它们:

[B,C] = A(Input arguments); %// Or out1 and out2, the names don't matter here.

更好的是,要与 GUI 中的其他回调共享这些数据,您可以将变量存储在所谓的 guidata 中,或者存储与 GUI 关联的数据。有一个方便的句柄结构用于存储任何类型的数据并在回调之间轻松共享它们。

因此,在您的情况下,您将使用:

[handles.B, handles.C] = A(Input arguments)

因此 handles.Bhandles.C 可以从 GUI 中的任何回调访问。不要忘记使用此命令在回调结束时更新句柄结构:

guidata(hObject,handles)

其中 hObject 是 GUI 图的句柄。有关该检查文档的更多信息 here.