📄 make_previous.m
字号:
function [ PREVIOUS ] = make_previous(SYMBOLS)
%
% MAKE_PREVIOUS:
% This function returns a lookuptable containing a mapping
% between the present state and the legal previous states.
% Each row correspond to a state, and the two legal states
% related to state n is located in PREVIOUS(n,1) and in
% previous(n,2). States are represented by their related
% numbers.
%
% SYNTAX: [ PREVIOUS ] = make_previous(SYMBOLS)
%
% INPUT: SYMBOLS: The table of symbols corresponding the the state-
% numbers.
%
% OUTPUT: PREVIOUS:
% The transition table describing the legal previous
% states asdescribed above.
%
% SUB_FUNC: None
%
% WARNINGS: None
%
% TEST(S): Verified against expected result.
%
% AUTOR: Jan H. Mikkelsen / Arne Norre Ekstr鴐
% EMAIL: hmi@kom.auc.dk / aneks@kom.auc.dk
%
% $Id: make_previous.m,v 1.3 1997/09/22 08:14:27 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);
maxsum=maxsum-1;
search_matrix=SYMBOLS(:,1:maxsum);
% LOOP OVER THE SYMBOLS.
%
for this_state=1:states,
search_vector=SYMBOLS(this_state,2:maxsum+1);
k=0;
for search=1:states,
if (sum(search_matrix(search,:)==search_vector)==maxsum)
k=k+1; %这个k的变化先放着,好像变不到2
PREVIOUS(this_state,k)=search; %现在要找出状态变化的规律
if k > 2,
error('Error: identified too many previous states');
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -