annotate scripts/general/repmat.m @ 3914:9eb96199e0f1

[project @ 2002-04-30 02:40:04 by jwe]
author jwe
date Tue, 30 Apr 2002 02:40:04 +0000
parents
children 2f341412622f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3914
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
1 ## Copyright (C) 2000 Paul Kienzle
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
2 ##
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
4 ##
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
7 ## the Free Software Foundation; either version 2, or (at your option)
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
8 ## any later version.
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
9 ##
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
14 ##
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, write to the Free
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
17 ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
18 ## 02111-1307, USA.
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
19
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
20 ## -*- texinfo -*-
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
21 ## @deftypefn {Function File} {} repmat (@var{A}, @var{m}, @var{n})
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
22 ## @deftypefnx {Function File} {} repmat (@var{A}, [@var{m} @var{n}])
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
23 ## Form a block matrix of size @var{m} by @var{n}, with a copy of matrix
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
24 ## @var{A} as each element. If @var{n} is not specified, form an
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
25 ## @var{m} by @var{m} block matrix.
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
26 ## @end deftypefn
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
27
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
28 ## Author: Paul Kienzle <pkienzle@kienzle.powernet.co.uk>
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
29 ## Created: July 2000
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
30
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
31 function x = repmat (b, m, n)
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
32 if (nargin < 2 || nargin > 3)
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
33 usage ("repmat (a, m, n)");
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
34 endif
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
35
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
36 if (nargin == 2)
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
37 if (is_scalar (m))
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
38 n = m;
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
39 elseif (is_vector (m) && length (m) == 2)
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
40 n = m(2);
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
41 m = m(1);
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
42 else
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
43 error ("repmat: only builds 2D matrices")
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
44 endif
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
45 endif
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
46
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
47 if (isstr (a))
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
48 x = setstr (kron (ones (m, n), toascii (a)));
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
49 else
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
50 x = kron (ones (m, n), a);
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
51 endif
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
52
9eb96199e0f1 [project @ 2002-04-30 02:40:04 by jwe]
jwe
parents:
diff changeset
53 endfunction