您好我在如何制作GUI(使用GUIDE)对某些光谱文件(来自包含x数据和y数据的文本文件)进行某些算术方面存在问题。我试图制作类似频谱计算器的东西。
到目前为止,我有两个导入文件按钮,名为'导入文件1'和'导入文件2' (只使用uigetfile)。现在我正在研究如何对两个文件进行一些简单的加法/减法,然后绘制结果(x数据在所有文件中都是相同的,所以我只是对y数据进行算术运算)。稍后,我将添加一些按钮/下拉列表,用于除法和乘法某些整数因子(例如,将文件1 y数据乘以2)。
我希望能够保存该绘图的结果并对结果进行进一步的算术运算,并且我将在每次操作后在相同的轴上绘制结果。当用户关闭GUI时,他们不需要保存会话或每个操作结果,他们只需保存图像的GUI图形。当用户再次打开GUI时,应该开始新的会话。
我需要找到一些临时存储信息的方法,直到GUI关闭(为了在每次结果后执行进一步的操作)?有没有办法为每个结果制作一个临时变量,例如结果1,结果2等等。这样用户可以选择对哪个结果进行操作?
我想让这个计算器尽可能通用且灵活,以便用户可以在文件上进行任何他们想要的算术运算。我甚至可以添加更多导入文件按钮,在这种情况下,用户需要能够选择要使用的文件...例如如果他们想要为3个文件添加数据或仅为2个文件添加数据。这会让它变得有点复杂,有关如何组织GUI和编码的任何建议吗?
我非常感谢你的帮助,因为我在我的项目中处于停滞状态......即使你能指出我正确的方向,以及要查看的内容,它也会有所帮助: )如果您需要我澄清任何内容/提供更多信息,请告诉我......
感谢您查看此问题! :)
维拉
编辑:我想我应该使用缓冲区,有人知道怎么做吗?
答案 0 :(得分:0)
因此,只要gui运行,你想要做的唯一事情是存储数据,有一个名为handle的参数,它被传递。大多数GUIDE回调都有类似
的语法function pushbutton1_Callback(hObject,eventdata,handles)`
结构handles
可用于此目的。只需在回调函数中为此结构添加一个字段。
handles.res1 = res1;
有关更多信息,请参阅官方matlab文档write callbacks using the guide workflow