www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@testplansweepsetfilter/private/updateCachedInfo.m
function [tssf] = updateCachedInfo(tssf) %UPDATECACHEDINFO A short description of the function % % TSSF = UPDATECACHEDINFO(TSSF) % % Copyright 2000-2016 The MathWorks, Inc. and Ford Global Technologies, Inc. % Get the data data = sweepsetfilter(tssf); % Is this empty because we haven't set the codeddesign or something if ~isobject(tssf.codeddesign) tssf.codeddesign = Design(getTestplan(tssf)); end % Get the local copy of the design codeddesign = tssf.codeddesign; % Inverse code the design uncodeddesign = invcode(model(codeddesign), codeddesign); % Get the expected signal names signals = globalsignalnames(tssf); % Do these names exist in the sweepset? if isempty(find(data, signals)) % Default global cache tssf.cachedInfo.globaldata = sweepset('variable', [], [], signals', [], [], [], zeros(0, length(signals))) ; % Default uncoded design cache tssf.cachedInfo.uncodeddesign = uncodeddesign; % Find the sweep means for matching tssf.cachedInfo.meandata = zeros(0, length(signals)); % Find data that are already nailed into the design tssf.cachedInfo.designindata = []; % Find those indices in the data tssf.cachedInfo.dataindesign = []; else % We are only interested in the global signal names tssf.cachedInfo.globaldata = data(:, signals); % Default uncoded design cache tssf.cachedInfo.uncodeddesign = uncodeddesign; % Find the sweep means for matching tssf.cachedInfo.meandata = mean(tssf.cachedInfo.globaldata); % Find data that are already nailed into the design tssf.cachedInfo.designindata = find(getdatapoint(codeddesign)); % Need to code the data to compare to the design codedMeanData = code(model(codeddesign), tssf.cachedInfo.meandata); % Find those indices in the data tssf.cachedInfo.dataindesign = find(ismember(codedMeanData, codeddesign(tssf.cachedInfo.designindata, :), 'rows'))'; end