Code covered by the BSD License  

Highlights from
keep5

from keep5 by Siyi Deng
Retains variables specified in input but clears all others.

keep5(varargin)
function keep5(varargin)
%KEEP retains variables specified in input but clears all others.
%   KEEP V1 V2 ... keeps V1,V2,... and clears other variables;
%   KEEP('V1','V2',...) is the function form of the syntax.
%   KEEP supports exactly same input argument as CLEAR; for example,
%   wildcard *, 'global', '-regexp' all works.
%   
%   See also CLEAR.

% Written by Siyi Deng; 06-04-2007;
% sdeng@uci.edu

if nargin == 0, evalin('caller','clear;'); return; end
if strcmpi(varargin{1},'global')
    varargin{1} = '''global'',';
else
    varargin = [{''},varargin];
end
varargin{end+1} = evalin('caller',['who(',varargin{1}(1:end-1),');']);
for k = 1:numel(varargin{end})
    eval([varargin{end}{k},'=0;']);
end
clear(varargin{2:end-1});
varargin{end} = who;
varargin{end} = setdiff(varargin{end},{'varargin'});
for k = 1:numel(varargin{end})
    evalin('caller',['clear(',varargin{1},'''',varargin{end}{k},''');']);
end

end % Main function KEEP;

Contact us at files@mathworks.com