📄 keep.m
字号:
function keep(varargin)%KEEP keeps the caller workspace variables of your choice and clear the rest.% Its usage is just like "clear" but only for variables.%% Xiaoning (David) Yang xyang@lanl.gov 1998% Revision based on comments from Michael McPartland,% michael@gaitalf.mgh.harvard.edu, 1999 % Keep allif isempty(varargin) returnend% See what are in caller workspacewh = evalin('caller','who');% % Check workspace variables% if isempty(wh)% error(' There is nothing to keep!')% end% Construct a string containing workspace variables delimited by ":"variable = [];for i = 1:length(wh) variable = [variable,':',wh{i}];endvariable = [variable,':'];% Extract desired variables from string% flag = 0;for i = 1:length(varargin) I = findstr(variable,[':',varargin{i},':']); if isempty(I)% disp([' ',varargin{i}, ' does not exist!'])% flag = 1; elseif I == 1 variable = variable(1+length(varargin{i})+1:length(variable)); elseif I+length(varargin{i})+1 == length(variable) variable = variable(1:I); else variable = [variable(1:I),variable(I+length(varargin{i})+2:length(variable))]; endend% % No delete if some input variables do not exist% if flag == 1% disp(' No variables are deleted!')% return% end% Convert string back to cell and delete the restI = findstr(variable,':');if length(I) ~= 1 for i = 1:length(I)-1 if i ~= length(I)-1 del(i) = {[variable(I(i)+1:I(i+1)-1),' ']}; else del(i) = {variable(I(i)+1:length(variable)-1)}; end end evalin('caller',['clear ',del{:}])end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -