www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/@cgsymvalue/setnomvalue.m
function obj = setnomvalue(obj, val) %SETNOMVALUE Set nominal value of object % % OBJ = SETNOMVALUE(OBJ, VAL) % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. if any(isnull(obj.EquationPointers)) % Just store nominal value in parent obj.cgvalue = setnomvalue(obj.cgvalue); else % Evaluate inverse formula and push updated value to the linked % variable InputVals = cell(size(obj.EquationInputs)); InputArgs = argnames(obj.InverseObject); myname = getname(obj); for n = 1:length(InputVals) if strcmp(InputArgs{n}, myname) InputVals{n} = val; else ptr = obj.EquationPointers(strcmp(InputArgs{n}, obj.EquationInputs)); InputVals{n} = getnomvalue(ptr.info); end end VariableVal = pr_evalinline(obj.InverseObject, InputVals); VariablePtr = obj.EquationPointers(obj.EquationVariableIndex); VariablePtr.info = setnomvalue(VariablePtr.info, VariableVal); end