annotate doc/interpreter/matrix.txi @ 6868:975fcdfb0d2d

[project @ 2007-09-06 16:34:29 by dbateman]
author dbateman
date Thu, 06 Sep 2007 16:34:30 +0000
parents 083721ae3dfa
children fd42779a8428
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6778
083721ae3dfa [project @ 2007-07-18 17:03:10 by jwe]
jwe
parents: 6550
diff changeset
1 @c Copyright (C) 1996, 1997, 2007 John W. Eaton
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
2 @c This is part of the Octave manual.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
3 @c For copying conditions, see the file gpl.texi.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
4
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
5 @node Matrix Manipulation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
6 @chapter Matrix Manipulation
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
7
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
8 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
9 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
10 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
11 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
12 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
13 lower-triangular parts, or sort the columns of a matrix.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
14
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
15 @menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
16 * Finding Elements and Checking Conditions::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
17 * Rearranging Matrices::
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
18 * Applying a Function to an Array::
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
19 * Special Utility Matrices::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
20 * Famous Matrices::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21 @end menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
23 @node Finding Elements and Checking Conditions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
24 @section Finding Elements and Checking Conditions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
25
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26 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
27 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
28 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
29 a matrix meet a specified condition.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
31 @DOCSTRING(any)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
32
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
33 @DOCSTRING(all)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
34
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
35 Since the comparison operators (@pxref{Comparison Ops}) return matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
36 of ones and zeros, it is easy to test a matrix for many things, not just
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
37 whether the elements are nonzero. For example,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
38
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
39 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
40 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
41 all (all (rand (5) < 0.9))
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
42 @result{} 0
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
43 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
44 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
45
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
46 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
47 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
48 than 0.9.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
49
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
50 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
51 @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
52 @code{all (all (condition))}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
53
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
54 @DOCSTRING(xor)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
55
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
56 @DOCSTRING(is_duplicate_entry)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
57
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
58 @DOCSTRING(diff)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
59
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
60 @DOCSTRING(isinf)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
61
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
62 @DOCSTRING(isnan)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
63
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
64 @DOCSTRING(finite)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
65
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
66 @DOCSTRING(find)
3294
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(common_size)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
69
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
70 @node Rearranging Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
71 @section Rearranging Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
72
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
73 @DOCSTRING(fliplr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
74
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
75 @DOCSTRING(flipud)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
76
4869
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
77 @DOCSTRING(flipdim)
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
78
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
79 @DOCSTRING(rot90)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
80
4869
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
81 @DOCSTRING(rotdim)
b92d59213e63 [project @ 2004-04-21 17:03:02 by jwe]
jwe
parents: 4845
diff changeset
82
4845
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
83 @DOCSTRING(cat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
84
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
85 @DOCSTRING(horzcat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
86
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
87 @DOCSTRING(vertcat)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
88
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
89 @DOCSTRING(permute)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
90
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
91 @DOCSTRING(ipermute)
a9cfb8b37759 [project @ 2004-04-02 20:12:24 by jwe]
jwe
parents: 4457
diff changeset
92
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
93 @DOCSTRING(reshape)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
94
4894
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
95 @DOCSTRING(circshift)
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
96
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
97 @DOCSTRING(shiftdim)
ab5870f984d9 [project @ 2004-06-03 19:32:02 by jwe]
jwe
parents: 4869
diff changeset
98
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
99 @DOCSTRING(shift)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
100
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
101 @DOCSTRING(sort)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
102
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
103 @DOCSTRING(sortrows)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
104
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
105 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
106 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
107 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
108 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
109 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
110 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
111 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
112 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
113 column.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
114
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
115 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
116 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
117 a = [1, 2; 2, 3; 3, 1];
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
118 [s, i] = sort (a (:, 2));
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
119 a (i, :)
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
120 @result{} 3 1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
121 1 2
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
122 2 3
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
123 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
124 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
125
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
126 @DOCSTRING(swap)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
127
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
128 @DOCSTRING(swapcols)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
129
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
130 @DOCSTRING(swaprows)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
131
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
132 @DOCSTRING(tril)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
133
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
134 @DOCSTRING(vec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
135
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
136 @DOCSTRING(vech)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
137
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
138 @DOCSTRING(prepad)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
139
6550
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
140 @DOCSTRING(blkdiag)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
141
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
142 @node Applying a Function to an Array
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
143 @section Applying a Function to an Array
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
144
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
145 @DOCSTRING(arrayfun)
1b7a6061a05d [project @ 2007-04-20 07:40:26 by jwe]
jwe
parents: 6502
diff changeset
146
6868
975fcdfb0d2d [project @ 2007-09-06 16:34:29 by dbateman]
dbateman
parents: 6778
diff changeset
147 @DOCSTRING(bsxfun)
975fcdfb0d2d [project @ 2007-09-06 16:34:29 by dbateman]
dbateman
parents: 6778
diff changeset
148
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
149 @node Special Utility Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
150 @section Special Utility Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
151
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
152 @DOCSTRING(eye)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
153
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
154 @DOCSTRING(ones)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
155
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
156 @DOCSTRING(zeros)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
157
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3428
diff changeset
158 @DOCSTRING(repmat)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3428
diff changeset
159
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
160 @DOCSTRING(rand)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
161
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
162 @DOCSTRING(randn)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
163
5730
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
164 @DOCSTRING(rande)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
165
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
166 @DOCSTRING(randp)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
167
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
168 @DOCSTRING(randg)
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
169
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
170 The new random generators all use a common Mersenne Twister generator,
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
171 and so the state of only one of the generators needs to be reset.
109fdf7b3dcb [project @ 2006-04-03 19:18:26 by jwe]
jwe
parents: 4894
diff changeset
172 The old generator function use separate generators. This ensures that
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
173
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
174 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
175 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
176 rand ("seed", 13);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
177 randn ("seed", 13);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
178 u = rand (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
179 n = randn (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
180 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
181 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
182
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
183 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
184 and
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
185
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
186 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
187 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
188 rand ("seed", 13);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
189 randn ("seed", 13);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
190 u = zeros (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
191 n = zeros (100, 1);
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
192 for i = 1:100
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
193 u(i) = rand ();
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
194 n(i) = randn ();
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
195 end
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
196 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
197 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
198
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
199 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
200 produce equivalent results.
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 Normally, @code{rand} and @code{randn} obtain their initial
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
203 seeds from the system clock, so that the sequence of random numbers is
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
204 not the same each time you run Octave. If you really do need for to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
205 reproduce a sequence of numbers exactly, you can set the seed to a
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
206 specific value.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
207
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
208 If it is invoked without arguments, @code{rand} and @code{randn} return a
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
209 single element of a random sequence.
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 The @code{rand} and @code{randn} functions use Fortran code from
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
212 @sc{Ranlib}, a library of fortran routines for random number generation,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
213 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
214 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
215 Houston, TX 77030.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
216
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
217 @DOCSTRING(randperm)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3371
diff changeset
218
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
219 @DOCSTRING(diag)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
220
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
221 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
222 create vectors with evenly or logarithmically spaced elements.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
223 @xref{Ranges}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
224
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
225 @DOCSTRING(linspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
226
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
227 @DOCSTRING(logspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
228
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
229 @node Famous Matrices
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
230 @section Famous Matrices
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
231
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
232 The following functions return famous matrix forms.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
233
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
234 @DOCSTRING(hadamard)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
235
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
236 @DOCSTRING(hankel)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
237
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
238 @DOCSTRING(hilb)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
239
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
240 @DOCSTRING(invhilb)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
241
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
242 @DOCSTRING(magic)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
243
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
244 @DOCSTRING(pascal)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
245
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
246 @DOCSTRING(rosser)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
247
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
248 @DOCSTRING(sylvester_matrix)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
249
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
250 @DOCSTRING(toeplitz)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
251
3369
f37ca3017116 [project @ 1999-11-21 16:26:02 by jwe]
jwe
parents: 3294
diff changeset
252 @DOCSTRING(vander)
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
253
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
254 @DOCSTRING(wilkinson)