Da Coda Al Fine

Pushing Octave's Limits

Christoph L. Spiel

Hammersmith Consulting

Octave is the Matlab®-clone which comes closest to the original. Though it tries to be fully compatible, it features its own extensions and improvements over the functionality of the commercial Matlab® product.

Octave is shipped with a 340+ page reference manual, which also tries to be a bit of a user guide. Despite its size the documentation is incomplete, and where it stops, Coda starts: Da Coda Al Fine approaches Octave purely from the user's point of view, explaining e.g. oct-file construction in a tutorial like form.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no invariant sections, with the Front-Cover Texts being "Da Coda Al Fine", and with no Back-Cover Texts. A copy of the license is included in the appendix "GNU Free Documentation License".

Copyrights:

GNU/Linux© by Linus Torvalds
Octave© by John W. Eaton
Matlab® is a registered trademark by The MathWorks, Inc.


Table of Contents
1. OCT Files
1.1. Tutorial
1.1.1. Problem Definition
1.1.2. High-Level Implementation
1.1.3. Our First Dynamic Extension
1.1.4. Spicing up matpow
1.2. Advanced Extension Programming
1.2.1. Defining Constants And Variables
1.2.2. Documenting Constants And Variables
1.3. Abridged Quick-Reference
1.3.1. Types
1.3.2. List Operations
1.3.3. Access to Value
1.3.4. Type Classification
2. Building Standalone Applications
A. Complete examples
A.1. Unit-test
A.1.1. unit_init.m
A.1.2. unit_test.m
A.1.3. unit_test_equals.m
A.1.4. unit_test_err.m
A.1.5. errcheck.m
A.1.6. erreval.m
A.1.7. unit_results.m
B. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
C. GNU General Public License
0. APPLICABILITY[1]
1. VERBATIM COPYING
2. MODIFICATIONS
3. DISTRIBUTION
4. TERMINATION
5. ACCEPTANCE
6. REDISTRIBUTION
7. CONSEQUENCES
8. LIMITATIONS
9. FUTURE REVISIONS OF THIS LICENSE
10. AGGREGATION WITH INDEPENDENT WORKS
11. NO WARRANTY
12. LIABILITY
Bibliography
Index
List of Tables
1-1. Types
List of Examples
1-1. Naive implementation of matpow
1-2. Implementation of improved matrix power algorithm
1-3. C++ implementation of matpow
1-4. Simple Makefile for oct-files
1-5. Skeletal Texinfo Docstring
1-6. Documentation string in Texinfo format
1-7. Constant Definition
1-8. Variable Definition
2-1. "Hello World!" program using Octave's libraries.