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

📄 montecarlo_bic.m

📁 轨迹聚类工具箱及其相关说明和文章(台风路径分类等)。如有问题可与wyljess@126.com联系
💻 M
字号:
function bicv = MonteCarlo_bic(trajs,Ops)
%MonteCarlo_bic  Run BIC on random subsets of a large dataset.
%   BICV = MonteCarlo_bic(Trajs,Ops)
%

% Scott J Gaffney   20 November 2003
% Department of Information and Computer Science
% University of California, Irvine.

PROGNAME = 'MonteCarlo_bic';
if (~nargin)
  try; help(PROGNAME); catch; end
  return;
end


Ops        = cexist('Ops',[]);
Ops        = SetFieldDef(Ops,'State',[]);  
Ops.State = SetFieldDef(Ops.State,'state',rand('state'));  
Ops.State = SetFieldDef(Ops.State,'nstate',randn('state'));  
Ops.State = SetFieldDef(Ops.State,'sstate',Ops.State.state);  
Ops = SetFieldDef(Ops,'NumRuns',1);
Ops = SetFieldDef(Ops,'MsgHnd',[]);


% Calculate sizes of subsets
n = size(trajs,1);
Ops = SetFieldDef(Ops,'SubsetSize',n);
TrainLen  = Ops.SubsetSize;

% Calculate Random Data Splits
[trash,RandSplitState] = AdvRandState(Ops.State.sstate,n,Ops.NumRuns-1);

% Bring up Message Bar
CreatedMsgBar=0;
if (isempty(Ops.MsgHnd))
  Ops.MsgHnd = msgbar([],'');
  CreatedMsgBar=1;
end

%% Loop over runs
for (r=1:Ops.NumRuns)
  rand('state',RandSplitState(:,r));
  RandIndex = randperm(n);
  
  Ops.MsgPrefix = sprintf('Run %d, ',r);
  TrainTrajs = trajs(RandIndex(1:TrainLen),:);
  [Bic(:,:,r),lhood(:,:,r)] = bic(TrainTrajs,Ops);
end
bicv.bic = Bic;
bicv.lhood = lhood;
bicv.ops = Ops;

if (CreatedMsgBar)
  delete(Ops.MsgHnd);
end




⌨️ 快捷键说明

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