dawn@0: %y=rsmooth(x,smooth,npasses,trim) - smooth by running convolution dawn@0: % dawn@0: % X: input matrix dawn@0: % SMOOTH: samples - size of square smoothing window dawn@0: % NPASSES: number of smoothing passes (default=1) dawn@0: % TRIM: if true, clip Y to same size as X dawn@0: % dawn@0: % Y: output matrix dawn@0: % dawn@0: % RSMOOTH smooths each column of matrix X by convolution with a square window dawn@0: % followed by division by the window size. dawn@0: % Multiple passes allow smoothing with a triangular window (npasses=2), or dawn@0: % window shapes that approach a gaussian (npasses large). Convolution is dawn@0: % implemented as a running sum for speed. dawn@0: % dawn@0: % Y has NPASSES*(SMOOTH-1) more rows than X unless TRIM is set. dawn@0: % dawn@0: % mex function