⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 make_next.m

📁 小区初搜为GSM系统中的一个关键过程
💻 M
字号:
function [ NEXT ] = make_next(SYMBOLS)
%
% MAKE_NEXT:
%           This function returns a lookuptable containing a mapping
%           between the present state and the legal next states.
%           Each row correspond to a state, and the two legal states
%           related to state n is located in NEXT(n,1) and in
%           NEXT(n,2). States are represented by their related 
%           numbers.
%
% SYNTAX:   [ NEXT ] = make_next(SYMBOLS)
%
% INPUT:    SYMBOLS: The table of symbols corresponding the the state-
%                    numbers.
%
% OUTPUT:   NEXT:    The transition table describing the legal next
%		     states asdescribed above.
%
% SUB_FUNC: None
%
% WARNINGS: None
%
% TEST(S):  The function has been verified to return the expected
%           results.
%
% AUTOR:    Jan H. Mikkelsen / Arne Norre Ekstr鴐
% EMAIL:    hmi@kom.auc.dk / aneks@kom.auc.dk
%
% $Id: make_next.m,v 1.3 1997/09/22 08:13:29 aneks Exp $

% FIRST WE NEED TO FIND THE NUMBER OF LOOPS WE SHOULD RUN.
% THIS EQUALS THE NUMBER OF SYMBOLS. ALSO MAXSUM IS NEEDED FOR
% LATER OPERATIONS.
%
[ states , maxsum ]=size(SYMBOLS);

search_matrix=SYMBOLS(:,2:maxsum);
maxsum=maxsum-1;

% LOOP OVER THE SYMBOLS.
%
for this_state=1:states,
  search_vector=SYMBOLS(this_state,1:maxsum);
  k=0;
  for search=1:states,
    if (sum(search_matrix(search,:)==search_vector)==maxsum)
      k=k+1;
      NEXT(this_state,k)=search;
      if k > 2,
	error('Error: identified too many next states');
      end
    end
  end
end

⌨️ 快捷键说明

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