GNU Octave Beginner's Guide

Become a proficient Octave user by learning this high-level scientific numerical tool from the ground up

GNU Octave Beginner's Guide

Beginner's Guide
Jesper Schmidt Hansen

Become a proficient Octave user by learning this high-level scientific numerical tool from the ground up
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781849513326
Paperback280 pages

About This Book

  • The easiest way to use GNU Octave's power and flexibility for data analysis
  • Work with GNU Octave's interpreter – declare and control mathematical objects like vectors and matrices
  • Rationalize your scripts and control program flow
  • Extend GNU Octave and implement your own functionality
  • Get to know the vast built-in functionality that GNU Octave has to offer
  • Build your own GNU Octave toolbox package to solve complex problems
  • Learn Octave the simple way, with real-world examples and plenty of screenshots provided throughout the book

Who This Book Is For

This book is intended for anyone interested in scientific computing and data analysis. The reader should have a good level of mathematics and a basic understanding of programming will be useful, although it is not a prerequisite.

Table of Contents

Chapter 1: Introducing GNU Octave
So what is GNU Octave?
Installing Octave
Time for action - building Octave from source
Checking your installation with peaks
Time for action - testing with peaks
Customizing Octave
Time for action - creating an Octave home directory under Windows
Time for action - editing the .octaverc file
Installing additional packages
Time for action - installing additional packages
Getting help
The behaviour of the Octave command prompt
Summary
Chapter 2: Interacting with Octave: Variables and Operators
Simple numerical variables
Time for action - manipulating arrays
Structures and cell arrays
Time for action - instantiating a structure
Time for action - instantiating a cell array
Getting information
Time for action - using whos
A few things that make life easier
Basic arithmetic
Time for action - doing addition and subtraction operations
Time for action - doing multiplication operations
Time for action - doing left and right division
Comparison operators and precedence rules
Time for action - working with precedence rules
A few hints
Summary
Chapter 3: Working with Octave: Functions and Plotting
Octave functions
Time for action - using the cos function
Time for action - putting together mathematical functions
Time for action - trying out floor, ceil, round, and fix
Time for action - using Octave for advanced linear algebra
Two-dimensional plotting
Time for action - making your first plot
Time for action - changing the figure properties
Time for action - having multiple graphs in the same figure
Time for action - making an inset
Three-dimensional plotting
Time for action - making a surface plot
Time for action - plotting parametric curves
Summary
Chapter 4: Rationalizing: Octave Scripts
Writing and executing your first script
Time for action - making your first script
Time for action - interacting with the user
Statements
Added flexibility C style input and output functions
Saving your work
Loading your work
Summary
Chapter 5: Extensions: Write Your Own Octave Functions
Your first Octave function
Time for action - programming the minmax function
Writing and applying user-supplied functions
Time for action - using lsode for numerical integration
More advanced function programming: Monte Carlo integration
Time for action - vectorizing the Monte Carlo integrator
Summary
Chapter 6: Making Your Own Package: A Poisson Equation Solver
The Poisson equation two examples of heat conduction
Finite differencing
Time for action - instantiating a sparse matrix
Implementation and package functions
Time for action - using imagesc
Time for action - comparing with analytical solution
Time for action - solving a two-dimensional Laplace equation
The pois-solv package
Summary
Chapter 7: More Examples: Data Analysis
Loading data files
Simple descriptive statistics
Function fitting
Time for action - using polyfit
Time for action - calculating the correlation coefficient
Time for action - using leasqr
Fourier analysis
Time for action - using the fft function
Time for action - analysing the exchange rate
Time for action - applying a low pass filter
Summary
Chapter 8: Need for Speed: Optimization and Dynamically Linked Functions
A few optimization techniques
Time for action - using tic and toc
Dynamically linked functions
Time for action - writing a "Hello World" program
Time for action - checking user inputs and outputs
Time for action - revisiting the Sel'kov model
Summary

What You Will Learn

  • Work with the Octave interpreter
  • Declare and control different variable types
  • Use arithmetic operations between variables
  • Use logical operations
  • Control the program flow
  • Write scripts
  • Implement new functions
  • Perform complex data analysis
  • Write your own toolbox package
  • Optimize your code

In Detail

Today, scientific computing and data analysis play an integral part in most scientific disciplines ranging from mathematics and biology to imaging processing and finance. With GNU Octave you have a highly flexible tool that can solve a vast number of such different problems as complex statistical analysis and dynamical system studies.

The GNU Octave Beginner's Guide gives you an introduction that enables you to solve and analyze complicated numerical problems. The book is based on numerous concrete examples and at the end of each chapter you will find exercises to test your knowledge. It's easy to learn GNU Octave, with the GNU Octave Beginner's Guide to hand.

Using real-world examples the GNU Octave Beginner's Guide will take you through the most important aspects of GNU Octave. This practical guide takes you from the basics where you are introduced to the interpreter to a more advanced level where you will learn how to build your own specialized and highly optimized GNU Octave toolbox package. The book starts by introducing you to work variables like vectors and matrices, demonstrating how to perform simple arithmetic operations on these objects before explaining how to use some of the simple functionality that comes with GNU Octave, including plotting. It then goes on to show you how to write new functionality into GNU Octave and how to make a toolbox package to solve your specific problem. Finally, it demonstrates how to optimize your code and link GNU Octave with C and C++ code enabling you to solve even the most computationally demanding tasks. After reading GNU Octave Beginner's Guide you will be able to use and tailor GNU Octave to solve most numerical problems and perform complicated data analysis with ease.

Authors

Table of Contents

Chapter 1: Introducing GNU Octave
So what is GNU Octave?
Installing Octave
Time for action - building Octave from source
Checking your installation with peaks
Time for action - testing with peaks
Customizing Octave
Time for action - creating an Octave home directory under Windows
Time for action - editing the .octaverc file
Installing additional packages
Time for action - installing additional packages
Getting help
The behaviour of the Octave command prompt
Summary
Chapter 2: Interacting with Octave: Variables and Operators
Simple numerical variables
Time for action - manipulating arrays
Structures and cell arrays
Time for action - instantiating a structure
Time for action - instantiating a cell array
Getting information
Time for action - using whos
A few things that make life easier
Basic arithmetic
Time for action - doing addition and subtraction operations
Time for action - doing multiplication operations
Time for action - doing left and right division
Comparison operators and precedence rules
Time for action - working with precedence rules
A few hints
Summary
Chapter 3: Working with Octave: Functions and Plotting
Octave functions
Time for action - using the cos function
Time for action - putting together mathematical functions
Time for action - trying out floor, ceil, round, and fix
Time for action - using Octave for advanced linear algebra
Two-dimensional plotting
Time for action - making your first plot
Time for action - changing the figure properties
Time for action - having multiple graphs in the same figure
Time for action - making an inset
Three-dimensional plotting
Time for action - making a surface plot
Time for action - plotting parametric curves
Summary
Chapter 4: Rationalizing: Octave Scripts
Writing and executing your first script
Time for action - making your first script
Time for action - interacting with the user
Statements
Added flexibility C style input and output functions
Saving your work
Loading your work
Summary
Chapter 5: Extensions: Write Your Own Octave Functions
Your first Octave function
Time for action - programming the minmax function
Writing and applying user-supplied functions
Time for action - using lsode for numerical integration
More advanced function programming: Monte Carlo integration
Time for action - vectorizing the Monte Carlo integrator
Summary
Chapter 6: Making Your Own Package: A Poisson Equation Solver
The Poisson equation two examples of heat conduction
Finite differencing
Time for action - instantiating a sparse matrix
Implementation and package functions
Time for action - using imagesc
Time for action - comparing with analytical solution
Time for action - solving a two-dimensional Laplace equation
The pois-solv package
Summary
Chapter 7: More Examples: Data Analysis
Loading data files
Simple descriptive statistics
Function fitting
Time for action - using polyfit
Time for action - calculating the correlation coefficient
Time for action - using leasqr
Fourier analysis
Time for action - using the fft function
Time for action - analysing the exchange rate
Time for action - applying a low pass filter
Summary
Chapter 8: Need for Speed: Optimization and Dynamically Linked Functions
A few optimization techniques
Time for action - using tic and toc
Dynamically linked functions
Time for action - writing a "Hello World" program
Time for action - checking user inputs and outputs
Time for action - revisiting the Sel'kov model
Summary

Book Details

ISBN 139781849513326
Paperback280 pages
Read More

Recommended for You