Mercurial > hg > ishara
diff general/discretise/intmap.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
| author | samer |
|---|---|
| date | Sat, 12 Jan 2013 19:21:22 +0000 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/discretise/intmap.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,26 @@ +function M=intmap(min,max) +% intmap - Discretisation map for integers (ie alread discrete) +% +% intmap :: integer~'min value', integer~'max value' -> dmap(N). +% +% Maps integers to natural numbers, saves on multiplications and +% roundings as performed by the real->natural maps. + + N=max-min+1; + off=min-1; + M=dmap(N,@map,@revmap); + + function I=map(X) + I=X-off; + I(I<1)=-inf; + I(I>N)=inf; + end + + function X=revmap(I) + I=shiftdim(shiftdim(I),-1); + X1=off+I-0.5; + X2=off+I+0.5; + X=cat(1,X1,X2); + end +end +
