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

matlab例程

开发平台:

Matlab

  1. function [ indx ] = resample( w )
  2. global resampleMethod;
  3. global showResamplePlot;
  4. switch resampleMethod,
  5.     case 0, indx=resampleMultinomial(w);        
  6.     case 1, indx=resampleResidual(w);        
  7.     case 2, indx=resampleStratified(w);        
  8.     case 3, indx=resampleSystematic(w);        
  9.     otherwise,
  10.         error('Invalid value of resampleMethod');
  11. end
  12. if (showResamplePlot),    
  13. % Draw:
  14. figure(1);
  15. subplot(223);
  16. N = length(w);
  17. Q = cumsum(w);
  18. hold off;
  19. plot([0;Q],0:N,'r');
  20. axis([0 1 0 N]);
  21. hold on;
  22. for i=1:N,
  23.         plot([0 Q(indx(i))],[indx(i) indx(i)],'b');
  24.     end
  25.     title('Inverse CDF');
  26. subplot(224);
  27. REPETS = hist(indx,1:N);
  28. barh(REPETS);
  29. axis([0 max(REPETS) 1 N]);
  30.     title('Repetitions for each sample');
  31. end