1

我有一个 MATLAB GUI,可以加载以帮助对数据进行可视化预处理。本质上,它会提示用户调整数据范围、减少数据点的数量等……同时提供更新的图表。完成这项工作后,我希望能够关闭 GUI 并将变量从 GUI 传递到另一个执行数据分析的 MATLAB 函数。我发现了很多关于如何从函数 TO 和 GUI 传递信息的信息,但反之则不然。

任何帮助将不胜感激。

4

3 回答 3

1

全局变量可能会导致难以发现的错误。您的问题的最佳解决方案(您希望在关闭时将数据直接传递给另一个函数)可能是从Figure Close Request Function调用分析函数。当您的 GUI 正在运行的图形被告知关闭时,它将运行此函数中的代码,该代码可以调用您的分析函数并访问 GUI 的数据。

于 2012-07-09T22:03:12.660 回答
1

.mMatlab GUI 是函数:代码与其他函数一样存在于文件中。像常规函数一样,它们可以有返回值。您可以随心所欲地弄乱varargout系统,或者您可以简单地返回一个包含您想要的任何内容的值、结构或元胞数组。打开 m 文件并对其进行编辑以返回您想要的内容。

注意:如果在关闭图窗时需要特殊处理以生成适当的返回值,您可以根据需要重新实现 closeRequestFcn。

于 2012-07-09T22:03:26.023 回答
0

最简单的方法:您声明为global variable,其中变量存储您想要从 GUI 传输到主 MATLAB 工作区的数据。然后,您还可以global variable在命令窗口中声明相同的内容。在下文中,变量可以从两个范围、GUI 和主工作区访问。

您也可以使用或save任何其他替代方法将数据存储到文件中,但这似乎不是您的情况。csvwritedlmwrite

于 2012-07-09T21:33:39.520 回答