Code covered by the BSD License  

Highlights from
SUMM

Be the first to rate this file! 0 Downloads (last 30 days) File Size: 1.83 KB File ID: #25208

SUMM

by Andy

 

02 Sep 2009 (Updated 03 Sep 2009)

Function analogous to DIFF, but takes sums instead.

| Watch this File

File Information
Description

%SUMM Sum of consecutive pairs in an array, analogous to DIFF.
% SUMM(X), for a vector X, is [X(2)+X(1) X(3)+X(2) ... X(n)+X(n-1)].
% SUMM(X), for a matrix X, is the matrix of row sums,
% [X(2:n,:) + X(1:n-1,:)].
% SUMM(X), for an N-D array X, is the sum along the first
% non-singleton dimension of X.
% SUMM(X,N) is the N-th order sum along the first non-singleton
% dimension (denote it by DIM). If N >= size(X,DIM), SUMM takes
% successive sums along the next non-singleton dimension.
% SUMM(X,N,DIM) is the Nth sum function along dimension DIM.
% If N >= size(X,DIM), SUMM returns an empty array.
%
% Examples:
%
% If X = [3 7 5
% 0 9 2]
% then summ(X,1,1) is [3 16 7], summ(X,1,2) is [10 12
% 9 11],
% summ(X,2,2) is the 2nd order sum along the dimension 2, and
% summ(X,3,2) is the empty matrix.
%
% Note: There's probably a better way to do this. In testing, this
% is consistently three times slower than diff. But it was quick
% enough.
%
% This was inspired by the CSSM question:
% http://www.mathworks.com/matlabcentral/newsreader/view_thread/259947

MATLAB release MATLAB 7.8 (R2009a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
03 Sep 2009

Took into account several excellent suggestions by Jan Simon, including correct handling of empty matrices. Thanks!

Tag Activity for this File
Tag Applied By Date/Time
sum Andy 03 Sep 2009 09:57:24
array Andy 03 Sep 2009 09:57:24

Contact us at files@mathworks.com