2333
|
1 % Copyright (C) 1996 John W. Eaton |
|
2 % This is part of the Octave manual. |
|
3 % For copying conditions, see the file gpl.texi. |
|
4 |
|
5 \input texinfo |
|
6 @setfilename octave.info |
|
7 |
2342
|
8 @ifinfo |
|
9 @format |
|
10 START-INFO-DIR-ENTRY |
|
11 * Octave: (octave). Interactive language for numerical computations. |
|
12 END-INFO-DIR-ENTRY |
|
13 @end format |
|
14 @end ifinfo |
|
15 |
2333
|
16 @c Settings for printing on 8-1/2 by 11 inch paper: |
|
17 @c ----------------------------------------------- |
|
18 |
2449
|
19 @c @ignore |
2333
|
20 @setchapternewpage odd |
|
21 @iftex |
|
22 @tex |
|
23 \global\chapheadingskip = 15pt plus 4pt minus 2pt |
|
24 \global\secheadingskip = 12pt plus 3pt minus 2pt |
|
25 \global\subsecheadingskip = 9pt plus 2pt minus 2pt |
|
26 \global\parskip 5pt plus 1pt |
|
27 @end tex |
|
28 @end iftex |
2449
|
29 @c @end ignore |
2333
|
30 |
|
31 @c Settings for small book format: |
|
32 @c ------------------------------ |
2449
|
33 |
|
34 @ignore |
|
35 @smallbook |
|
36 @setchapternewpage odd |
|
37 @finalout |
|
38 @iftex |
|
39 @cropmarks |
|
40 @end iftex |
|
41 @end ignore |
2333
|
42 |
|
43 @defindex op |
|
44 |
|
45 @c Things like the Octave version number are defined in conf.texi. |
|
46 @c This file doesn't include a chapter, so it must not be included |
|
47 @c if you want to run the Emacs function texinfo-multiple-files-update. |
|
48 |
2449
|
49 @c @include conf.texi |
2333
|
50 |
|
51 @settitle Octave |
|
52 |
|
53 @ifinfo |
|
54 |
|
55 Copyright (C) 1996 John W. Eaton. |
|
56 |
|
57 Permission is granted to make and distribute verbatim copies of |
|
58 this manual provided the copyright notice and this permission notice |
|
59 are preserved on all copies. |
|
60 |
|
61 @ignore |
|
62 Permission is granted to process this file through Tex and print the |
|
63 results, provided the printed document carries copying permission |
|
64 notice identical to this one except for the removal of this paragraph |
|
65 (this paragraph not being relevant to the printed manual). |
|
66 |
|
67 @end ignore |
|
68 Permission is granted to copy and distribute modified versions of |
|
69 this manual under the conditions for verbatim copying, provided that |
|
70 the entire resulting derived work is distributed under the terms of |
|
71 a permission notice identical to this one. |
|
72 |
|
73 Permission is granted to copy and distribute translations of this |
|
74 manual into another language, under the above conditions for |
|
75 modified versions. |
|
76 @end ifinfo |
|
77 |
|
78 @titlepage |
|
79 @title{Octave} |
|
80 @subtitle{A high-level interactive language for numerical computations} |
2449
|
81 @subtitle{Edition 2 for Octave version @value{VERSION}} |
|
82 @subtitle{October 1996} |
2333
|
83 @author{John W. Eaton} |
|
84 @page |
|
85 @vskip 0pt plus 1filll |
|
86 Copyright @copyright{} 1996 John W. Eaton. |
|
87 |
2449
|
88 This is the second edition of the Octave documentation, |
2333
|
89 and is consistent with version @value{VERSION} of Octave. |
|
90 |
|
91 Permission is granted to make and distribute verbatim copies of |
|
92 this manual provided the copyright notice and this permission notice |
|
93 are preserved on all copies. |
|
94 |
|
95 Permission is granted to copy and distribute modified versions of this |
|
96 manual under the conditions for verbatim copying, provided that the entire |
|
97 resulting derived work is distributed under the terms of a permission |
|
98 notice identical to this one. |
|
99 |
|
100 Permission is granted to copy and distribute translations of this manual |
|
101 into another language, under the same conditions as for modified versions. |
|
102 @end titlepage |
|
103 |
|
104 @ifinfo |
|
105 @node Top, Preface, (dir), (dir) |
|
106 @top |
|
107 |
|
108 This manual documents how to run, install and port Octave, as well as |
|
109 its new features and incompatibilities, and how to report bugs. |
|
110 It corresponds to Octave version @value{VERSION}. |
|
111 @end ifinfo |
|
112 |
|
113 @menu |
|
114 * Preface:: |
|
115 * Introduction:: A brief introduction to Octave. |
|
116 * Invoking Octave:: Command options supported by Octave. |
|
117 * Expressions:: Expressions. |
|
118 * Statements:: Looping and program flow control. |
|
119 * Functions and Scripts:: |
|
120 * Built-in Variables:: Descriptions of all built-in variables. |
|
121 * Arithmetic:: |
|
122 * Linear Algebra:: |
|
123 * Polynomial Manipulations:: |
|
124 * Nonlinear Equations:: |
|
125 * Differential Equations:: |
|
126 * Optimization:: |
|
127 * Quadrature:: |
|
128 * Control Theory:: |
|
129 * Signal Processing:: |
|
130 * Sets:: |
|
131 * Statistics:: |
|
132 * Plotting:: |
|
133 * Image Processing:: |
|
134 * Audio Processing:: |
|
135 * Input and Output:: |
|
136 * Special Matrices:: |
|
137 * Matrix Manipulation:: |
|
138 * String Functions:: |
|
139 * System Utilities:: |
|
140 * Command History Functions:: |
|
141 * Help:: |
|
142 * Programming Utilities:: |
|
143 * Amusements:: |
|
144 * Emacs:: |
|
145 * Installation:: How to configure, compile and install Octave. |
|
146 * Trouble:: If you have trouble installing Octave. |
|
147 * Command Line Editing:: Command history and editing. |
|
148 * Using Info:: |
2449
|
149 * Copying:: The GNU General Public License. |
2333
|
150 * Concept Index:: An item for each concept. |
|
151 * Variable Index:: An item for each documented variable. |
|
152 * Function Index:: An item for each documented function. |
|
153 * Operator Index:: An item for each documented operator. |
|
154 * Readline Index:: An index for readline commands. |
|
155 * Info Index:: An index for info commands. |
|
156 |
|
157 --- The Detailed Node Listing --- |
|
158 |
|
159 A Brief Introduction to Octave |
|
160 |
|
161 * Running Octave:: |
|
162 * Simple Examples:: |
2449
|
163 * Comments:: |
2333
|
164 * Executable Octave Programs:: |
|
165 * Errors:: |
|
166 |
|
167 Invoking Octave |
|
168 |
|
169 * Command Line Options:: |
|
170 * Startup Files:: |
|
171 |
|
172 Expressions |
|
173 |
|
174 * Constant Expressions:: |
|
175 * Matrices:: |
|
176 * Ranges:: |
|
177 * Variables:: |
|
178 * Index Expressions:: |
|
179 * Data Structures:: |
|
180 * Calling Functions:: |
|
181 * Global Variables:: |
|
182 * Keywords:: |
|
183 * Arithmetic Ops:: |
|
184 * Comparison Ops:: |
|
185 * Boolean Expressions:: |
|
186 * Assignment Ops:: |
|
187 * Increment Ops:: |
|
188 * Operator Precedence:: |
|
189 |
|
190 Constant Expressions |
|
191 |
|
192 * Numeric Constants:: |
|
193 * String Constants:: |
|
194 |
|
195 Matrices |
|
196 |
|
197 * Empty Matrices:: |
|
198 |
|
199 Calling Functions |
|
200 |
|
201 * Call by Value:: |
|
202 * Recursion:: |
|
203 |
|
204 Boolean Expressions |
|
205 |
|
206 * Element-by-element Boolean Operators:: |
|
207 * Short-circuit Boolean Operators:: |
|
208 |
|
209 Statements |
|
210 |
|
211 * The if Statement:: |
|
212 * The while Statement:: |
|
213 * The for Statement:: |
|
214 * The break Statement:: |
|
215 * The continue Statement:: |
|
216 * The unwind_protect Statement:: |
|
217 * The try Statement:: |
|
218 * Continuation Lines:: |
|
219 |
2449
|
220 The @code{for} Statement |
|
221 |
|
222 * Looping Over Structure Elements:: |
|
223 |
2333
|
224 Functions and Script Files |
|
225 |
|
226 * Defining Functions:: |
|
227 * Multiple Return Values:: |
|
228 * Variable-length Argument Lists:: |
|
229 * Variable-length Return Lists:: |
|
230 * Returning From a Function:: |
|
231 * Function Files:: |
|
232 * Script Files:: |
|
233 * Dynamically Linked Functions:: |
|
234 * Organization of Functions:: |
|
235 |
|
236 Built-in Variables |
|
237 |
2449
|
238 * Miscellaneous Built-in Variables |
2333
|
239 * Summary of Preference Variables:: |
|
240 |
|
241 Arithmetic |
|
242 |
|
243 * Utility Functions:: |
|
244 * Complex Arithmetic:: |
|
245 * Trigonometry:: |
|
246 * Sums and Products:: |
|
247 * Special Functions:: |
2449
|
248 * Mathematical Constants:: |
2333
|
249 |
|
250 Linear Algebra |
|
251 |
|
252 * Basic Matrix Functions:: |
|
253 * Matrix Factorizations:: |
|
254 * Functions of a Matrix:: |
|
255 |
|
256 Differential Equations |
|
257 |
|
258 * Ordinary Differential Equations:: |
|
259 * Differential-Algebraic Equations:: |
|
260 |
|
261 Optimization |
|
262 |
|
263 * Quadratic Programming:: |
|
264 * Nonlinear Programming:: |
|
265 * Linear Least Squares:: |
|
266 |
|
267 Quadrature |
|
268 |
|
269 * Functions of one Variable:: |
|
270 * Orthogonal Collocation:: |
|
271 |
|
272 Plotting |
|
273 |
|
274 * Two-Dimensional Plotting:: |
|
275 * Three-Dimensional Plotting:: |
|
276 * Miscellaneous Plotting Functions:: |
|
277 |
|
278 Input and Output |
|
279 |
|
280 * Basic Input and Output:: |
|
281 * C-Style I/O Functions:: |
|
282 |
2449
|
283 Basic Input and Output |
|
284 |
|
285 * Terminal Output:: |
|
286 * Terminal Input:: |
|
287 * Simple File I/O:: |
|
288 |
2333
|
289 C-Style I/O Functions |
|
290 |
|
291 * Opening and Closing Files:: |
|
292 * Formatted Output:: |
|
293 * Output Conversion Syntax:: |
|
294 * Table of Output Conversions:: |
|
295 * Integer Conversions:: |
|
296 * Floating-Point Conversions:: |
|
297 * Other Output Conversions:: |
|
298 * Formatted Input:: |
|
299 * Input Conversion Syntax:: |
|
300 * Table of Input Conversions:: |
|
301 * Numeric Input Conversions:: |
|
302 * String Input Conversions:: |
|
303 * Binary I/O:: |
|
304 * Other I/O Functions:: |
|
305 |
|
306 Special Matrices |
|
307 |
|
308 * Special Utility Matrices:: |
|
309 * Famous Matrices:: |
|
310 |
|
311 Matrix Manipulation |
|
312 |
|
313 * Finding Elements and Checking Conditions:: |
|
314 * Rearranging Matrices:: |
|
315 |
|
316 System Utilities |
|
317 |
|
318 * Timing Utilities:: |
|
319 * Filesystem Utilities:: |
|
320 * Interacting with the OS:: |
|
321 * System Information:: |
|
322 * Other Functions:: |
|
323 |
|
324 Programming Utilities |
|
325 |
|
326 * Evaluating Strings as Commands:: |
|
327 * Miscellaneous Utilities:: |
|
328 |
|
329 Using Emacs With Octave |
|
330 |
|
331 * Setting Up Octave Mode:: |
|
332 * Using Octave Mode:: |
2449
|
333 * Running Octave From Within Emacs:: |
|
334 * Using the Emacs Info Reader for Octave:: |
2333
|
335 |
|
336 Installing Octave |
|
337 |
|
338 * Installation Problems:: |
|
339 * Binary Distributions:: |
|
340 |
|
341 Binary Distributions |
|
342 |
|
343 * Installing Octave from a Binary Distribution:: |
|
344 * Creating a Binary Distribution:: |
|
345 |
|
346 Known Causes of Trouble with Octave |
|
347 |
|
348 * Actual Bugs:: Bugs we will fix later. |
|
349 * Reporting Bugs:: |
|
350 * Bug Criteria:: |
|
351 * Bug Lists:: |
|
352 * Bug Reporting:: |
|
353 * Sending Patches:: |
|
354 * Service:: |
|
355 |
|
356 Reporting Bugs |
|
357 |
|
358 * Bug Criteria:: |
|
359 * Where: Bug Lists. Where to send your bug report. |
|
360 * Reporting: Bug Reporting. How to report a bug effectively. |
|
361 * Patches: Sending Patches. How to send a patch for Octave. |
|
362 |
|
363 Command Line Editing |
|
364 |
|
365 * Introduction and Notation:: Notation used in this text. |
|
366 * Readline Interaction:: The minimum set of commands for editing a line. |
|
367 * Readline Bare Essentials:: |
|
368 * Readline Movement Commands:: |
|
369 * Readline Killing Commands:: |
|
370 * Readline Arguments:: |
|
371 * Readline Init File:: Customizing Readline from a user's view. |
|
372 * Readline Init Syntax:: |
|
373 * Readline Vi Mode:: |
|
374 |
|
375 Readline Interaction |
|
376 |
|
377 * Readline Bare Essentials:: The least you need to know about Readline. |
|
378 * Readline Movement Commands:: Moving about the input line. |
|
379 * Readline Killing Commands:: How to delete text, and how to get it back! |
|
380 * Readline Arguments:: Giving numeric arguments to commands. |
|
381 |
|
382 Readline Init File |
|
383 |
|
384 * Readline Init Syntax:: Syntax for the commands in @file{~/.inputrc}. |
|
385 * Readline Vi Mode:: Switching to @code{vi} mode in Readline. |
|
386 |
|
387 Readline Init Syntax |
|
388 |
|
389 * Commands For Moving:: Moving about the line. |
|
390 * Commands For History:: Getting at previous lines. |
|
391 * Commands For Text:: Commands for changing text. |
|
392 * Commands For Killing:: Commands for killing and yanking. |
|
393 * Numeric Arguments:: Specifying numeric arguments, repeat counts. |
|
394 * Commands For Completion:: Getting Readline to do the typing for you. |
|
395 * Miscellaneous Commands:: Other miscellaneous commands. |
|
396 |
|
397 Using Info |
|
398 |
|
399 * Cursor Commands:: |
|
400 * Scrolling Commands:: |
|
401 * Node Commands:: |
|
402 * Searching Commands:: |
|
403 * Xref Commands:: |
|
404 * Window Commands:: |
|
405 * Printing Nodes:: |
|
406 * Other Info Commands:: |
|
407 * Info Variables:: |
|
408 |
|
409 Using Info |
|
410 |
|
411 * Cursor Commands:: Commands which move the cursor within a node. |
|
412 * Scrolling Commands:: Commands for moving the node around in a window. |
|
413 * Node Commands:: Commands for selecting a new node. |
|
414 * Searching Commands:: Commands for searching an info file. |
|
415 * Xref Commands:: Commands for selecting cross references. |
|
416 * Window Commands:: Commands which manipulate multiple windows. |
|
417 * Printing Nodes:: How to print out the contents of a node. |
|
418 * Other Info Commands:: A few commands that defy categories. |
|
419 * Info Variables:: How to change the default behavior of Info. |
|
420 |
|
421 Selecting Cross References |
|
422 |
|
423 * Parts of an Xref:: What a cross reference is made of. |
|
424 * Selecting Xrefs:: Commands for selecting menu or note items. |
|
425 |
|
426 Manipulating Multiple Windows |
|
427 |
|
428 * The Mode Line:: What appears in the mode line? |
|
429 * Basic Windows:: Manipulating windows in Info. |
|
430 * The Echo Area:: Used for displaying errors and reading input. |
|
431 @end menu |
|
432 |
|
433 @include preface.texi |
|
434 @include intro.texi |
|
435 @include invoke.texi |
|
436 @include expr.texi |
|
437 @include stmt.texi |
|
438 @include func.texi |
|
439 @include var.texi |
|
440 @include arith.texi |
|
441 @include linalg.texi |
|
442 @include poly.texi |
|
443 @include nonlin.texi |
|
444 @include diffeq.texi |
|
445 @include optim.texi |
|
446 @include quad.texi |
|
447 @include control.texi |
|
448 @include signal.texi |
|
449 @include set.texi |
|
450 @include stats.texi |
|
451 @include plot.texi |
|
452 @include image.texi |
|
453 @include audio.texi |
|
454 @include io.texi |
|
455 @include special.texi |
|
456 @include matrix.texi |
|
457 @include strings.texi |
|
458 @include system.texi |
|
459 @include history.texi |
|
460 @include help.texi |
|
461 @include program.texi |
|
462 @include amuse.texi |
|
463 |
|
464 @c Appendices start here. Installation and bugs have to go before the |
|
465 @c readline and Info appendices because we want to have separate indices |
|
466 @c for them, and there appears to be no way to go back to the original |
|
467 @c set of indices once a redirection has taken place. |
|
468 |
|
469 @include emacs.texi |
|
470 @include install.texi |
|
471 @include bugs.texi |
|
472 |
|
473 @c Make a separate index for all readline commands, functions, and |
|
474 @c concepts. |
|
475 @defindex rd |
|
476 @syncodeindex cp rd |
|
477 @syncodeindex fn rd |
|
478 @syncodeindex ky rd |
|
479 @syncodeindex vr rd |
|
480 |
|
481 @include rluser.texi |
|
482 |
|
483 @c Make a separate index for all Info commands, functions, and concepts. |
|
484 @defindex in |
|
485 @syncodeindex cp in |
|
486 @syncodeindex fn in |
|
487 @syncodeindex ky in |
|
488 @syncodeindex vr in |
|
489 |
|
490 @include gnuinfo.texi |
2449
|
491 @include gpl.texi |
2333
|
492 |
|
493 @include cp-idx.texi |
|
494 @include vr-idx.texi |
|
495 @include fn-idx.texi |
|
496 @include op-idx.texi |
|
497 @include rd-idx.texi |
|
498 @include in-idx.texi |
|
499 |
|
500 @contents |
|
501 |
|
502 @bye |