www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@coninputfactor/DataRange.m

    function obj = DataRange(obj,data)
%DATARANGE set the range based on data
%
% obj = DataRange(obj,data)

%  Copyright 2008 The MathWorks, Inc. 

data = double(data);
n = size(data,2);
R = zeros(2,n);
for i=1:n
   R(:,i) = calcDataRange(data(:,i)); 
end
obj = setRange(obj,R);


function R = calcDataRange(data)
R = [min(data,[],1);max(data,[],1)];
if R(2)-R(1)<eps(max(abs(R)))
    % handle case where all points are identical
    R = R(1)*[0.9 1.1]';
    if R(2)-R(1)<eps
        R = [-1 1]';
    else
        R = sort(R);
    end
end