Mercurial > hg > octave-thorsten
annotate doc/interpreter/octave.texi @ 7984:bbaa5d7d0143
Some documentation updates
author | David Bateman <dbateman@free.fr> |
---|---|
date | Mon, 28 Jul 2008 15:47:40 +0200 |
parents | 6b521b1e3631 |
children | 21904fe299c8 |
rev | line source |
---|---|
7018 | 1 % Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006, |
2 % 2007 John W. Eaton | |
3 % | |
4 % This file is part of Octave. | |
5 % | |
6 % Octave is free software; you can redistribute it and/or modify it | |
7 % under the terms of the GNU General Public License as published by the | |
8 % Free Software Foundation; either version 3 of the License, or (at | |
9 % your option) any later version. | |
10 % | |
11 % Octave is distributed in the hope that it will be useful, but WITHOUT | |
12 % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 % FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 % for more details. | |
15 % | |
16 % You should have received a copy of the GNU General Public License | |
17 % along with Octave; see the file COPYING. If not, see | |
18 % <http://www.gnu.org/licenses/>. | |
3403 | 19 |
20 \input texinfo | |
21 @setfilename octave.info | |
22 | |
3405 | 23 @c The following macro is used for the on-line help system, but we don't |
24 @c want lots of `See also: foo, bar, and baz' strings cluttering the | |
25 @c printed manual (that information should be in the supporting text for | |
3406 | 26 @c each group of functions and variables). |
3405 | 27 |
28 @macro seealso {args} | |
6620 | 29 @iftex |
30 @vskip 2pt | |
31 @end iftex | |
32 @ifnottex | |
5642 | 33 @sp 1 |
6620 | 34 @end ifnottex |
5642 | 35 @noindent |
6620 | 36 @strong{See also:} \args\. |
3405 | 37 @end macro |
38 | |
3403 | 39 @ifinfo |
40 @format | |
41 START-INFO-DIR-ENTRY | |
42 * Octave: (octave). Interactive language for numerical computations. | |
43 END-INFO-DIR-ENTRY | |
44 @end format | |
45 @end ifinfo | |
46 | |
47 @c Settings for printing on 8-1/2 by 11 inch paper: | |
48 @c ----------------------------------------------- | |
49 | |
50 @setchapternewpage odd | |
51 | |
52 @c Settings for small book format: | |
53 @c ------------------------------ | |
54 | |
55 @ignore | |
56 @smallbook | |
57 @setchapternewpage odd | |
58 @finalout | |
59 @iftex | |
60 @cropmarks | |
61 @end iftex | |
62 @end ignore | |
63 | |
64 @defindex op | |
65 | |
3453 | 66 @c Things like the Octave version number are defined in conf.texi. |
3403 | 67 @c This file doesn't include a chapter, so it must not be included |
68 @c if you want to run the Emacs function texinfo-multiple-files-update. | |
69 | |
70 @include conf.texi | |
71 | |
72 @settitle GNU Octave | |
73 | |
5423 | 74 @ifnottex |
3403 | 75 |
7018 | 76 Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006, |
77 2007 John W. Eaton. | |
3403 | 78 |
79 Permission is granted to make and distribute verbatim copies of | |
80 this manual provided the copyright notice and this permission notice | |
81 are preserved on all copies. | |
82 | |
83 @ignore | |
84 Permission is granted to process this file through Tex and print the | |
85 results, provided the printed document carries copying permission | |
86 notice identical to this one except for the removal of this paragraph | |
87 (this paragraph not being relevant to the printed manual). | |
88 | |
89 @end ignore | |
90 Permission is granted to copy and distribute modified versions of | |
91 this manual under the conditions for verbatim copying, provided that | |
92 the entire resulting derived work is distributed under the terms of | |
93 a permission notice identical to this one. | |
94 | |
95 Permission is granted to copy and distribute translations of this | |
96 manual into another language, under the above conditions for | |
97 modified versions. | |
5423 | 98 @end ifnottex |
3403 | 99 |
100 @titlepage | |
101 @title GNU Octave | |
102 @subtitle A high-level interactive language for numerical computations | |
103 @subtitle Edition 3 for Octave version @value{VERSION} | |
6778 | 104 @subtitle July 2007 |
3403 | 105 @author John W. Eaton |
6966 | 106 @author David Bateman |
107 @author S@o{}ren Hauberg | |
3403 | 108 @page |
109 @vskip 0pt plus 1filll | |
7018 | 110 Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006, |
111 2007 John W. Eaton. | |
3403 | 112 |
113 This is the third edition of the Octave documentation, and is consistent | |
114 with version @value{VERSION} of Octave. | |
115 | |
116 Permission is granted to make and distribute verbatim copies of | |
117 this manual provided the copyright notice and this permission notice | |
118 are preserved on all copies. | |
119 | |
120 Permission is granted to copy and distribute modified versions of this | |
121 manual under the conditions for verbatim copying, provided that the entire | |
122 resulting derived work is distributed under the terms of a permission | |
123 notice identical to this one. | |
124 | |
125 Permission is granted to copy and distribute translations of this manual | |
126 into another language, under the same conditions as for modified versions. | |
127 | |
128 Portions of this document have been adapted from the @code{gawk}, | |
129 @code{readline}, @code{gcc}, and C library manuals, published by the Free | |
5307 | 130 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
131 02110-1301--1307, USA. | |
3403 | 132 @end titlepage |
133 | |
3606 | 134 @contents |
135 | |
5423 | 136 @ifnottex |
4167 | 137 @node Top |
3403 | 138 @top |
139 | |
140 This manual documents how to run, install and port GNU Octave, as well | |
141 as its new features and incompatibilities, and how to report bugs. | |
142 It corresponds to GNU Octave version @value{VERSION}. | |
5423 | 143 @end ifnottex |
3403 | 144 |
5424 | 145 @c ------------------------------------------------------------------------ |
146 | |
3403 | 147 @menu |
148 * Preface:: | |
149 * Introduction:: A brief introduction to Octave. | |
150 * Getting Started:: | |
151 * Data Types:: | |
152 * Numeric Data Types:: | |
153 * Strings:: | |
6837 | 154 * Data Containers:: |
3403 | 155 * Variables:: |
156 * Expressions:: Expressions. | |
157 * Evaluation:: | |
158 * Statements:: Looping and program flow control. | |
159 * Functions and Scripts:: | |
6667 | 160 * Errors and Warnings:: |
4178 | 161 * Debugging:: |
3403 | 162 * Input and Output:: |
163 * Plotting:: | |
164 * Matrix Manipulation:: | |
165 * Arithmetic:: | |
166 * Linear Algebra:: | |
167 * Nonlinear Equations:: | |
5164 | 168 * Sparse Matrices:: |
6741 | 169 * Numerical Integration:: |
3403 | 170 * Differential Equations:: |
171 * Optimization:: | |
172 * Statistics:: | |
3439 | 173 * Financial Functions:: |
3403 | 174 * Sets:: |
175 * Polynomial Manipulations:: | |
6549 | 176 * Interpolation:: |
6558 | 177 * Geometry:: |
3403 | 178 * Control Theory:: |
179 * Signal Processing:: | |
180 * Image Processing:: | |
181 * Audio Processing:: | |
3452 | 182 * Quaternions:: |
3403 | 183 * System Utilities:: |
6570 | 184 * Packages:: |
185 * Dynamically Linked Functions:: | |
5582 | 186 * Test and Demo Functions:: |
3403 | 187 * Tips:: |
188 * Trouble:: If you have trouble installing Octave. | |
189 * Installation:: How to configure, compile and install Octave. | |
190 * Emacs:: | |
6623 | 191 @c * Grammar:: |
3403 | 192 * Copying:: The GNU General Public License. |
193 * Concept Index:: An item for each concept. | |
194 * Variable Index:: An item for each documented variable. | |
195 * Function Index:: An item for each documented function. | |
196 * Operator Index:: An item for each documented operator. | |
197 | |
198 @detailmenu | |
199 --- The Detailed Node Listing --- | |
200 | |
201 Preface | |
202 | |
3453 | 203 * Acknowledgements:: |
204 * How You Can Contribute to Octave:: | |
205 * Distribution:: | |
206 | |
207 A Brief Introduction to Octave | |
208 | |
209 * Running Octave:: | |
210 * Simple Examples:: | |
211 * Conventions:: | |
212 | |
213 Conventions | |
214 | |
215 * Fonts:: | |
216 * Evaluation Notation:: | |
217 * Printing Notation:: | |
218 * Error Messages:: | |
219 * Format of Descriptions:: | |
220 | |
221 Format of Descriptions | |
222 | |
223 * A Sample Function Description:: | |
224 * A Sample Command Description:: | |
225 * A Sample Variable Description:: | |
226 | |
227 Getting Started | |
228 | |
6620 | 229 * Invoking Octave from the Command Line:: |
3453 | 230 * Quitting Octave:: |
231 * Getting Help:: | |
232 * Command Line Editing:: | |
233 * Errors:: | |
234 * Executable Octave Programs:: | |
235 * Comments:: | |
236 | |
6620 | 237 Invoking Octave from the Command Line |
3453 | 238 |
239 * Command Line Options:: | |
240 * Startup Files:: | |
241 | |
242 Command Line Editing | |
243 | |
244 * Cursor Motion:: | |
245 * Killing and Yanking:: | |
246 * Commands For Text:: | |
247 * Commands For Completion:: | |
248 * Commands For History:: | |
249 * Customizing readline:: | |
250 * Customizing the Prompt:: | |
251 * Diary and Echo Commands:: | |
252 | |
253 Data Types | |
254 | |
255 * Built-in Data Types:: | |
256 * User-defined Data Types:: | |
257 * Object Sizes:: | |
258 | |
259 Built-in Data Types | |
260 | |
261 * Numeric Objects:: | |
262 * String Objects:: | |
263 * Data Structure Objects:: | |
264 | |
265 Numeric Data Types | |
266 | |
7984
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7787
diff
changeset
|
267 * Matrices:: |
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7787
diff
changeset
|
268 * Ranges:: |
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7787
diff
changeset
|
269 * Single Precision Data Types:: |
6549 | 270 * Integer Data Types:: |
6781 | 271 * Bit Manipulations:: |
7984
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7787
diff
changeset
|
272 * Logical Values:: |
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7787
diff
changeset
|
273 * Promotion and Demotion of Data Types:: |
3453 | 274 * Predicates for Numeric Objects:: |
275 | |
276 Matrices | |
277 | |
278 * Empty Matrices:: | |
279 | |
280 Strings | |
281 | |
282 * Creating Strings:: | |
6623 | 283 * Comparing Strings:: |
284 * Manipulating Strings:: | |
3453 | 285 * String Conversions:: |
286 * Character Class Functions:: | |
287 | |
6837 | 288 Data Containers |
3453 | 289 |
6837 | 290 * Data Structures:: |
291 * Cell Arrays:: | |
292 * Comma Separated Lists:: | |
3453 | 293 |
294 Variables | |
295 | |
296 * Global Variables:: | |
297 * Status of Variables:: | |
298 * Summary of Built-in Variables:: | |
299 * Defaults from the Environment:: | |
300 | |
301 Expressions | |
302 | |
303 * Index Expressions:: | |
304 * Calling Functions:: | |
305 * Arithmetic Ops:: | |
306 * Comparison Ops:: | |
307 * Boolean Expressions:: | |
308 * Assignment Ops:: | |
309 * Increment Ops:: | |
310 * Operator Precedence:: | |
311 | |
312 Calling Functions | |
313 | |
314 * Call by Value:: | |
315 * Recursion:: | |
316 | |
317 Boolean Expressions | |
318 | |
319 * Element-by-element Boolean Operators:: | |
320 * Short-circuit Boolean Operators:: | |
321 | |
322 Statements | |
323 | |
324 * The if Statement:: | |
325 * The switch Statement:: | |
326 * The while Statement:: | |
3489 | 327 * The do-until Statement:: |
3453 | 328 * The for Statement:: |
329 * The break Statement:: | |
330 * The continue Statement:: | |
331 * The unwind_protect Statement:: | |
332 * The try Statement:: | |
333 * Continuation Lines:: | |
334 | |
335 The @code{for} Statement | |
336 | |
337 * Looping Over Structure Elements:: | |
338 | |
339 Functions and Script Files | |
340 | |
341 * Defining Functions:: | |
342 * Multiple Return Values:: | |
343 * Variable-length Argument Lists:: | |
344 * Variable-length Return Lists:: | |
345 * Returning From a Function:: | |
346 * Function Files:: | |
347 * Script Files:: | |
348 * Organization of Functions:: | |
349 | |
6667 | 350 Errors and Warnings |
351 | |
352 * Handling Errors:: | |
353 * Handling Warnings:: | |
4178 | 354 |
355 Debugging | |
356 | |
6646 | 357 * Entering Debug Mode:: |
7787
6b521b1e3631
Add dbquit and make dbstep compatible. Use parser in debug mode to handle multi-line input
David Bateman <dbateman@free.fr>
parents:
7018
diff
changeset
|
358 * Leaving Debug Mode:: |
6646 | 359 * Breakpoints:: |
360 * Debug Mode:: | |
7787
6b521b1e3631
Add dbquit and make dbstep compatible. Use parser in debug mode to handle multi-line input
David Bateman <dbateman@free.fr>
parents:
7018
diff
changeset
|
361 * Call Stack:: |
6646 | 362 |
3453 | 363 Input and Output |
364 | |
365 * Basic Input and Output:: | |
366 * C-Style I/O Functions:: | |
367 | |
368 Basic Input and Output | |
369 | |
370 * Terminal Output:: | |
371 * Terminal Input:: | |
372 * Simple File I/O:: | |
373 | |
374 C-Style I/O Functions | |
375 | |
376 * Opening and Closing Files:: | |
377 * Simple Output:: | |
378 * Line-Oriented Input:: | |
379 * Formatted Output:: | |
380 * Output Conversion for Matrices:: | |
381 * Output Conversion Syntax:: | |
382 * Table of Output Conversions:: | |
383 * Integer Conversions:: | |
6554 | 384 * Floating-Point Conversions:: |
3453 | 385 * Other Output Conversions:: |
386 * Formatted Input:: | |
387 * Input Conversion Syntax:: | |
388 * Table of Input Conversions:: | |
389 * Numeric Input Conversions:: | |
390 * String Input Conversions:: | |
391 * Binary I/O:: | |
392 * Temporary Files:: | |
393 * EOF and Errors:: | |
394 * File Positioning:: | |
395 | |
396 Plotting | |
397 | |
6888 | 398 * Plotting Basics:: |
399 * Advanced Plotting:: | |
3453 | 400 |
401 Matrix Manipulation | |
402 | |
403 * Finding Elements and Checking Conditions:: | |
404 * Rearranging Matrices:: | |
6550 | 405 * Applying a Function to an Array:: |
3453 | 406 * Special Utility Matrices:: |
407 * Famous Matrices:: | |
408 | |
409 Arithmetic | |
410 | |
411 * Utility Functions:: | |
412 * Complex Arithmetic:: | |
413 * Trigonometry:: | |
414 * Sums and Products:: | |
415 * Special Functions:: | |
416 * Mathematical Constants:: | |
417 | |
418 Linear Algebra | |
419 | |
6531 | 420 * Techniques used for Linear Algebra:: |
3453 | 421 * Basic Matrix Functions:: |
422 * Matrix Factorizations:: | |
423 * Functions of a Matrix:: | |
424 | |
5164 | 425 Sparse Matrices |
426 | |
427 * Basics:: | |
428 * Sparse Linear Algebra:: | |
429 * Iterative Techniques:: | |
5648 | 430 * Real Life Example:: |
5164 | 431 |
6741 | 432 Numerical Integration |
3453 | 433 |
434 * Functions of One Variable:: | |
435 * Orthogonal Collocation:: | |
6741 | 436 * Functions of Multiple Variables:: |
3453 | 437 |
438 Differential Equations | |
439 | |
440 * Ordinary Differential Equations:: | |
441 * Differential-Algebraic Equations:: | |
442 | |
443 Optimization | |
444 | |
445 * Quadratic Programming:: | |
446 * Nonlinear Programming:: | |
447 * Linear Least Squares:: | |
448 | |
449 Statistics | |
450 | |
6754 | 451 * Descriptive Statistics:: |
452 * Basic Statistical Functions:: | |
453 * Statistical Plots:: | |
3489 | 454 * Tests:: |
3453 | 455 * Models:: |
6754 | 456 * Distributions:: |
457 * Random Number Generation:: | |
3453 | 458 |
6741 | 459 Sets |
460 | |
461 * Set Operations:: | |
462 | |
6850 | 463 Polynomial Manipulations |
464 | |
465 * Evaluating Polynomials:: | |
466 * Finding Roots:: | |
467 * Products of Polynomials:: | |
468 * Derivatives and Integrals:: | |
469 * Polynomial Interpolation:: | |
470 * Miscellaneous Functions:: | |
471 | |
6702 | 472 Interpolation |
6823 | 473 |
6702 | 474 * One-dimensional Interpolation:: |
475 * Multi-dimensional Interpolation:: | |
6570 | 476 |
6823 | 477 Geometry |
478 | |
479 * Delaunay Triangulation:: | |
480 * Voronoi Diagrams:: | |
481 * Convex Hull:: | |
482 * Interpolation on Scattered Data:: | |
483 | |
3453 | 484 Control Theory |
485 | |
486 * sysstruct:: | |
487 * sysinterface:: | |
488 * sysdisp:: | |
489 * blockdiag:: | |
490 * numerical:: | |
491 * sysprop:: | |
492 * systime:: | |
493 * sysfreq:: | |
494 * cacsd:: | |
495 * misc:: | |
496 | |
497 System Data Structure | |
498 | |
499 * sysstructvars:: | |
500 * sysstructtf:: | |
501 * sysstructzp:: | |
502 * sysstructss:: | |
503 | |
504 System Construction and Interface Functions | |
505 | |
506 * fir2sys:: | |
507 * ss2sys:: | |
508 * tf2sys:: | |
509 * zp2sys:: | |
510 * structaccess:: | |
511 | |
6535 | 512 Image Processing |
513 | |
514 * Loading and Saving Images:: | |
515 * Displaying Images:: | |
516 * Representing Images:: | |
517 * Plotting on top of Images:: | |
518 * Color Conversion:: | |
519 | |
3453 | 520 System Utilities |
521 | |
522 * Timing Utilities:: | |
523 * Filesystem Utilities:: | |
6549 | 524 * File Archiving Utilities:: |
525 * Networking Utilities:: | |
3453 | 526 * Controlling Subprocesses:: |
527 * Process ID Information:: | |
528 * Environment Variables:: | |
529 * Current Working Directory:: | |
530 * Password Database Functions:: | |
531 * Group Database Functions:: | |
532 * System Information:: | |
6702 | 533 * Hashing Functions:: |
3453 | 534 |
6537 | 535 Packages |
536 | |
537 * Installing and Removing Packages:: | |
538 * Using Packages:: | |
539 * Administrating Packages:: | |
540 * Creating Packages:: | |
541 * The DESCRIPTION File:: | |
542 * The INDEX file:: | |
543 * PKG_ADD and PKG_DEL directives:: | |
544 | |
6570 | 545 Dynamically Linked Functions |
546 | |
547 * Oct-Files:: | |
548 * Mex-Files:: | |
549 * Standalone Programs:: | |
550 | |
5582 | 551 Test and Demo Functions |
552 | |
553 * Test Functions:: | |
554 * Demonstration Functions:: | |
555 | |
3453 | 556 Tips and Standards |
557 | |
558 * Style Tips:: Writing clean and robust programs. | |
559 * Coding Tips:: Making code run faster. | |
560 * Documentation Tips:: Writing readable documentation strings. | |
561 * Comment Tips:: Conventions for writing comments. | |
562 * Function Headers:: Standard headers for functions. | |
563 | |
564 Known Causes of Trouble with Octave | |
565 | |
566 * Actual Bugs:: Bugs we will fix later. | |
567 * Reporting Bugs:: | |
568 * Bug Criteria:: | |
569 * Bug Lists:: | |
570 * Bug Reporting:: | |
571 * Sending Patches:: | |
572 * Service:: | |
573 | |
574 Reporting Bugs | |
575 | |
576 * Bug Criteria:: | |
577 * Where: Bug Lists. Where to send your bug report. | |
578 * Reporting: Bug Reporting. How to report a bug effectively. | |
579 * Patches: Sending Patches. How to send a patch for Octave. | |
580 | |
581 Installing Octave | |
582 | |
583 * Installation Problems:: | |
584 | |
585 Emacs Octave Support | |
586 | |
587 * Installing EOS:: | |
588 * Using Octave Mode:: | |
589 * Running Octave From Within Emacs:: | |
590 * Using the Emacs Info Reader for Octave:: | |
591 | |
6623 | 592 @c Grammar |
6624 | 593 @c |
594 @c * Keywords:: | |
3453 | 595 |
596 @end detailmenu | |
3403 | 597 @end menu |
598 | |
5424 | 599 @c ------------------------------------------------------------------------ |
600 | |
3403 | 601 @include preface.texi |
602 @include intro.texi | |
603 @include basics.texi | |
604 @include data.texi | |
605 @include numbers.texi | |
606 @include strings.texi | |
3439 | 607 @include container.texi |
3403 | 608 @include var.texi |
609 @include expr.texi | |
610 @include eval.texi | |
611 @include stmt.texi | |
612 @include func.texi | |
613 @include errors.texi | |
4167 | 614 @include debug.texi |
3403 | 615 @include io.texi |
616 @include plot.texi | |
617 @include matrix.texi | |
618 @include arith.texi | |
619 @include linalg.texi | |
620 @include nonlin.texi | |
5164 | 621 @include sparse.texi |
3403 | 622 @include quad.texi |
623 @include diffeq.texi | |
624 @include optim.texi | |
625 @include stats.texi | |
3439 | 626 @include finance.texi |
3403 | 627 @include set.texi |
628 @include poly.texi | |
6549 | 629 @include interp.texi |
6558 | 630 @include geometry.texi |
3403 | 631 @include control.texi |
632 @include signal.texi | |
633 @include image.texi | |
634 @include audio.texi | |
3452 | 635 @include quaternion.texi |
3403 | 636 @include system.texi |
6537 | 637 @include package.texi |
3403 | 638 |
639 @c maybe add again later, if anyone every writes any really interesting | |
640 @c fun stuff for Octave. | |
641 @c | |
642 @c @include amuse.texi | |
643 | |
644 @c Appendices start here. Installation and bugs have to go before the | |
645 @c readline and Info appendices because we want to have separate indices | |
646 @c for them, and there appears to be no way to go back to the original | |
647 @c set of indices once a redirection has taken place. | |
648 | |
6570 | 649 @include dynamic.texi |
5582 | 650 @include testfun.texi |
3403 | 651 @include tips.texi |
652 @include bugs.texi | |
653 @include install.texi | |
654 @include emacs.texi | |
6618 | 655 @c @include grammar.texi |
3403 | 656 @include gpl.texi |
657 | |
658 @include cp-idx.texi | |
659 @include vr-idx.texi | |
660 @include fn-idx.texi | |
661 @include op-idx.texi | |
662 | |
663 @bye |