Mercurial > hg > octave-lyh
view scripts/general/prepad.m @ 904:3470f1e25a79
[project @ 1994-11-09 21:22:15 by jwe]
author | jwe |
---|---|
date | Wed, 09 Nov 1994 21:22:15 +0000 |
parents | 4e826edfbc56 |
children | 52a3f38cbfeb |
line wrap: on
line source
function y = prepad(x,l,c) #prepad(x,l) #Prepends zeros to the vector x until it is of length l. #prepad(x,l,c) prepends the constant c instead of zero. # #If length(x) > l, elements from the beginning 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 ("prepad(x,l) or prepad(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(lx-l+1:lx); else if(rows(x)>1) y = [ c*ones(l-lx,1); x ]; else y = [ c*ones(1,l-lx) x ]; endif endif endfunction