Givet N slumpfrön fron på y-axeln av distributionen cum, returneras de motsvarande indexen valda_index på x-axeln. Hedvig Sidenbladh Mars 2000
0001 function [valda_index] = montecarlo(cum, fron); 0002 % 0003 % Givet N slumpfrön fron på y-axeln av distributionen cum, returneras 0004 % de motsvarande indexen valda_index på x-axeln. 0005 % 0006 % Hedvig Sidenbladh 0007 % Mars 2000 0008 0009 N = length(fron); 0010 0011 % Binärsökning 0012 l = zeros(N,1); 0013 h = ones(N,1)*length(cum); 0014 0015 while (max(h - l) > 1) 0016 valda_index = round((h + l)/2); 0017 l = (cum(valda_index)<fron).*valda_index + (cum(valda_index)>=fron).*l; 0018 h = (cum(valda_index)<fron).*h + (cum(valda_index)>=fron).*valda_index; 0019 end 0020 0021 valda_index = h; 0022