[Top] | [Contents] | [Index] | [ ? ]

# GNU Octave

This manual documents how to run, install and port GNU Octave, as well as its new features and incompatibilities, and how to report bugs. It corresponds to GNU Octave version 2.1.x.

Preface |  |
1. A Brief Introduction to Octave |  | A brief introduction to Octave.
2. Getting Started |  |
3. Data Types |  |
4. Numeric Data Types |  |
5. Strings |  |
6. Data Structures |  |
7. Containers |  |
8. I/O Streams |  |
9. Variables |  |
10. Expressions |  |
11. Evaluation |  |
12. Statements |  | Looping and program flow control.
13. Functions and Script Files |  |
14. Error Handling |  |
15. Debugging |  |
16. Input and Output |  |
17. Plotting |  |
18. Matrix Manipulation |  |
19. Arithmetic |  |
20. Linear Algebra |  |
21. Nonlinear Equations |  |
22. Quadrature |  |
23. Differential Equations |  |
24. Optimization |  |
25. Statistics |  |
26. Financial Functions |  |
27. Sets |  |
28. Polynomial Manipulations |  |
29. Control Theory |  |
30. Signal Processing |  |
31. Image Processing |  |
32. Audio Processing |  |
33. Quaternions |  |
34. System Utilities |  |
A. Tips and Standards |  |
B. Known Causes of Trouble |  | If you have trouble installing Octave.
C. Installing Octave |  | How to configure, compile and install Octave.
D. Emacs Octave Support |  |
E. Grammar |  |
F. GNU GENERAL PUBLIC LICENSE |  | The GNU General Public License.
Concept Index |  | An item for each concept.
Variable Index |  | An item for each documented variable.
Function Index |  | An item for each documented function.
Operator Index |  | An item for each documented operator.
-- The Detailed Node Listing ---
Preface
Acknowledgements |  |
How You Can Contribute to Octave |  |
Distribution |  |
A Brief Introduction to Octave
1.1 Running Octave |  |
1.2 Simple Examples |  |
1.3 Conventions |  |
Conventions
1.3.1 Fonts |  |
1.3.2 Evaluation Notation |  |
1.3.3 Printing Notation |  |
1.3.4 Error Messages |  |
1.3.5 Format of Descriptions |  |
Format of Descriptions
1.3.5.1 A Sample Function Description |  |
1.3.5.2 A Sample Command Description |  |
1.3.5.3 A Sample Variable Description |  |
Getting Started
2.1 Invoking Octave |  |
2.2 Quitting Octave |  |
2.3 Commands for Getting Help |  |
2.4 Command Line Editing |  |
2.5 How Octave Reports Errors |  |
2.6 Executable Octave Programs |  |
2.7 Comments in Octave Programs |  |
Invoking Octave
2.1.1 Command Line Options |  |
2.1.2 Startup Files |  |
Command Line Editing
2.4.1 Cursor Motion |  |
2.4.2 Killing and Yanking |  |
2.4.3 Commands For Changing Text |  |
2.4.4 Letting Readline Type For You |  |
2.4.5 Commands For Manipulating The History |  |
2.4.6 Customizing `readline` |  |
2.4.7 Customizing the Prompt |  |
2.4.8 Diary and Echo Commands |  |
Data Types
3.1 Built-in Data Types |  |
3.2 User-defined Data Types |  |
3.3 Object Sizes |  |
Built-in Data Types
3.1.1 Numeric Objects |  |
3.1.3 String Objects |  |
3.1.4 Data Structure Objects |  |
Numeric Data Types
4.1 Matrices |  |
4.2 Ranges |  |
4.3 Logical Values |  |
4.4 Predicates for Numeric Objects |  |
Matrices
4.1.1 Empty Matrices |  |
Strings
5.1 Creating Strings |  |
5.2 Searching and Replacing |  |
5.3 String Conversions |  |
5.4 Character Class Functions |  |
Containers
7.1 Lists |  |
7.2 Cell Arrays |  |
Variables
9.1 Global Variables |  |
9.3 Status of Variables |  |
9.4 Summary of Built-in Variables |  |
9.5 Defaults from the Environment |  |
Expressions
10.1 Index Expressions |  |
10.2 Calling Functions |  |
10.3 Arithmetic Operators |  |
10.4 Comparison Operators |  |
10.5 Boolean Expressions |  |
10.6 Assignment Expressions |  |
10.7 Increment Operators |  |
10.8 Operator Precedence |  |
Calling Functions
10.2.1 Call by Value |  |
10.2.2 Recursion |  |
Boolean Expressions
10.5.1 Element-by-element Boolean Operators |  |
10.5.2 Short-circuit Boolean Operators |  |
Statements
12.1 The `if` Statement |  |
12.2 The `switch` Statement |  |
12.3 The `while` Statement |  |
12.4 The `do-until` Statement |  |
12.5 The `for` Statement |  |
12.6 The `break` Statement |  |
12.7 The `continue` Statement |  |
12.8 The `unwind_protect` Statement |  |
12.9 The `try` Statement |  |
12.10 Continuation Lines |  |
The `for` Statement
12.5.1 Looping Over Structure Elements |  |
Functions and Script Files
13.1 Defining Functions |  |
13.2 Multiple Return Values |  |
13.3 Variable-length Argument Lists |  |
13.4 Variable-length Return Lists |  |
13.5 Returning From a Function |  |
13.6 Function Files |  |
13.7 Script Files |  |
13.8 Dynamically Linked Functions |  |
13.10 Organization of Functions Distributed with Octave |  |
Error Handling
Debugging
Input and Output
16.1 Basic Input and Output |  |
16.2 C-Style I/O Functions |  |
Basic Input and Output
16.1.1 Terminal Output |  |
16.1.2 Terminal Input |  |
16.1.3 Simple File I/O |  |
C-Style I/O Functions
16.2.1 Opening and Closing Files |  |
16.2.2 Simple Output |  |
16.2.3 Line-Oriented Input |  |
16.2.4 Formatted Output |  |
16.2.5 Output Conversion for Matrices |  |
16.2.6 Output Conversion Syntax |  |
16.2.7 Table of Output Conversions |  |
16.2.8 Integer Conversions |  |
16.2.9 Floating-Point Conversions |  | Other Output Conversions::
16.2.10 Other Output Conversions |  |
16.2.11 Formatted Input |  |
16.2.12 Input Conversion Syntax |  |
16.2.13 Table of Input Conversions |  |
16.2.14 Numeric Input Conversions |  |
16.2.15 String Input Conversions |  |
16.2.16 Binary I/O |  |
16.2.17 Temporary Files |  |
16.2.18 End of File and Errors |  |
16.2.19 File Positioning |  |
Plotting
17.1 Two-Dimensional Plotting |  |
17.2 Specialized Two-Dimensional Plots |  |
17.3 Three-Dimensional Plotting |  |
17.4 Plot Annotations |  |
17.5 Multiple Plots on One Page |  |
17.6 Multiple Plot Windows |  |
17.8 Interaction with `gnuplot` |  |
Matrix Manipulation
18.1 Finding Elements and Checking Conditions |  |
18.2 Rearranging Matrices |  |
18.3 Special Utility Matrices |  |
18.4 Famous Matrices |  |
Arithmetic
19.1 Utility Functions |  |
19.2 Complex Arithmetic |  |
19.3 Trigonometry |  |
19.4 Sums and Products |  |
19.5 Special Functions |  |
19.7 Mathematical Constants |  |
Linear Algebra
20.1 Basic Matrix Functions |  |
20.2 Matrix Factorizations |  |
20.3 Functions of a Matrix |  |
Quadrature
22.1 Functions of One Variable |  |
22.2 Orthogonal Collocation |  |
Differential Equations
23.1 Ordinary Differential Equations |  |
23.2 Differential-Algebraic Equations |  |
Optimization
24.2 Quadratic Programming |  |
24.3 Nonlinear Programming |  |
24.4 Linear Least Squares |  |
Statistics
25.1 Basic Statistical Functions |  |
25.2 Tests |  |
25.3 Models |  |
25.4 Distributions |  |
Control Theory
29.1 System Data Structure |  |
29.2 System Construction and Interface Functions |  |
29.3 System display functions |  |
29.4 Block Diagram Manipulations |  |
29.5 Numerical Functions |  |
29.6 System Analysis-Properties |  |
29.7 System Analysis-Time Domain |  |
29.8 System Analysis-Frequency Domain |  |
29.9 Controller Design |  |
29.10 Miscellaneous Functions (Not yet properly filed/documented) |  |
System Data Structure
29.1.1 Variables common to all OCST system formats |  |
29.1.2 `tf` format variables |  |
29.1.3 `zp` format variables |  |
29.1.4 `ss` format variables |  |
System Construction and Interface Functions
29.2.1 Finite impulse response system interface functions |  |
29.2.2 State space system interface functions |  |
29.2.3 Transfer function system interface functions |  |
29.2.4 Zero-pole system interface functions |  |
29.2.5 Data structure access functions |  |
29.2.6 Data structure internal functions |  |
System Utilities
34.1 Timing Utilities |  |
34.2 Filesystem Utilities |  |
34.3 Controlling Subprocesses |  |
34.4 Process, Group, and User IDs |  |
34.5 Environment Variables |  |
34.6 Current Working Directory |  |
34.7 Password Database Functions |  |
34.8 Group Database Functions |  |
34.9 System Information |  |
Tips and Standards
A.1 Writing Clean Octave Programs |  | Writing clean and robust programs.
A.2 Tips for Making Code Run Faster. |  | Making code run faster.
A.3 Tips for Documentation Strings |  | Writing readable documentation strings.
A.4 Tips on Writing Comments |  | Conventions for writing comments.
A.5 Conventional Headers for Octave Functions |  | Standard headers for functions.
Known Causes of Trouble with Octave
B.1 Actual Bugs We Haven't Fixed Yet |  | Bugs we will fix later.
B.2 Reporting Bugs |  |
B.3 Have You Found a Bug? |  |
B.4 Where to Report Bugs |  |
B.5 How to Report Bugs |  |
B.6 Sending Patches for Octave |  |
B.7 How To Get Help with Octave |  |
Reporting Bugs
B.3 Have You Found a Bug? |  |
B.4 Where to Report Bugs |  | Where to send your bug report.
B.5 How to Report Bugs |  | How to report a bug effectively.
B.6 Sending Patches for Octave |  | How to send a patch for Octave.
Installing Octave
C.1 Installation Problems |  |
Emacs Octave Support
D.1 Installing EOS |  |
D.2 Using Octave Mode |  |
D.3 Running Octave From Within Emacs |  |
D.4 Using the Emacs Info Reader for Octave |  |
Grammar
E.1 Keywords |  |

This document was generated by John W. Eaton on March, 28 2005 using texi2html