www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@calibrationdata/@axis/pSetValue.m

    function value = pSetValue(obj, value)
%PSETVALUE  Private set method.

%  Axis items are 1-by-n, n>=0, strictly increasing.

%  Copyright 2004-2005 The MathWorks, Inc.


% Check read-only
obj.pCheckReadOnly;

% Check size
value = squeeze(value);
if ndims(value) ~= 2
    error(message('mbc:calibrationdata:axis:InvalidPropertyValue5'))
elseif any(size(value)==0)
    % Empty
    value = zeros(1,0);
elseif any(size(value)==1)
    % Vector, unwrap
    value = value(:)';
else
    % Non vector
    error(message('mbc:calibrationdata:axis:InvalidPropertyValue6'))
end

% Check that value is monotonic
isIncreasing = any(diff(value)>0);
isDecreasing = any(diff(value)<0);
if isIncreasing && isDecreasing
    error(message('mbc:calibrationdata:axis:InvalidPropertyValue7'))
end

% Check that value is monospaced
if obj.Monospaced
    if any(diff(diff(value)) ~= 0)
        error(message('mbc:calibrationdata:axis:InvalidPropertyValue8'))
    end
end