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

    function varargout = set(obj,varargin)
%SET values of MBCMODEL.MODELPROPERTIES properties 
%
% set(P,Property,Value)       % this option does not work for
%                             %  subsreferenced expressions e.g. P.properties
% P = set(P,Property,Value);   
% set(P,Property1,Value1,Property2,Value2)
% 
% See also MBCMODEL.MODELPROPERTIES/GET, MBCMODEL.MODELPROPERTIES/SUBSREF, MBCMODEL.MODELPROPERTIES/SUBSASGN
% 
%  Copyright 2006-2011 The MathWorks, Inc. 


if ~isscalar(obj)
    error(message('mbc:mbcmodel:modelproperties:InvalidObject'));
end


if rem(nargin+1,2)~=0
    error(message('mbc:mbcmodelproperties:InvalidArguments'))
end

for i=1:2:nargin-1
    property = varargin{i};
    value = varargin{i+1};

    try 
        p = pGetInternalProp(obj,property);
    catch
        error(message('mbc:mbcmodelproperties:InvalidProperty', property));
    end
    
    % call set function
    obj.Object = p.setprop(obj.Object,value);
        
    if ~isempty(obj.Model)
        % assign back to base object
        set(obj.Model,'Properties',obj);
        warning(message('mbc:mbcmodel:Obsolete7a9', property))
    end
end

if nargout>0 || isempty(inputname(1))
    varargout{1} = obj;
else
    assignin('caller',inputname(1),obj);
end