www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregarx/simSetEvalParam.m
function simSetEvalParam(m,sys) %XREGARX\SIMSETEVALPARAM % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. vars = {'numInputSignals' 'selectedSignals' 'maxDelay' 'sampleTime' 'invcodeData' 'initialYValues'}; values = cell(6, 1); values{1} = nfactors(m); values{2} = i_getSelectedSignals(m); values{3} = i_getMaxDelay(m); values{4} = 1/m.Frequency; values{5} = i_getInvCode(m); % Get and code the initial Y values y0 = get(m.StaticModel, 'initialconditions'); y0 = code(m.StaticModel,y0,nfactors(m.StaticModel)); values{6} = y0; AddVariablesToUserdata(sys,vars,values); % Ensure that the correct stuff for Static Model is created simSetEvalParam(m.StaticModel, sys); function index = i_getSelectedSignals(m) start = get(m, 'delay') + 1; stop = sum(get(m, 'delmat'), 1); maxDelay = max(stop); nSignals = length(start); index = zeros( maxDelay, nSignals ); for i = 1:nSignals index(start(i):stop(i),i) = 1; end index = find(index)'; function maxDelay = i_getMaxDelay(m) delmat = get(m, 'delmat'); maxDelay = max(sum(delmat, 1)); function invcode = i_getInvCode(m) invcode = pInvScale(getInputs(m));