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

📄 consistent.m

📁 有关kalman滤波及其一些变形滤波算法
💻 M
字号:
function errstring = consistent(ds, type)% CONSISTENT   Check ReBEL data structures for consistentency.%%   errstring = consistent(ds, type) checks a data structure DS of supposed TYPE for consistency.%%     See also%     GSSM, GENINFDS%%   Copyright (c) Oregon Health & Science University (2006)%%   This file is part of the ReBEL Toolkit. The ReBEL Toolkit is available free for%   academic use only (see included license file) and can be obtained from%   http://choosh.csee.ogi.edu/rebel/.  Businesses wishing to obtain a copy of the%   software should contact rebel@csee.ogi.edu for commercial licensing information.%%   See LICENSE (which should be part of the main toolkit distribution) for more%   detail.%===============================================================================================if (nargin~=2)  error('Not enough input arguments!');endif ~ischar(type)  error('Type argument should be a string.');end% Assume that all is OK as defaulterrhead = ['  [ consistent(' inputname(1) ',''' type ''') ]   '];errstring = '';if ~isstruct(ds)  errstring = [errhead inputname(1) ' is not a data structure.'];  returnendswitch (type)%===============================================================================================================================%== General State Space Model Data Structure (GSSM)%===============================================================================================================================case 'gssm'  %-- Check existence of required data structure fields  mf = checkstructfields(ds,'type','tag','statedim','obsdim','paramdim','U1dim','U2dim','Vdim','Ndim','pNoise','oNoise','params','ffun','hfun','setparams');  if ~isempty(mf), errstring = [errhead ' Data structure does not contain the following fields : ' mf]; return; end  %-- Check type field  if ~ischar(ds.type) | ~stringmatch(ds.type,'gssm')      errstring = [errhead  ' Data structure is not of type ''' type ''' or the type field is not a string'];      return;  end%===============================================================================================================================%== Inference Data Structure (InferenceDS)%===============================================================================================================================case 'InferenceDS'  %-- Check existence of required data structure fields  mf = checkstructfields(ds,'type','inftype','statedim','obsdim','U1dim','U2dim','Vdim','Ndim', ...                            'ffun','hfun','innovation','stateAngleCompIdxVec','obsAngleCompIdxVec');  if ~isempty(mf), errstring = [errhead ' Data structure does not contain the following fields : ' mf]; return; end  %-- Check type field  if (~ischar(ds.type) | ~stringmatch(ds.type,'InferenceDS'))    errstring = [errhead  ' Data structure is not of type ''' type ''' or the type field is not a string.'];    return;  end  %-- Check inference type field  if ~stringmatch(ds.inftype,{'state','parameter','joint'})    errstring = [errhead  ' Inference type ''' type ''' unknown.'];    return;  end%===============================================================================================================================%== Noise Source Data Structure (NoiseDS)%===============================================================================================================================case 'NoiseDS'  %-- Check existence of required data structure fields  mf = checkstructfields(ds,'type','ns_type','tag','dim','sample','likelihood');  if ~isempty(mf), errstring = [errhead ' Data structure does not contain the following fields : ' mf]; return; end  %-- Check type field  if (~ischar(ds.type) | ~stringmatch(ds.type,'NoiseDS'))    errstring = [errhead  ' Data structure is not of type ''' type ''' or the type field is not a string.'];    return;  end%===============================================================================================================================otherwise  errstring = [errhead 'Data structure type ' type ' not supported.'];endreturn

⌨️ 快捷键说明

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