[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. Input and Output  
16. Plotting  
17. Matrix Manipulation  
18. Arithmetic  
19. Linear Algebra  
20. Nonlinear Equations  
21. Quadrature  
22. Differential Equations  
23. Optimization  
24. Statistics  
25. Financial Functions  
26. Sets  
27. Polynomial Manipulations  
28. Control Theory  
29. Signal Processing  
30. Image Processing  
31. Audio Processing  
32. Quaternions  
33. 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.2 String Objects  
3.1.3 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.2 Status of Variables  
9.3 Summary of Built-in Variables  
9.4 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.9 Organization of Functions Distributed with Octave  

Input and Output

15.1 Basic Input and Output  
15.2 C-Style I/O Functions  

Basic Input and Output

15.1.1 Terminal Output  
15.1.2 Terminal Input  
15.1.3 Simple File I/O  

C-Style I/O Functions

15.2.1 Opening and Closing Files  
15.2.2 Simple Output  
15.2.3 Line-Oriented Input  
15.2.4 Formatted Output  
15.2.5 Output Conversion for Matrices  
15.2.6 Output Conversion Syntax  
15.2.7 Table of Output Conversions  
15.2.8 Integer Conversions  
15.2.9 Floating-Point Conversions  Other Output Conversions::
15.2.10 Other Output Conversions  
15.2.11 Formatted Input  
15.2.12 Input Conversion Syntax  
15.2.13 Table of Input Conversions  
15.2.14 Numeric Input Conversions  
15.2.15 String Input Conversions  
15.2.16 Binary I/O  
15.2.17 Temporary Files  
15.2.18 End of File and Errors  
15.2.19 File Positioning  

Plotting

16.1 Two-Dimensional Plotting  
16.2 Specialized Two-Dimensional Plots  
16.3 Three-Dimensional Plotting  
16.4 Plot Annotations  
16.5 Multiple Plots on One Page  
16.6 Multiple Plot Windows  
16.7 Interaction with gnuplot  

Matrix Manipulation

17.1 Finding Elements and Checking Conditions  
17.2 Rearranging Matrices  
17.3 Special Utility Matrices  
17.4 Famous Matrices  

Arithmetic

18.1 Utility Functions  
18.2 Complex Arithmetic  
18.3 Trigonometry  
18.4 Sums and Products  
18.5 Special Functions  
18.6 Mathematical Constants  

Linear Algebra

19.1 Basic Matrix Functions  
19.2 Matrix Factorizations  
19.3 Functions of a Matrix  

Quadrature

21.1 Functions of One Variable  
21.2 Orthogonal Collocation  

Differential Equations

22.1 Ordinary Differential Equations  
22.2 Differential-Algebraic Equations  

Optimization

23.1 Quadratic Programming  
23.2 Nonlinear Programming  
23.3 Linear Least Squares  

Statistics

24.1 Basic Statistical Functions  
24.2 Tests  
24.3 Models  
24.4 Distributions  

Control Theory

28.1 System Data Structure  
28.2 System Construction and Interface Functions  
28.3 System display functions  
28.4 Block Diagram Manipulations  
28.5 Numerical Functions  
28.6 System Analysis-Properties  
28.7 System Analysis-Time Domain  
28.8 System Analysis-Frequency Domain  
28.9 Controller Design  
28.10 Miscellaneous Functions (Not yet properly filed/documented)  

System Data Structure

28.1.1 Variables common to all OCST system formats  
28.1.2 tf format variables  
28.1.3 zp format variables  
28.1.4 ss format variables  

System Construction and Interface Functions

28.2.1 Finite impulse response system interface functions  
28.2.2 State space system interface functions  
28.2.3 Transfer function system interface functions  
28.2.4 Zero-pole system interface functions  
28.2.5 Data structure access functions  
28.2.6 Data structure internal functions  

System Utilities

33.1 Timing Utilities  
33.2 Filesystem Utilities  
33.3 Controlling Subprocesses  
33.4 Process, Group, and User IDs  
33.5 Environment Variables  
33.6 Current Working Directory  
33.7 Password Database Functions  
33.8 Group Database Functions  
33.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  
C.2 Binary Distributions  

Binary Distributions

C.2.1 Installing Octave from a Binary Distribution  
C.2.2 Creating a Binary Distribution  

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 on March, 27 2001 using texi2html