Mercurial > hg > ishara
annotate general/arrutils/interleave.m @ 61:eff6bddf82e3 tip
Finally implemented perceptual brightness thing.
author | samer |
---|---|
date | Sun, 11 Oct 2015 10:20:42 +0100 |
parents | 03694e5c8365 |
children |
rev | line source |
---|---|
samer@13 | 1 % interleave - interleave elements of an array |
samer@13 | 2 % |
samer@13 | 3 % interleave :: [[1,N]], [[1,M]] -> [[1,N+M]]. |
samer@13 | 4 % |
samer@13 | 5 % interleave(A,B) interleaves the elements of A and B until there are |
samer@13 | 6 % no elements left in one of them. The remaining elements of the other |
samer@13 | 7 % are then appending. |
samer@4 | 8 function z=interleave(x,y) |
samer@4 | 9 |
samer@4 | 10 x=x(:); |
samer@4 | 11 y=y(:); |
samer@4 | 12 |
samer@4 | 13 nx=length(x); |
samer@4 | 14 ny=length(y); |
samer@4 | 15 |
samer@4 | 16 if nx>ny |
samer@4 | 17 z(1:2:2*ny-1)=x(1:ny); |
samer@4 | 18 z(2:2:2*ny)=y; |
samer@4 | 19 z(2*ny+1:nx+ny)=x(ny+1:end); |
samer@4 | 20 else |
samer@4 | 21 z(1:2:2*nx-1)=x; |
samer@4 | 22 z(2:2:2*nx)=y(1:nx); |
samer@4 | 23 z(2*nx+1:nx+ny)=y(nx+1:end); |
samer@4 | 24 end |
samer@4 | 25 |