www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@designdev/uniquename.m
function nmout = uniquename(D, nmin, Stage) %UNIQUENAME get a unique name for design % % nmout = uniquename(D, nmin, Stage) % Copyright 2007 The MathWorks, Inc. % nmin is the suggested name % if necessary, nmout will contain the name_X if nargin<3 Stage = length(D); end if nargin<2 nmin='Design'; end Dcell= DesignDev2Cell(D); D= Dcell{Stage}; dtree = D.DesignTree; nmsused = cellfun(@(des) name(des),dtree.designs,'UniformOutput',false); % Check for usage of name if any(strcmp(nmin, nmsused)) % loop over _X until an unused one is found ok=0; n=0; while ~ok n=n+1; % append _X nmout = [nmin sprintf('_%d',n)]; % check newname if ~any(strcmp(nmout, nmsused)) ok=1; end end else nmout=nmin; end return