annotate doc/interpreter/matrix.txi @ 11539:6bac61388876

Add undocumented postpad function to documentation.
author Rik <octave@nomad.inbox5.com>
date Fri, 14 Jan 2011 18:39:23 -0800
parents fd0a3ac60b0e
children 294c0927c762
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11523
fd0a3ac60b0e update copyright notices
John W. Eaton <jwe@octave.org>
parents: 11431
diff changeset
1 @c Copyright (C) 1996-2011 John W. Eaton
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
2 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
3 @c This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
4 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
5 @c Octave is free software; you can redistribute it and/or modify it
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
6 @c under the terms of the GNU General Public License as published by the
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
7 @c Free Software Foundation; either version 3 of the License, or (at
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
8 @c your option) any later version.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
9 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
13 @c for more details.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
14 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
15 @c You should have received a copy of the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
16 @c along with Octave; see the file COPYING. If not, see
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6868
diff changeset
17 @c <http://www.gnu.org/licenses/>.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
18
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
19 @node Matrix Manipulation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
20 @chapter Matrix Manipulation
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22 There are a number of functions available for checking to see if the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
23 elements of a matrix meet some condition, and for rearranging the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
24 elements of a matrix. For example, Octave can easily tell you if all
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
25 the elements of a matrix are finite, or are less than some specified
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26 value. Octave can also rotate the elements, extract the upper- or
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
27 lower-triangular parts, or sort the columns of a matrix.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
28
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
29 @menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30 * Finding Elements and Checking Conditions::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
31 * Rearranging Matrices::
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
32 * Applying a Function to an Array::
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
33 * Special Utility Matrices::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
34 * Famous Matrices::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
35 @end menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
36
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
37 @node Finding Elements and Checking Conditions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
38 @section Finding Elements and Checking Conditions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
39
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
40 The functions @code{any} and @code{all} are useful for determining
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
41 whether any or all of the elements of a matrix satisfy some condition.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
42 The @code{find} function is also useful in determining which elements of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
43 a matrix meet a specified condition.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
44
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
45 @DOCSTRING(any)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
46
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
47 @DOCSTRING(all)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
48
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
49 Since the comparison operators (@pxref{Comparison Ops}) return matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
50 of ones and zeros, it is easy to test a matrix for many things, not just
10846
a4f482e66b65 Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents: 10828
diff changeset
51 whether the elements are nonzero. For example,
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
52
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
53 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
54 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
55 all (all (rand (5) < 0.9))
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
56 @result{} 0
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
57 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
58 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
59
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
60 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
61 tests a random 5 by 5 matrix to see if all of its elements are less
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
62 than 0.9.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
63
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
64 Note that in conditional contexts (like the test clause of @code{if} and
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
65 @code{while} statements) Octave treats the test as if you had typed
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
66 @code{all (all (condition))}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
67
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
68 @DOCSTRING(xor)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
69
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
70 @DOCSTRING(is_duplicate_entry)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
71
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
72 @DOCSTRING(diff)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
73
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
74 @DOCSTRING(isinf)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
75
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
76 @DOCSTRING(isnan)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
77
11431
0d9640d755b1 Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents: 10892
diff changeset
78 @DOCSTRING(isfinite)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
79
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
80 @DOCSTRING(find)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
81
9367
59559e71000e update docs
Jaroslav Hajek <highegg@gmail.com>
parents: 8920
diff changeset
82 @DOCSTRING(lookup)
59559e71000e update docs
Jaroslav Hajek <highegg@gmail.com>
parents: 8920
diff changeset
83
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
84 @DOCSTRING(common_size)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
85
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
86 @node Rearranging Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
87 @section Rearranging Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
88
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
89 @DOCSTRING(fliplr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
90
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
91 @DOCSTRING(flipud)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
92
4869
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
93 @DOCSTRING(flipdim)
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
94
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
95 @DOCSTRING(rot90)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
96
4869
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
97 @DOCSTRING(rotdim)
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
98
4845
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
99 @DOCSTRING(cat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
100
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
101 @DOCSTRING(horzcat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
102
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
103 @DOCSTRING(vertcat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
104
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
105 @DOCSTRING(permute)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
106
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
107 @DOCSTRING(ipermute)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
108
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
109 @DOCSTRING(reshape)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
110
8432
c9cb8f0b8b4f add reference to resize function in the manual
Francesco Potortì <pot@gnu.org>
parents: 8286
diff changeset
111 @DOCSTRING(resize)
c9cb8f0b8b4f add reference to resize function in the manual
Francesco Potortì <pot@gnu.org>
parents: 8286
diff changeset
112
4894
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
113 @DOCSTRING(circshift)
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
114
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
115 @DOCSTRING(shiftdim)
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
116
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
117 @DOCSTRING(shift)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
118
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
119 @DOCSTRING(sort)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
120
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
121 @DOCSTRING(sortrows)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
122
8817
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8519
diff changeset
123 @DOCSTRING(issorted)
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8519
diff changeset
124
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
125 Since the @code{sort} function does not allow sort keys to be specified,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
126 it can't be used to order the rows of a matrix according to the values
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
127 of the elements in various columns@footnote{For example, to first sort
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
128 based on the values in column 1, and then, for any values that are
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
129 repeated in column 1, sort based on the values found in column 2, etc.}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
130 in a single call. Using the second output, however, it is possible to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
131 sort all rows based on the values in a given column. Here's an example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
132 that sorts the rows of a matrix based on the values in the second
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
133 column.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
134
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
135 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
136 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
137 a = [1, 2; 2, 3; 3, 1];
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
138 [s, i] = sort (a (:, 2));
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
139 a (i, :)
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
140 @result{} 3 1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
141 1 2
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
142 2 3
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
143 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
144 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
145
8286
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8133
diff changeset
146 @anchor{doc-triu}
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
147 @DOCSTRING(tril)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
148
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
149 @DOCSTRING(vec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
150
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
151 @DOCSTRING(vech)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
152
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
153 @DOCSTRING(prepad)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
154
11539
6bac61388876 Add undocumented postpad function to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
155 @DOCSTRING(postpad)
6bac61388876 Add undocumented postpad function to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
156
8851
d6de39523f03 improve the diag & perm matrices text
Jaroslav Hajek <highegg@gmail.com>
parents: 8839
diff changeset
157 @DOCSTRING(diag)
d6de39523f03 improve the diag & perm matrices text
Jaroslav Hajek <highegg@gmail.com>
parents: 8839
diff changeset
158
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
159 @DOCSTRING(blkdiag)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
160
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
161 @node Applying a Function to an Array
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
162 @section Applying a Function to an Array
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
163
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
164 @DOCSTRING(arrayfun)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
165
6868
975fcdfb0d2d [project @ 2007-09-06 16:34:29 by dbateman]
dbateman
parents: 6778
diff changeset
166 @DOCSTRING(bsxfun)
975fcdfb0d2d [project @ 2007-09-06 16:34:29 by dbateman]
dbateman
parents: 6778
diff changeset
167
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
168 @node Special Utility Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
169 @section Special Utility Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
170
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
171 @DOCSTRING(eye)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
172
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
173 @DOCSTRING(ones)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
174
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
175 @DOCSTRING(zeros)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
176
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3428
diff changeset
177 @DOCSTRING(repmat)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3428
diff changeset
178
10801
a40e32927b3a Improve documentation for new repelems function.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
179 @DOCSTRING(repelems)
a40e32927b3a Improve documentation for new repelems function.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
180
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
181 @DOCSTRING(rand)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
182
10892
20ce631f0f12 Add new randi function for random integers.
Rik <octave@nomad.inbox5.com>
parents: 10846
diff changeset
183 @DOCSTRING(randi)
20ce631f0f12 Add new randi function for random integers.
Rik <octave@nomad.inbox5.com>
parents: 10846
diff changeset
184
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
185 @DOCSTRING(randn)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
186
5730
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
187 @DOCSTRING(rande)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
188
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
189 @DOCSTRING(randp)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
190
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
191 @DOCSTRING(randg)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
192
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
193 The generators operate in the new or old style together, it is not
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
194 possible to mix the two. Initializing any generator with
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
195 @code{"state"} or @code{"seed"} causes the others to switch to the
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
196 same style for future calls.
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
197
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
198 The state of each generator is independent and calls to different
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
199 generators can be interleaved without affecting the final result. For
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
200 example,
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
201
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
202 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
203 @group
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
204 rand ("state", [11, 22, 33]);
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
205 randn ("state", [44, 55, 66]);
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
206 u = rand (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
207 n = randn (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
208 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
209 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
210
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
211 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
212 and
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
213
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
214 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
215 @group
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
216 rand ("state", [11, 22, 33]);
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
217 randn ("state", [44, 55, 66]);
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
218 u = zeros (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
219 n = zeros (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
220 for i = 1:100
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
221 u(i) = rand ();
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
222 n(i) = randn ();
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
223 end
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
224 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
225 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
226
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
227 @noindent
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
228 produce equivalent results. When the generators are initialized in
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
229 the old style with @code{"seed"} only @code{rand} and @code{randn} are
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
230 independent, because the old @code{rande}, @code{randg} and
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
231 @code{randp} generators make calls to @code{rand} and @code{randn}.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
232
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
233 The generators are initialized with random states at start-up, so
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
234 that the sequences of random numbers are not the same each time you run
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
235 Octave.@footnote{The old versions of @code{rand} and @code{randn}
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
236 obtain their initial seeds from the system clock.} If you really do
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
237 need to reproduce a sequence of numbers exactly, you can set the state
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
238 or seed to a specific value.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
239
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
240 If invoked without arguments, @code{rand} and @code{randn} return a
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
241 single element of a random sequence.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
242
8133
f38997cf9e5b matrix.txi: update docs for random number generators
Brian Gough
parents: 7018
diff changeset
243 The original @code{rand} and @code{randn} functions use Fortran code from
10828
322f43e0e170 Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents: 10801
diff changeset
244 @sc{ranlib}, a library of Fortran routines for random number generation,
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
245 compiled by Barry W. Brown and James Lovato of the Department of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
246 Biomathematics at The University of Texas, M.D. Anderson Cancer Center,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
247 Houston, TX 77030.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
248
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
249 @DOCSTRING(randperm)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
250
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
251 The functions @code{linspace} and @code{logspace} make it very easy to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
252 create vectors with evenly or logarithmically spaced elements.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
253 @xref{Ranges}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
254
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
255 @DOCSTRING(linspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
256
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
257 @DOCSTRING(logspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
258
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
259 @node Famous Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
260 @section Famous Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
261
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
262 The following functions return famous matrix forms.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
263
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
264 @DOCSTRING(hadamard)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
265
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
266 @DOCSTRING(hankel)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
267
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
268 @DOCSTRING(hilb)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
269
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
270 @DOCSTRING(invhilb)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
271
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
272 @DOCSTRING(magic)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
273
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
274 @DOCSTRING(pascal)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
275
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
276 @DOCSTRING(rosser)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
277
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
278 @DOCSTRING(sylvester_matrix)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
279
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
280 @DOCSTRING(toeplitz)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
281
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
282 @DOCSTRING(vander)
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
283
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
284 @DOCSTRING(wilkinson)