Edition 3. — Octave Ver. 3.6.1, 2011. — 1004 p.
How You Can Contribute to Octave
Distribution
A Brief Introduction to Octave
Running Octave
Simple Examples
Conventions
Getting StartedInvoking Octave from the Command Line
Quitting Octave
Commands for Getting Help
Command Line Editing
How Octave Reports Errors
Executable Octave Programs
Comments in Octave Programs
Data TypesBuilt-in Data Types
User-defined Data Types
Object Sizes
Numeric Data TypesMatrices
Ranges
Single Precision Data Types
Integer Data Types
Bit Manipulations
Logical Values
Promotion and Demotion of Data Types
Predicates for Numeric Objects
StringsEscape Sequences in String Constants
Character Arrays
Creating Strings
Comparing Strings
Manipulating Strings.
String Conversions
Character Class Functions
Data ContainersStructures
Cell Arrays
Comma Separated Lists
VariablesGlobal Variables
Persistent Variables
Status of Variables
ExpressionsIndex Expressions
Calling Functions
Arithmetic Operators
Comparison Operators
Boolean Expressions
Assignment Expressions
Increment Operators
Operator Precedence
EvaluationCalling a Function by its Name
Evaluation in a Different Context
StatementsThe if Statement
The switch Statement
The while Statement
The do-until Statement
The for Statement
10.Looping Over Structure Elements
The break Statement
The continue Statement
The unwind_protect Statement
The try Statement
Continuation Lines
Functions and ScriptsDefining Functions
Multiple Return Values
Variable-length Argument Lists
Ignoring Arguments
Variable-length Return Lists
Returning from a Function
Default Arguments
Function Files
Script Files
Function Handles, Inline Functions, and Anonymous Functions
Commands
Organization of Functions Distributed with Octave
Errors and WarningsHandling Errors
Handling Warnings
DebuggingEntering Debug Mode
Leaving Debug Mode
Breakpoints
Debug Mode
Call Stack
Profiling
Profiler Example
Input and OutputBasic Input and Output
C-Style I/O Functions
PlottingIntroduction to Plotting
High-Level Plotting
Graphics Data Structures
Advanced Plotting
Matrix ManipulationFinding Elements and Checking Conditions
Rearranging Matrices
Special Utility Matrices
Famous Matrices
ArithmeticExponents and Logarithms
Complex Arithmetic
Trigonometry
Sums and Products
Utility Functions
Special Functions
Rational Approximations
Coordinate Transformations
Mathematical Constants
Linear AlgebraTechniques Used for Linear Algebra
Basic Matrix Functions
Matrix Factorizations.
Functions of a Matrix
Specialized Solvers
Vectorization and Faster Code ExecutionBasic Vectorization
Broadcasting
Function Application
Accumulation
Miscellaneous Techniques
Examples.
20 Nonlinear EquationsSolvers
Minimizers
Diagonal and Permutation MatricesCreating and Manipulating Diagonal and Permutation Matrices
Linear Algebra with Diagonal and Permutation Matrices
Functions That Are Aware of These Matrices
Some Examples of Usage
The Differences in Treatment of Zero Elements
Sparse MatricesThe Creation and Manipulation of Sparse Matrices
Linear Algebra on Sparse Matrices
Iterative Techniques applied to sparse matrices
Real Life Example of the use of Sparse Matrices
Numerical IntegrationFunctions of One Variable
Orthogonal Collocation
Functions of Multiple Variables
Differential EquationsOrdinary Differential Equations
Differential-Algebraic Equations
OptimizationLinear Programming
Quadratic Programming
Nonlinear Programming
Linear Least Squares
StatisticsDescriptive Statistics
Basic Statistical Functions
Statistical Plots.
Correlation and Regression Analysis
Distributions
Tests
Random Number Generation
SetsSet Operations
Polynomial ManipulationsEvaluating Polynomials
Finding Roots
Products of Polynomials
Derivatives / Integrals / Transforms
Polynomial Interpolation
Miscellaneous Functions
InterpolationOne-dimensional Interpolation
Multi-dimensional Interpolation
Geometry.
Delaunay Triangulation
Voronoi Diagrams
Convex Hull
Interpolation on Scattered Data
Signal ProcessingImage ProcessingLoading and Saving Images
Displaying Images
Representing Images
Plotting on top of Images
Color Conversion
Audio ProcessingObject Oriented ProgrammingCreating a Class
Manipulating Classes
Indexing Objects
Overloading Objects
Inheritance and Aggregation
GUI DevelopmentI/O Dialogs
Progress Bar
GUI Utility Functions
User-Defined Preferences
System UtilitiesTiming Utilities
Filesystem Utilities
File Archiving Utilities
Networking Utilities
Controlling Subprocesses.
Process, Group, and User IDs
Environment Variables
Current Working Directory
Password Database Functions
Group Database Functions
System Information
Hashing Functions
PackagesInstalling and Removing Packages
Using Packages
Administrating Packages
Creating Packages
The DESCRIPTION File
The INDEX File
PKG ADD and PKG DEL Directives
Appendix A. Dynamically Linked Functions
Oct-Files
Getting Started with Oct-Files
Matrices and Arrays in Oct-Files
Character Strings in Oct-Files
Cell Arrays in Oct-Files
Structures in Oct-Files
Sparse Matrices in Oct-Files
Accessing Global Variables in Oct-Files
Calling Octave Functions from Oct-Files
Calling External Code from Oct-Files
Allocating Local Memory in Oct-Files
Input Parameter Checking in Oct-Files
Exception and Error Handling in Oct-Files
Documentation and Test of Oct-Files
Mex-Files
Getting Started with Mex-Files
Working with Matrices and Arrays in Mex-Files.
Character Strings in Mex-Files
Cell Arrays with Mex-Files
Structures with Mex-Files
Sparse Matrices with Mex-Files
Calling Other Functions in Mex-Files
Standalone Programs
Appendix B. Test and Demo Functions
Test Functions
Demonstration Functions
Appendix C. Tips and Standards
Writing Clean Octave Programs
Tips on Writing Comments
Conventional Headers for Octave Functions
Tips for Documentation Strings