Отображение переменной рабочей области MATLAB в функцию GUI - PullRequest
3 голосов
/ 01 сентября 2010

У меня есть переменная в рабочем пространстве MATLAB, и я хочу передать эту переменную функции в моем GUI.

Как мне решить эту задачу?

Ответы [ 2 ]

5 голосов
/ 01 сентября 2010

Вы можете использовать функцию EVALIN в вашем графическом интерфейсе, чтобы получить значение переменной из базовой рабочей области. В следующем примере извлекается значение переменной A в базовом рабочем пространстве и помещается это значение в локальную переменную B:

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

Например, в вашем графическом интерфейсе может быть редактируемое текстовое поле, которое позволяет пользователю вводить имя переменной для импорта из базовой рабочей области. Одна из ваших функций графического интерфейса может затем прочитать строку из редактируемого текстового поля и попытаться извлечь эту переменную из базовой рабочей области для использования в некоторых вычислениях:

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 голос
/ 01 сентября 2010

Вы можете использовать функции SETAPPDATA (в основном рабочем пространстве) и GETAPPDATA (в графическом интерфейсе).

Если ваша переменная равна someMatrix

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

someMatrix = getappdata(0,'someMatrix') % in GUI
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...