Mercurial > hg > octave-nkf
view scripts/general/postpad.m @ 2121:bc6ecd8f1175
[project @ 1996-05-12 06:45:55 by jwe]
author | jwe |
---|---|
date | Sun, 12 May 1996 06:45:55 +0000 |
parents | 52a3f38cbfeb |
children | 5cffc4b8de57 |
line wrap: on
line source
function y = postpad (x, l, c) # postpad (x, l) # # Appends zeros to the vector x until it is of length l. # postpad (x, l, c) appends the constant c instead of zero. # # If length (x) > l, elements from the end of x are removed # until a vector of length l is obtained. # Author: # Tony Richardson # amr@mpl.ucsd.edu # June 1994 if (nargin == 2) c = 0; elseif (nargin < 2 || nargin > 3) usage ("postpad (x, l) or postpad (x, l, c)"); endif if (is_matrix (x)) error ("first argument must be a vector"); elseif (! is_scalar (l)) error ("second argument must be a scaler"); endif if (l < 0) error ("second argument must be non-negative"); endif lx = length (x); if (lx >= l) y = x(1:l); else if (rows (x) > 1) tmp = c * ones (l-lx, 1); y = [x; tmp]; else tmp = c * ones (1, l-lx); y = [x, tmp]; endif endif endfunction