2011-11-27 61 views
0

我是MATLAB的初学者,希望有人能帮助我解决这个问题。Matlab GUI-使用按钮将数据存储到新变量中

我创建的GUI产生对应于用户频率和振幅输入的'G'。例如。 freq=[2 3 7]; AMPL=[2 3 4],产生的G是

7.8214 5.0132 1.7297 
6.8302 4.3406 1.4855 
6.3412 4.0536 1.3403 

作为第二个例子,如果用户输入,freq = [2 3]和AMPL = [3 4];产生的G是

[6.9020 4.3621; 
6.2893 4.0276] 

因此,G可以是任何尺寸,取决于编号。 freq和AMPL输入。闵。 G的大小是[1 1],即单个数字和最大值。它的大小可以是[6 6]; 我想要做的是在我的GUI中输入一个按钮(save_G),这将保存在另一个变量(比如说G5)中生成的G。因此一旦用户输入特定频率和AMPL并生成G,一旦用户输入save_G按钮,G应该保存在G5上。如果用户输入freq和AMPL的其他值并生成一个新的G,则这个新的G应该添加到G5中(如果用户按下save_G5按钮)。如何存储旧的G值并附加新的G值向G5敲击按钮?因此我希望我的G5应该看起来像上面的例子。

G5= 
freq(1)=[2 3 7]; AMPL(1)=[2 3 4]; 
G(1)= 
7.8214 5.0132 1.7297 
6.8302 4.3406 1.4855 
6.3412 4.0536 1.3403 

freq(2)=[2 3] ;AMPL(2)=[3 4]; 
G(2)= 
6.9020 4.3621 
6.2893 4.0276 

因此G5应该继续保存G并且必须按照第一个频率元素的升序进行排序。

我该如何做到这一点?期待别人的帮助。援助将受到高度赞赏。

回答

0

就我的观点而言,我认为你应该使用一个单元格。

在节目的一开始你初始化G5 en的空单元格:

G5={}; 

,每次用户按下一个按钮,你应该在全新G追加到G5:

G5=[G5 G]; 

欲了解更多关于细胞的信息,如果您是初学者:

http://www.mathworks.fr/help/techdoc/matlab_prog/br04bw6-98.html#br04bw6-117

+0

感谢您的回复。我尝试过使用单元格阵列。但是,当用户按下按钮时,我无法追加新的G.G删除旧的G,只显示新的G。 – skk

+0

所有的Gs都应该存储在G5中,并使用该代码。 – Oli

+0

你是对的。我发现为什么它没有附在我的案件中。由于我在按钮按钮下初始化了G5,而不是每次按G5的按钮值时都会打开函数,因此以前的值会丢失。非常感谢你的帮助。 – skk