samer@4: % binmap - linear discretisation map from bin centres samer@4: % samer@4: % binmap :: real~'first bin centre', real~'last bin centre', N:natural~'num bins'->dmap(N). samer@4: function M=binmap(min,max,N) samer@4: samer@4: dx=(max-min)/(N-1); samer@4: rdx=1/dx; samer@4: M=dmap(N,@map,@revmap); samer@4: samer@4: function I=map(X) samer@4: I=1+round(rdx*(X-min)); samer@4: I(I<1)=-inf; samer@4: I(I>N)=inf; samer@4: end samer@4: samer@4: function X=revmap(I) samer@4: I=shiftdim(shiftdim(I),-1); samer@4: X1=min+(I-1.5)*dx; samer@4: X2=min+(I-0.5)*dx; samer@4: X=cat(1,X1,X2); samer@4: end samer@4: end