Edition 4. — Octave Ver. 4.2.1, 2017. — 1004 p.
Citing Octave in Publications
How You Can Contribute to Octave
Distribution
A Brief Introduction to OctaveRunning 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
The break Statement
The continue Statement
The unwind protect Statement
The try Statement
Continuation Lines
Functions and ScriptsIntroduction to Function and Script Files
Defining 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, Anonymous Functions, Inline 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
JIT Compiler
Miscellaneous Techniques
Examples
Nonlinear EquationsSolvers
Minimizers
Diagonal and Permutation MatricesCreating and Manipulating Diagonal/Permutation Matrices
Linear Algebra with Diagonal/Permutation Matrices
Functions That Are Aware of These Matrices
Examples of Usage
Differences in Treatment of Zero Elements
Sparse MatricesCreation and Manipulation of Sparse Matrices
Linear Algebra on Sparse Matrices
Iterative Techniques Applied to Sparse Matrices
Real Life Example using 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
SetsSet Operations
Polynomial ManipulationsEvaluating Polynomials
Finding Roots
Products of Polynomials
Derivatives / Integrals / Transforms
Polynomial Interpolation
Miscellaneous Functions
InterpolationOne-dimensional Interpolation
Multi-dimensional Interpolation
GeometryDelaunay 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 ProcessingAudio File Utilities
Audio Device Information
Audio Player
Audio Recorder
Audio Data Processing
Object Oriented ProgrammingCreating a Class
Class Methods
Indexing Objects
Overloading Objects
Inheritance and Aggregation
GUI DevelopmentI/O Dialogs
Progress Bar
GUI Elements
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
Appendix A. External Code InterfaceOct-Files
Mex-Files
Standalone Programs
Java Interface
Appendix B. Test and Demo FunctionsTest Functions
Demonstration Functions
Appendix C. Obsolete FunctionsAppendix D. Known Causes of TroubleActual Bugs We Haven’t Fixed Yet
Reporting Bugs
How To Get Help with Octave
How to Distinguish Between Octave and MatLAB
Appendix E. Installing OctaveBuild Dependencies
Running Configure and Make
Compiling Octave with 64-bit Indexing
Installation Problems
Appendix F. Grammar and ParserKeywords
Parser
Appendix G. GNU GENERAL PUBLIC LICENSEFunction Index
Operator Index