annotate scripts/general/postpad.m @ 1337:52a3f38cbfeb

[project @ 1995-08-25 02:00:18 by jwe]
author jwe
date Fri, 25 Aug 1995 02:16:01 +0000
parents 3470f1e25a79
children 5cffc4b8de57
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
1 function y = postpad (x, l, c)
904
3470f1e25a79 [project @ 1994-11-09 21:22:15 by jwe]
jwe
parents: 561
diff changeset
2
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
3 # postpad (x, l)
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
4 #
904
3470f1e25a79 [project @ 1994-11-09 21:22:15 by jwe]
jwe
parents: 561
diff changeset
5 # Appends zeros to the vector x until it is of length l.
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
6 # postpad (x, l, c) appends the constant c instead of zero.
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
7 #
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
8 # If length (x) > l, elements from the end of x are removed
904
3470f1e25a79 [project @ 1994-11-09 21:22:15 by jwe]
jwe
parents: 561
diff changeset
9 # until a vector of length l is obtained.
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
10
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
11 # Author:
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
12 # Tony Richardson
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
13 # amr@mpl.ucsd.edu
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
14 # June 1994
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
15
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
16 if (nargin == 2)
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
17 c = 0;
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
18 elseif (nargin < 2 || nargin > 3)
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
19 usage ("postpad (x, l) or postpad (x, l, c)");
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
20 endif
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
21
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
22 if (is_matrix (x))
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
23 error ("first argument must be a vector");
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
24 elseif (! is_scalar (l))
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
25 error ("second argument must be a scaler");
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
26 endif
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
27
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
28 if (l < 0)
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
29 error ("second argument must be non-negative");
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
30 endif
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
31
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
32 lx = length (x);
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
33
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
34 if (lx >= l)
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
35 y = x(1:l);
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
36 else
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
37 if (rows (x) > 1)
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
38 tmp = c * ones (l-lx, 1);
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
39 y = [x; tmp];
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
40 else
1337
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
41 tmp = c * ones (1, l-lx);
52a3f38cbfeb [project @ 1995-08-25 02:00:18 by jwe]
jwe
parents: 904
diff changeset
42 y = [x, tmp];
561
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
43 endif
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
44 endif
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
45
e79ff1f4df3c [project @ 1994-07-25 22:32:08 by jwe]
jwe
parents:
diff changeset
46 endfunction