Table of Contents
Preface
Acknowledgements
How You Can Contribute to Octave
Distribution
1. A Brief Introduction to Octave
1.1 Running Octave
1.2 Simple Examples
Creating a Matrix
Matrix Arithmetic
Solving Linear Equations
Integrating Differential Equations
Producing Graphical Output
Editing What You Have Typed
Help and Documentation
1.3 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
1.3.5.1 A Sample Function Description
1.3.5.2 A Sample Command Description
1.3.5.3 A Sample Variable Description
2. Getting Started
2.1 Invoking Octave
2.1.1 Command Line Options
2.1.2 Startup Files
2.2 Quitting Octave
2.3 Commands for Getting Help
2.4 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
2.5 How Octave Reports Errors
2.6 Executable Octave Programs
2.7 Comments in Octave Programs
3. Data Types
3.1 Built-in Data Types
3.1.1 Numeric Objects
3.1.2 Missing Data
3.1.3 String Objects
3.1.4 Data Structure Objects
3.2 User-defined Data Types
3.3 Object Sizes
4. Numeric Data Types
4.1 Matrices
4.1.1 Empty Matrices
4.2 Ranges
4.3 Logical Values
4.4 Predicates for Numeric Objects
5. Strings
5.1 Creating Strings
5.2 Searching and Replacing
5.3 String Conversions
5.4 Character Class Functions
6. Data Structures
7. Containers
7.1 Lists
7.2 Cell Arrays
8. I/O Streams
9. Variables
9.1 Global Variables
9.2 Persistent Variables
9.3 Status of Variables
9.4 Summary of Built-in Variables
9.5 Defaults from the Environment
10. Expressions
10.1 Index Expressions
10.2 Calling Functions
10.2.1 Call by Value
10.2.2 Recursion
10.3 Arithmetic Operators
10.4 Comparison Operators
10.5 Boolean Expressions
10.5.1 Element-by-element Boolean Operators
10.5.2 Short-circuit Boolean Operators
10.6 Assignment Expressions
10.7 Increment Operators
10.8 Operator Precedence
11. Evaluation
12. 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.5.1 Looping Over Structure Elements
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
13. 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.9 Function Handles and Inline
13.9.1 Function Handles
13.9.2 Inline Functions
13.10 Organization of Functions Distributed with Octave
14. Error Handling
15. Debugging
16. Input and Output
16.1 Basic Input and Output
16.1.1 Terminal Output
16.1.2 Terminal Input
16.1.3 Simple File I/O
16.2 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
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
17. 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.7 Low-Level plotting commands
17.8 Interaction with gnuplot
18. Matrix Manipulation
18.1 Finding Elements and Checking Conditions
18.2 Rearranging Matrices
18.3 Special Utility Matrices
18.4 Famous Matrices
19. Arithmetic
19.1 Utility Functions
19.2 Complex Arithmetic
19.3 Trigonometry
19.4 Sums and Products
19.5 Special Functions
19.6 Coordinate Transformations
19.7 Mathematical Constants
20. Linear Algebra
20.1 Basic Matrix Functions
20.2 Matrix Factorizations
20.3 Functions of a Matrix
21. Nonlinear Equations
22. Sparse Matrices
22.1 The Creation and Manipulation of Sparse Matrices
22.1.1 Storage of Sparse Matrices
22.1.2 Creating Sparse Matrices
22.1.3 Basic Operators and Functions on Sparse Matrices
22.1.3.1 Operators and Functions
22.1.3.2 The Return Types of Operators and Functions
22.1.3.3 Mathematical Considerations
22.1.4 Finding out Information about 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.5.1 The Differences between the Array and Sparse Classes
22.5.2 Creating Spare Matrices in Oct-Files
22.5.3 Using Sparse Matrices in Oct-Files
22.6 Licensing of Third Party Software
22.7 Function Reference
22.7.0.1 colamd
22.7.0.2 colperm
22.7.0.3 dmperm
22.7.0.4 etree
22.7.0.5 full
22.7.0.6 issparse
22.7.0.7 nnz
22.7.0.8 nonzeros
22.7.0.9 nzmax
22.7.0.10 spalloc
22.7.0.11 sparse
22.7.0.12 spatan2
22.7.0.13 spconvert
22.7.0.14 spcumprod
22.7.0.15 spcumsum
22.7.0.16 spdet
22.7.0.17 spdiag
22.7.0.18 spdiags
22.7.0.19 speye
22.7.0.20 spfind
22.7.0.21 spfun
22.7.0.22 spinv
22.7.0.23 splu
22.7.0.24 spmax
22.7.0.25 spmin
22.7.0.26 spones
22.7.0.27 spparms
22.7.0.28 spprod
22.7.0.29 sprand
22.7.0.30 sprandn
22.7.0.31 spreshape
22.7.0.32 spstats
22.7.0.33 spsum
22.7.0.34 spsumsq
22.7.0.35 spy
22.7.0.36 symamd
22.7.0.37 symbfact
22.7.0.38 symrcm
23. Quadrature
23.1 Functions of One Variable
23.2 Orthogonal Collocation
24. Differential Equations
24.1 Ordinary Differential Equations
24.2 Differential-Algebraic Equations
25. Optimization
25.1 Linear Programming
25.2 Quadratic Programming
25.3 Nonlinear Programming
25.4 Linear Least Squares
26. Statistics
26.1 Basic Statistical Functions
26.2 Tests
26.3 Models
26.4 Distributions
27. Financial Functions
28. Sets
29. Polynomial Manipulations
30. Control Theory
30.1 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
30.2 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
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)
31. Signal Processing
32. Image Processing
33. Audio Processing
34. Quaternions
35. 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
A. Tips and Standards
A.1 Writing Clean Octave Programs
A.2 Tips for Making Code Run Faster.
A.3 Tips for Documentation Strings
A.4 Tips on Writing Comments
A.5 Conventional Headers for Octave Functions
B. Known Causes of Trouble
B.1 Actual Bugs We Haven't Fixed Yet
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
C. Installing Octave
C.1 Installation Problems
D. 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
E. Grammar
E.1 Keywords
F. GNU GENERAL PUBLIC LICENSE
F.1 Preamble
F.2 Appendix: How to Apply These Terms to Your New Programs
Concept Index
Variable Index
Function Index
Operator Index
This document was generated
by John W. Eaton on March, 27 2005
using texi2html