www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoptimrunner/getDatasetValues.m

    function data = getDatasetValues(obj, factors, datasetname)
%GETDATASETVALUES Get data columns from a data set
%
%  DATA = GETDATASETVALUES(OBJ, FACTORS, DATASETNAME) gets the named
%  factors from the specified data set.  If DATASETNAME is omitted the
%  first data set will be used.

%  Copyright 2005-2011 The MathWorks, Inc. and Ford Global Technologies, Inc.


% Find index of specified data set

if ~obj.HasRunData
    error(message('mbc:cgoptimrunner:InvalidState2'));
end

if nargin>2
    DSidx = getOperatingPointSetIndex(obj.Setup, datasetname);
    if DSidx==0
        error(message('mbc:cgoptim:InvalidArgument42', datasetname));
    end
elseif ~isempty(obj.DataSetData)
    DSidx = 1;
else
    error(message('mbc:cgoptim:InvalidArgument43'));
end

DSVars = getOperatingPointSetVarLabels(obj.Setup, DSidx);
[DataFound, DataIdx] = ismember(factors, DSVars);
if ~all(DataFound)
    error(message('mbc:cgoptim:InvalidArgument44', datasetname));
else
    data = obj.DataSetData(DSidx).Data(:, obj.DataSetData(DSidx).MatchedColumnIdx(DataIdx));
end