www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@mbcmodel/@testplan/RemoveDesign.m

    function RemoveDesign(T,Stage,D)
%REMOVEDESIGN remove design from test plan
%
% RemoveDesign(T,Name)
% RemoveDesign(T,Level,Name)
% RemoveDesign(T,D)
% RemoveDesign(T,Level,D)
%   Name can be a string, or a cell array of strings. 
%   D is an array of designs to be deleted. All designs with matching names
%   are deleted.
%   Level:     Test plan level. By default the level is the outer level
%              (i.e. Level 1 for One-stage, Level 2 for Two-stage)
%
%  See also mbcmodel.testplan.AddDesign, mbcmodel.testplan.UpdateDesign,
%           mbcmodel.testplan.FindDesign 

%  Copyright 2007 The MathWorks, Inc.

if ~isnumeric(Stage)
    D = Stage;
    Stage = T.Levels;
end
if ~ischar(D)
    Names = {D.Name};
else
    Names = {D};
end


Dold = T.Design{Stage};
[Matched,loc] = ismember(Names,{Dold.Name});
if ~all(Matched)
    error(message('mbc:mbcmodel:testplan:InvalidName1'))
end

dd = designdev(T.Object);
for i=sort(loc,2,'descend')
    % need to delete in descending order to keep the indices correct
    dd(Stage) = DeleteDesign(dd(Stage),i+1);
end
designdev(T.Object,dd);