(MATLAB) 在 GUI 中临时存储数据以进行算术绘图

(MATLAB) Temporarily storing data in a GUI for plot Arithmetic

你好,我在如何制作 GUI(使用 GUIDE)以对某些光谱文件(来自包含 x 数据和 y 数据的文本文件)进行一些运算时遇到了问题。我正在尝试制作类似频谱计算器的东西。

到目前为止,我有两个名为 'Import file 1' 和 'Import file 2' 的导入文件按钮(仅使用 uigetfile)。现在我正在研究如何对两个文件进行一些简单的加法/减法,然后绘制结果(所有文件中的 x 数据都相同,所以我只是对 y 数据进行算术运算)。稍后我将添加一些 buttons/drop 向下列表,用于除以和乘以某些整数因子(例如,将文件 1 y 数据乘以 2)。

我希望能够做的是保存这个绘图的结果并对结果进行进一步的算术运算,我将在相同的轴上绘制每次运算后的结果。当用户关闭GUI时,他们将不需要保存session或每次操作结果,他们可以只保存GUI图形的图像。当用户再次打开 GUI 时,新会话应该开始。

我是否需要找到一些临时存储信息的方法,直到 GUI 关闭(以便在每个结果后执行进一步的操作)?有没有办法为每个结果创建一个临时变量,例如结果 1、结果 2 等。以便用户可以选择对哪个结果进行操作?

我想让这个计算器对用户来说尽可能通用和灵活,这样他们就可以在文件上做任何他们想做的算术运算。我什至可以添加更多导入文件按钮,在这种情况下,用户将需要能够选择要使用的文件……例如如果他们想添加 3 个文件的数据或仅添加 2 个文件的数据。这会使它变得有点复杂,关于如何组织 GUI 和编码有什么建议吗?

非常感谢你的帮助,因为我的项目有点停滞不前......即使你能给我指明正确的方向,以及要查找的内容,那也是有帮助 :) 如果您需要我澄清任何事情/提供更多信息,请告诉我...

感谢您查看此问题! :)

薇拉

编辑:我想我应该为此使用缓冲区,有人知道怎么做吗?

因此,如果您唯一想做的就是在 gui 运行时存储数据,则有一个名为 handles 的参数,它会被传递。大多数 GUIDE 回调的语法类似于

function pushbutton1_Callback(hObject,eventdata,handles)`

结构 handles 可用于此目的。只需在回调函数中向此结构添加一个字段。

handles.res1 = res1;

更多信息我参考官方matlab文档write callbacks using the guide workflow