[英]MATLAB : GUI pushbutton call function .m
我在matlab(.m)上创建了一些函数。 我想在界面GUI上调用它们:我的按钮回调函数如何调用函数.m(在同一工作区中)? 而且,我的函数返回了一些变量,因此我想将这些变量保留在我的工作区中,以便从界面的其他按钮访问它们。 之后,是否可以将变量的结果放在我的界面上?
先感谢您,
最好的祝福
是的,这是可能的,而且非常简单。
您可以直接在按钮回调中调用.m文件,并像在其他任何脚本中一样获取结果。
让我们考虑一个简单的示例,其中您从回调中调用函数A
假设函数A
输出2个参数out1
和out2
。
在函数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.C
,可以从GUI中的任何回调访问handles.B
和handles.C
。 不要忘记使用以下命令在回调的末尾更新句柄结构:
guidata(hObject,handles)
其中hObject
是GUI图形的句柄。 有关更多信息,请在此处查看文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.