% diffsum1.m % compute differential sum along a given dimension x = cat(3,hankel([3 1 6 -1]),pascal(4)) % data to test dim = 1 % dimension to work along xsiz = size(x) xdim = ndims(x) tmp = repmat({':'},1,xdim) % cells of ':' c1 = tmp; c1{dim} = 1:xsiz(dim)-1 % poke in 1:end-1 c2 = tmp; c2(dim) = {2:xsiz(dim)} % poke in 2:end y = x(c1{:})+x(c2{:})