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