将MATLAB工作空间变量显示为GUI功能

时间:2010-09-01 13:00:55

标签: user-interface matlab

我在MATLAB工作区中有一个变量,我想把这个变量传递给我的GUI中的一个函数。

我如何完成这项任务?

2 个答案:

答案 0 :(得分:5)

您可以使用GUI中的函数EVALIN从基础工作区获取变量的值。以下示例提取基础工作空间中变量A的值,并将该值放在局部变量B中:

B = evalin('base','A');

例如,您可以在GUI中有一个可编辑的文本框,允许用户输入要从基础工作区导入的变量的名称。然后,您的一个GUI函数可以从可编辑文本框中读取字符串,并尝试从基础工作区获取该变量以用于某些计算:

varName = get(hEditText,'String');    %# Get the string value from the uicontrol
                                      %#   object with handle hEditText
try                                   %# Make an attempt to...
  varValue = evalin('base',varName);  %#   get the value from the base workspace
catch exception                       %# Catch the exception if the above fails
  error(['Variable ''' varName ...    %# Throw an error
         ''' doesn''t exist in workspace.']);
end

答案 1 :(得分:1)

您可以使用SETAPPDATA(在主工作区中)和GETAPPDATA(在GUI中)函数。如果变量是someMatrix

setappdata(0,'someMatrix',someMatrix) % in the main workspace

someMatrix = getappdata(0,'someMatrix') % in GUI