2013-05-25 97 views
-2

我用许多按钮创建了一个GUI。我将一个按钮命名为“刷新”。我想要做的是当我按下这个按钮时,通过运行一个m文件来更新Matlab中心窗口中工作区的变量,这个m文件会进行所有的更改(打开文件获取数据并将它们放入单元格数组中,并在再次运行时刷新数据)。Matlab GUI按钮

我尝试了一切可能在网上找到像使用按钮回调函数下的m文件的名称,但它不起作用。

这是我的按钮功能的代码,我在里面添加了myparameter.m:

function pushbutton1_Callback(hObject, eventdata, handles) 
myparameters 

但是当我运行它从m文件产生的变量不会保存在工作区中。如果我在主matlab窗口中编写myparameters,则在m文件中创建的所有变量都将保存在工作区中。

+0

你提供绝对没有意义的信息来解决你的问题。你需要提供一个**简单的**例子来重现问题。 – Oleg

+0

检查它我编辑它 –

+0

考虑使用load()。 – Oleg

回答

0

要从函数分配基本工作空间中的变量,需要使用assignin函数;例如,

assignin('base', 'myVariableName', myVariableValue); 
+0

我希望我在回调函数中做的所有事情都可以在基工作区中分配。例如,我有变量C,D,E,G,H,我和我想让他们去基本工作区。此外,该m文件创建5个Excel数据文件。如果基础工作区中没有任何内容,它会继续创建它们吗? –

+0

显而易见,这取决于写入文件的代码,而且您还没有提供有意义的代码示例,因此无法分辨。 – wakjah

0

假设myparametersscript(它必须是所描述的工作),那么你应该能够使用evalin来评估它在base workspace。这里是你的回调看起来像:

function pushbutton1_Callback(hObject, eventdata, handles) 
    evalin('base', 'myparameters'); 
end