[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. Sparse Matrices  
23. Quadrature  
24. Differential Equations  
25. Optimization  
26. Statistics  
27. Financial Functions  
28. Sets  
29. Polynomial Manipulations  
30. Control Theory  
31. Signal Processing  
32. Image Processing  
33. Audio Processing  
34. Quaternions  
35. 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  
Sparse Matrices
22.1 The Creation and Manipulation of Sparse Matrices  
22.2 Graphs are their use with Sparse Matrices  
22.3 Linear Algebra on Sparse Matrices  
22.4 Iterative Techniques applied to sparse matrices  
22.5 Using Sparse Matrices in Oct-files  
22.6 Licensing of Third Party Software  
22.7 Function Reference  
Quadrature
23.1 Functions of One Variable  
23.2 Orthogonal Collocation  
Differential Equations
24.1 Ordinary Differential Equations  
24.2 Differential-Algebraic Equations  
Optimization
25.2 Quadratic Programming  
25.3 Nonlinear Programming  
25.4 Linear Least Squares  
Statistics
26.1 Basic Statistical Functions  
26.2 Tests  
26.3 Models  
26.4 Distributions  
Control Theory
30.1 System Data Structure  
30.2 System Construction and Interface Functions  
30.3 System display functions  
30.4 Block Diagram Manipulations  
30.5 Numerical Functions  
30.6 System Analysis-Properties  
30.7 System Analysis-Time Domain  
30.8 System Analysis-Frequency Domain  
30.9 Controller Design  
30.10 Miscellaneous Functions (Not yet properly filed/documented)  
System Data Structure
30.1.1 Variables common to all OCST system formats  
30.1.2 tf format variables  
30.1.3 zp format variables  
30.1.4 ss format variables  
System Construction and Interface Functions
30.2.1 Finite impulse response system interface functions  
30.2.2 State space system interface functions  
30.2.3 Transfer function system interface functions  
30.2.4 Zero-pole system interface functions  
30.2.5 Data structure access functions  
30.2.6 Data structure internal functions  
System Utilities
35.1 Timing Utilities  
35.2 Filesystem Utilities  
35.3 Controlling Subprocesses  
35.4 Process, Group, and User IDs  
35.5 Environment Variables  
35.6 Current Working Directory  
35.7 Password Database Functions  
35.8 Group Database Functions  
35.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, 27 2005 using texi2html