resampleMultinomial.m
上传用户:zfsfly
上传日期:2018-05-24
资源大小:71k
文件大小:0k
源码类别:

matlab例程

开发平台:

Matlab

  1. function [ indx ] = resampleMultinomial( w )
  2. M = length(w);
  3. Q = cumsum(w);
  4. Q(M)=1; % Just in case...
  5. i=1;
  6. while (i<=M),
  7.     sampl = rand(1,1);  % (0,1]
  8.     j=1;
  9.     while (Q(j)<sampl),
  10.         j=j+1;
  11.     end;
  12.     indx(i)=j;
  13.     i=i+1;
  14. end
  15. % t = rand(M+1);
  16. % T = sort(t);
  17. % T(M+1) = 1; 
  18. % i=1;
  19. % j=1;
  20. % while (i<=M),
  21. %     if (T(i)<Q(j)),
  22. %         indx(i)=j;
  23. %         i=i+1;
  24. %     else
  25. %         j=j+1;        
  26. %     end
  27. % end