我有一个MATLAB GUI加载,以帮助可视化预处理数据。本质上,它提示用户调整数据范围,减少数据点数等等...同时提供更新的图形。完成这项工作后,我希望能够关闭GUI并将变量从GUI传递到另一个进行数据分析的MATLAB函数。我已经找到了很多关于如何从函数TO和GUI传递信息的信息,但不是相反。
非常感谢任何帮助。
答案 0 :(得分:1)
全局变量可能导致很难发现错误。针对您的问题的最佳解决方案(您希望将数据直接传递给另一个函数)可能是从Figure Close Request Function调用分析函数。当您运行GUI的图形被告知关闭时,它将运行此函数中的代码,该函数可以调用您的分析函数并可以访问GUI的数据。
答案 1 :(得分:1)
Matlab GUI是函数:代码存在于.m
文件中,就像其他函数一样。与常规函数一样,它们可以具有返回值。您可以随心所欲地使用varargout
系统,或者只需返回包含您想要的任何内容的值,结构或单元格数组。打开m文件并编辑它以返回你想要的内容。
注意:如果在关闭数字时需要特殊处理以生成适当的返回值,则可以根据需要重新实现closeRequestFcn。
答案 2 :(得分:0)
简单方法:您声明为global variable
,其中变量将您要携带的数据从GUI存储到主MATLAB工作区。然后,您还在命令窗口中声明相同的global variable
。在下文中,变量可从两个范围,GUI和主工作区访问。
您还可以使用save
或csvwrite
或dlmwrite
等任何其他替代方案将数据存储到文件中,但这似乎不是您的情况。