x = rand([2 3 4]); maxdiff(ndsum(x,[1 3]),ndsumC(x,[1 3])) if 1 % special cases maxdiff(ndsum(x,1:3),ndsumC(x,1:3)) maxdiff(ndsum(x,[]),ndsumC(x,[])) end tim = []; for k = 1:3 sz = repmat(10*k,1,5); x = rand(sz); niter = floor(20/k); %tic; for i = 1:niter sum(x,4); end; tim(k,3) = toc; tic; for i = 1:niter ndsum(x,[2 4]); end; tim(k,1) = toc; tic; for i = 1:niter ndsumC(x,[2 4]); end; tim(k,2) = toc; end figure(1) clf plot(tim) xlabel('trial') ylabel('time (sec)') %legend('ndsum', 'ndsumC', 'sum', 2) legend('ndsum', 'ndsumC', 2) axis_pct