ワークスペースから変数にアクセスするためのリストボックスを作成しました。リストボックスで変数を強調表示して、ワークスペースからいくつかの変数をクリアしたいと思います。誰かが私にその方法を教えてもらえますか?
質問する
672 次
1 に答える
1
Here is an example GUI:
function clear_vars_gui
%# create user interface
hFig = figure('Name','Clear Variables', 'NumberTitle','off', ...
'Menubar','none', 'Position',[300 300 200 300]);
hList = uicontrol('style','listbox', 'Min',1, 'Max',10, ...
'Units','normalized', 'Position',[0 0.1 1 0.9], 'Parent',hFig);
uicontrol('style','push', 'String','clear', 'Callback',@button_cb, ...
'Units','normalized', 'Position',[0 0 1 0.1], 'Parent',hFig);
%# initialize listbox
populateList();
function populateList()
%# populate listbox with variable names
vars = evalin('base','who');
set(hList, 'String',vars, 'Value',1)
drawnow
end
function button_cb(o,e)
%# get list of variables and the currently selected items
vars = get(hList, 'String');
idx = get(hList, 'Value');
if isempty(vars), return; end
%# filter to selected vars
vars = vars(idx);
%# clear variables in base workspace
evalin('base', ['clearvars ' sprintf('%s ',vars{:})]);
%# update listbox
populateList();
end
end
于 2013-05-08T10:02:28.833 に答える