3403
|
1 % Copyright (C) 1996, 1997 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 |
3405
|
8 @c The following macro is used for the on-line help system, but we don't |
|
9 @c want lots of `See also: foo, bar, and baz' strings cluttering the |
|
10 @c printed manual (that information should be in the supporting text for |
|
11 @c each symbol). |
|
12 |
|
13 @macro seealso {args} |
|
14 @end macro |
|
15 |
3403
|
16 @ifinfo |
|
17 @format |
|
18 START-INFO-DIR-ENTRY |
|
19 * Octave: (octave). Interactive language for numerical computations. |
|
20 END-INFO-DIR-ENTRY |
|
21 @end format |
|
22 @end ifinfo |
|
23 |
|
24 @c Settings for printing on 8-1/2 by 11 inch paper: |
|
25 @c ----------------------------------------------- |
|
26 |
|
27 @setchapternewpage odd |
|
28 |
|
29 @c Settings for small book format: |
|
30 @c ------------------------------ |
|
31 |
|
32 @ignore |
|
33 @smallbook |
|
34 @setchapternewpage odd |
|
35 @finalout |
|
36 @iftex |
|
37 @cropmarks |
|
38 @end iftex |
|
39 @end ignore |
|
40 |
|
41 @defindex op |
|
42 |
|
43 @c Things like the Octave version number are defined in conf.texi. |
|
44 @c This file doesn't include a chapter, so it must not be included |
|
45 @c if you want to run the Emacs function texinfo-multiple-files-update. |
|
46 |
|
47 @include conf.texi |
|
48 |
|
49 @settitle GNU Octave |
|
50 |
|
51 @ifinfo |
|
52 |
|
53 Copyright (C) 1996, 1997 John W. Eaton. |
|
54 |
|
55 Permission is granted to make and distribute verbatim copies of |
|
56 this manual provided the copyright notice and this permission notice |
|
57 are preserved on all copies. |
|
58 |
|
59 @ignore |
|
60 Permission is granted to process this file through Tex and print the |
|
61 results, provided the printed document carries copying permission |
|
62 notice identical to this one except for the removal of this paragraph |
|
63 (this paragraph not being relevant to the printed manual). |
|
64 |
|
65 @end ignore |
|
66 Permission is granted to copy and distribute modified versions of |
|
67 this manual under the conditions for verbatim copying, provided that |
|
68 the entire resulting derived work is distributed under the terms of |
|
69 a permission notice identical to this one. |
|
70 |
|
71 Permission is granted to copy and distribute translations of this |
|
72 manual into another language, under the above conditions for |
|
73 modified versions. |
|
74 @end ifinfo |
|
75 |
|
76 @titlepage |
|
77 @title GNU Octave |
|
78 @subtitle A high-level interactive language for numerical computations |
|
79 @subtitle Edition 3 for Octave version @value{VERSION} |
|
80 @subtitle February 1997 |
|
81 @author John W. Eaton |
|
82 @page |
|
83 @vskip 0pt plus 1filll |
|
84 Copyright @copyright{} 1996, 1997 John W. Eaton. |
|
85 |
|
86 This is the third edition of the Octave documentation, and is consistent |
|
87 with version @value{VERSION} of Octave. |
|
88 |
|
89 Permission is granted to make and distribute verbatim copies of |
|
90 this manual provided the copyright notice and this permission notice |
|
91 are preserved on all copies. |
|
92 |
|
93 Permission is granted to copy and distribute modified versions of this |
|
94 manual under the conditions for verbatim copying, provided that the entire |
|
95 resulting derived work is distributed under the terms of a permission |
|
96 notice identical to this one. |
|
97 |
|
98 Permission is granted to copy and distribute translations of this manual |
|
99 into another language, under the same conditions as for modified versions. |
|
100 |
|
101 Portions of this document have been adapted from the @code{gawk}, |
|
102 @code{readline}, @code{gcc}, and C library manuals, published by the Free |
|
103 Software Foundation, 59 Temple Place---Suite 330, Boston, MA |
|
104 02111--1307, USA. |
|
105 @end titlepage |
|
106 |
|
107 @ifinfo |
|
108 @node Top, Preface, (dir), (dir) |
|
109 @top |
|
110 |
|
111 This manual documents how to run, install and port GNU Octave, as well |
|
112 as its new features and incompatibilities, and how to report bugs. |
|
113 It corresponds to GNU Octave version @value{VERSION}. |
|
114 @end ifinfo |
|
115 |
|
116 @menu |
|
117 * Preface:: |
|
118 * Introduction:: A brief introduction to Octave. |
|
119 * Getting Started:: |
|
120 * Data Types:: |
|
121 * Numeric Data Types:: |
|
122 * Strings:: |
|
123 * Data Structures:: |
|
124 * Variables:: |
|
125 * Expressions:: Expressions. |
|
126 * Evaluation:: |
|
127 * Statements:: Looping and program flow control. |
|
128 * Functions and Scripts:: |
|
129 * Error Handling:: |
|
130 * Input and Output:: |
|
131 * Plotting:: |
|
132 * Matrix Manipulation:: |
|
133 * Arithmetic:: |
|
134 * Linear Algebra:: |
|
135 * Nonlinear Equations:: |
|
136 * Quadrature:: |
|
137 * Differential Equations:: |
|
138 * Optimization:: |
|
139 * Statistics:: |
|
140 * Sets:: |
|
141 * Polynomial Manipulations:: |
|
142 * Control Theory:: |
|
143 * Signal Processing:: |
|
144 * Image Processing:: |
|
145 * Audio Processing:: |
|
146 * System Utilities:: |
|
147 * Tips:: |
|
148 * Trouble:: If you have trouble installing Octave. |
|
149 * Installation:: How to configure, compile and install Octave. |
|
150 * Emacs:: |
|
151 * Grammar:: |
|
152 * Copying:: The GNU General Public License. |
|
153 * Concept Index:: An item for each concept. |
|
154 * Variable Index:: An item for each documented variable. |
|
155 * Function Index:: An item for each documented function. |
|
156 * Operator Index:: An item for each documented operator. |
|
157 |
|
158 |
|
159 @detailmenu |
|
160 --- The Detailed Node Listing --- |
|
161 |
|
162 Preface |
|
163 |
|
164 * Acknowledgements:: |
|
165 * How You Can Contribute to Octave:: |
|
166 * Distribution:: |
|
167 |
|
168 A Brief Introduction to Octave |
|
169 |
|
170 * Running Octave:: |
|
171 * Simple Examples:: |
|
172 * Conventions:: |
|
173 |
|
174 Conventions |
|
175 |
|
176 * Fonts:: |
|
177 * Evaluation Notation:: |
|
178 * Printing Notation:: |
|
179 * Error Messages:: |
|
180 * Format of Descriptions:: |
|
181 |
|
182 Format of Descriptions |
|
183 |
|
184 * A Sample Function Description:: |
|
185 * A Sample Command Description:: |
|
186 * A Sample Variable Description:: |
|
187 |
|
188 Getting Started |
|
189 |
|
190 * Invoking Octave:: |
|
191 * Quitting Octave:: |
|
192 * Getting Help:: |
|
193 * Command Line Editing:: |
|
194 * Errors:: |
|
195 * Executable Octave Programs:: |
|
196 * Comments:: |
|
197 |
|
198 Invoking Octave |
|
199 |
|
200 * Command Line Options:: |
|
201 * Startup Files:: |
|
202 |
|
203 Command Line Editing |
|
204 |
|
205 * Cursor Motion:: |
|
206 * Killing and Yanking:: |
|
207 * Commands For Text:: |
|
208 * Commands For Completion:: |
|
209 * Commands For History:: |
|
210 * Customizing the Prompt:: |
|
211 * Diary and Echo Commands:: |
|
212 |
|
213 Data Types |
|
214 |
|
215 * Built-in Data Types:: |
|
216 * User-defined Data Types:: |
|
217 * Object Sizes:: |
|
218 |
|
219 Built-in Data Types |
|
220 |
|
221 * Numeric Objects:: |
|
222 * String Objects:: |
|
223 * Data Structure Objects:: |
|
224 |
|
225 Numeric Data Types |
|
226 |
|
227 * Matrices:: |
|
228 * Ranges:: |
|
229 * Predicates for Numeric Objects:: |
|
230 |
|
231 Matrices |
|
232 |
|
233 * Empty Matrices:: |
|
234 |
|
235 Strings |
|
236 |
|
237 * Creating Strings:: |
|
238 * Searching and Replacing:: |
|
239 * String Conversions:: |
|
240 * Character Class Functions:: |
|
241 |
|
242 Variables |
|
243 |
|
244 * Global Variables:: |
|
245 * Status of Variables:: |
|
246 * Summary of Built-in Variables:: |
|
247 * Defaults from the Environment:: |
|
248 |
|
249 Expressions |
|
250 |
|
251 * Index Expressions:: |
|
252 * Calling Functions:: |
|
253 * Arithmetic Ops:: |
|
254 * Comparison Ops:: |
|
255 * Boolean Expressions:: |
|
256 * Assignment Ops:: |
|
257 * Increment Ops:: |
|
258 * Operator Precedence:: |
|
259 |
|
260 Calling Functions |
|
261 |
|
262 * Call by Value:: |
|
263 * Recursion:: |
|
264 |
|
265 Boolean Expressions |
|
266 |
|
267 * Element-by-element Boolean Operators:: |
|
268 * Short-circuit Boolean Operators:: |
|
269 |
|
270 Statements |
|
271 |
|
272 * The if Statement:: |
|
273 * The switch Statement:: |
|
274 * The while Statement:: |
|
275 * The for Statement:: |
|
276 * The break Statement:: |
|
277 * The continue Statement:: |
|
278 * The unwind_protect Statement:: |
|
279 * The try Statement:: |
|
280 * Continuation Lines:: |
|
281 |
|
282 The @code{for} Statement |
|
283 |
|
284 * Looping Over Structure Elements:: |
|
285 |
|
286 Functions and Script Files |
|
287 |
|
288 * Defining Functions:: |
|
289 * Multiple Return Values:: |
|
290 * Variable-length Argument Lists:: |
|
291 * Variable-length Return Lists:: |
|
292 * Returning From a Function:: |
|
293 * Function Files:: |
|
294 * Script Files:: |
|
295 * Dynamically Linked Functions:: |
|
296 * Organization of Functions:: |
|
297 |
|
298 Input and Output |
|
299 |
|
300 * Basic Input and Output:: |
|
301 * C-Style I/O Functions:: |
|
302 |
|
303 Basic Input and Output |
|
304 |
|
305 * Terminal Output:: |
|
306 * Terminal Input:: |
|
307 * Simple File I/O:: |
|
308 |
|
309 C-Style I/O Functions |
|
310 |
|
311 * Opening and Closing Files:: |
|
312 * Simple Output:: |
|
313 * Line-Oriented Input:: |
|
314 * Formatted Output:: |
|
315 * Output Conversion for Matrices:: |
|
316 * Output Conversion Syntax:: |
|
317 * Table of Output Conversions:: |
|
318 * Integer Conversions:: |
|
319 * Floating-Point Conversions:: Other Output Conversions:: |
|
320 * Other Output Conversions:: |
|
321 * Formatted Input:: |
|
322 * Input Conversion Syntax:: |
|
323 * Table of Input Conversions:: |
|
324 * Numeric Input Conversions:: |
|
325 * String Input Conversions:: |
|
326 * Binary I/O:: |
|
327 * Temporary Files:: |
|
328 * EOF and Errors:: |
|
329 * File Positioning:: |
|
330 |
|
331 Plotting |
|
332 |
|
333 * Two-Dimensional Plotting:: |
|
334 * Specialized Two-Dimensional Plots:: |
|
335 * Three-Dimensional Plotting:: |
|
336 * Plot Annotations:: |
|
337 * Multiple Plots on One Page:: |
|
338 |
|
339 Matrix Manipulation |
|
340 |
|
341 * Finding Elements and Checking Conditions:: |
|
342 * Rearranging Matrices:: |
|
343 * Special Utility Matrices:: |
|
344 * Famous Matrices:: |
|
345 |
|
346 Arithmetic |
|
347 |
|
348 * Utility Functions:: |
|
349 * Complex Arithmetic:: |
|
350 * Trigonometry:: |
|
351 * Sums and Products:: |
|
352 * Special Functions:: |
|
353 * Mathematical Constants:: |
|
354 |
|
355 Linear Algebra |
|
356 |
|
357 * Basic Matrix Functions:: |
|
358 * Matrix Factorizations:: |
|
359 * Functions of a Matrix:: |
|
360 |
|
361 Quadrature |
|
362 |
|
363 * Functions of One Variable:: |
|
364 * Orthogonal Collocation:: |
|
365 |
|
366 Differential Equations |
|
367 |
|
368 * Ordinary Differential Equations:: |
|
369 * Differential-Algebraic Equations:: |
|
370 |
|
371 Optimization |
|
372 |
|
373 * Quadratic Programming:: |
|
374 * Nonlinear Programming:: |
|
375 * Linear Least Squares:: |
|
376 |
|
377 Control Theory |
|
378 |
|
379 * sysstruct:: |
|
380 * sysinterface:: |
|
381 * sysdisp:: |
|
382 * blockdiag:: |
|
383 * numerical:: |
|
384 * sysprop:: |
|
385 * systime:: |
|
386 * sysfreq:: |
|
387 * cacsd:: |
|
388 * misc:: |
|
389 |
|
390 System Data Structure |
|
391 |
|
392 * sysstructvars:: |
|
393 * sysstructtf:: |
|
394 * sysstructzp:: |
|
395 * sysstructss:: |
|
396 |
|
397 System Construction and Interface Functions |
|
398 |
|
399 * fir2sys:: |
|
400 * ss2sys:: |
|
401 * tf2sys:: |
|
402 * zp2sys:: |
|
403 * structaccess:: |
|
404 * structintern:: |
|
405 |
|
406 System Utilities |
|
407 |
|
408 * Timing Utilities:: |
|
409 * Filesystem Utilities:: |
|
410 * Controlling Subprocesses:: |
|
411 * Process ID Information:: |
|
412 * Environment Variables:: |
|
413 * Current Working Directory:: |
|
414 * Password Database Functions:: |
|
415 * Group Database Functions:: |
|
416 * System Information:: |
|
417 |
|
418 Tips and Standards |
|
419 |
|
420 * Style Tips:: Writing clean and robust programs. |
|
421 * Coding Tips:: Making code run faster. |
|
422 * Documentation Tips:: Writing readable documentation strings. |
|
423 * Comment Tips:: Conventions for writing comments. |
|
424 * Function Headers:: Standard headers for functions. |
|
425 |
|
426 Known Causes of Trouble with Octave |
|
427 |
|
428 * Actual Bugs:: Bugs we will fix later. |
|
429 * Reporting Bugs:: |
|
430 * Bug Criteria:: |
|
431 * Bug Lists:: |
|
432 * Bug Reporting:: |
|
433 * Sending Patches:: |
|
434 * Service:: |
|
435 |
|
436 Reporting Bugs |
|
437 |
|
438 * Bug Criteria:: |
|
439 * Where: Bug Lists. Where to send your bug report. |
|
440 * Reporting: Bug Reporting. How to report a bug effectively. |
|
441 * Patches: Sending Patches. How to send a patch for Octave. |
|
442 |
|
443 Installing Octave |
|
444 |
|
445 * Installation Problems:: |
|
446 * Binary Distributions:: |
|
447 |
|
448 Binary Distributions |
|
449 |
|
450 * Installing Octave from a Binary Distribution:: |
|
451 * Creating a Binary Distribution:: |
|
452 |
|
453 Emacs Octave Support |
|
454 |
|
455 * Installing EOS:: |
|
456 * Using Octave Mode:: |
|
457 * Running Octave From Within Emacs:: |
|
458 * Using the Emacs Info Reader for Octave:: |
|
459 |
|
460 Grammar |
|
461 |
|
462 * Keywords:: |
|
463 |
|
464 @end detailmenu |
|
465 @end menu |
|
466 |
|
467 @include preface.texi |
|
468 @include intro.texi |
|
469 @include basics.texi |
|
470 @include data.texi |
|
471 @include numbers.texi |
|
472 @include strings.texi |
|
473 @include struct.texi |
|
474 @include var.texi |
|
475 @include expr.texi |
|
476 @include eval.texi |
|
477 @include stmt.texi |
|
478 @include func.texi |
|
479 @include errors.texi |
|
480 @include io.texi |
|
481 @include plot.texi |
|
482 @include matrix.texi |
|
483 @include arith.texi |
|
484 @include linalg.texi |
|
485 @include nonlin.texi |
|
486 @include quad.texi |
|
487 @include diffeq.texi |
|
488 @include optim.texi |
|
489 @include stats.texi |
|
490 @include set.texi |
|
491 @include poly.texi |
|
492 @include control.texi |
|
493 @include signal.texi |
|
494 @include image.texi |
|
495 @include audio.texi |
|
496 @include system.texi |
|
497 |
|
498 @c maybe add again later, if anyone every writes any really interesting |
|
499 @c fun stuff for Octave. |
|
500 @c |
|
501 @c @include amuse.texi |
|
502 |
|
503 @c Appendices start here. Installation and bugs have to go before the |
|
504 @c readline and Info appendices because we want to have separate indices |
|
505 @c for them, and there appears to be no way to go back to the original |
|
506 @c set of indices once a redirection has taken place. |
|
507 |
|
508 @include tips.texi |
|
509 @include bugs.texi |
|
510 @include install.texi |
|
511 @include emacs.texi |
|
512 @include grammar.texi |
|
513 @include gpl.texi |
|
514 |
|
515 @include cp-idx.texi |
|
516 @include vr-idx.texi |
|
517 @include fn-idx.texi |
|
518 @include op-idx.texi |
|
519 |
|
520 @contents |
|
521 |
|
522 @bye |