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

    function value = pSetIndex(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:InvalidPropertyValue'))
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:InvalidPropertyValue'))
end

% Check that index size matches value size
if numel(value) ~= numel(obj.Value)
    error(message('mbc:calibrationdata:axis:InvalidPropertyValue2'))
end

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