isinregion.m

来自「一个matlab的将军模型」· M 代码 · 共 36 行

M
36
字号
function st = isinregion(s,i)

% Check if the specified state is in the region.
%
% Syntax:
%   "st = isinregion(s,i)"
%
% Description:
%   Returns 1 if the state specified by the index "i" is in the region
%   "s" and returns 0 otherwise.
%
% Examples:
%   * Suppose a region "s" is defined by "s = region(5,[1 3 4])".
%
%   * "isinregion(s,4)" returns 1.
%
%   * "isinregion(s,2)" returns 0.
%
% See Also:
%   region,set_state,isuniverse,isempty,and,or,not

if (i < 1) | (i > s.nstate)
  error(sprintf(...
      'State index must be between 1 to %d for this object.',s.nstate))
end

BIT_MAX = s.wordsize;
wordidx = ceil(i/BIT_MAX);
remainder = rem(i,BIT_MAX);
if remainder == 0
  st = bitget(double(s.table(wordidx)),BIT_MAX);
else
  st = bitget(double(s.table(wordidx)),remainder);
end
return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?