## GNU Octave: Beginner's Guide : Become a Proficient Octave User by Learning this High-level Scientific Numerical Tool from the Ground UpToday, 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. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

Time for action making a surface plot | |

Time for action plotting parametric curves | |

Summary | |

Octave Scripts | |

Writing and executing your first script | |

Time for action making your first script | |

Time for action interacting with the user | |

Statements | |

Installing additional packages | |

Time for action installing additional packages | |

Getting help | |

The behaviour of the Octave command prompt | |

Summary | |

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 | |

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 | |

Twodimensional 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 | |

Threedimensional plotting | |

Added flexibility C style input and output functions | |

Saving your work | |

Loading your work | |

Summary | |

Write Your Own Octave Functions | |

Time for action programming the minmax function | |

Writing and applying usersupplied functions | |

Time for action using lsode for numerical integration | |

Monte Carlo integration | |

Time for action vectorizing the Monte Carlo integrator | |

Summary | |

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 twodimensional Laplace equation | |

The poissolv package | |

Summary | |

Data Analysis | |

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 | |

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 Selkov model | |

Summary | |

Appendix A Pop quiz Answers | |

Working with Octave Functions and Plotting | |

Rationalizing Octave Scripts | |

Extensions Write Your Own Octave Functions | |

Making Your Own Package A Poisson Equation Solver | |

### Common terms and phrases

ascii Boolean operators Butterworth filter calculate called cell array Chapter Code Listing code snippet coefficient matrix columns command prompt data set defined differential equation dimensional disp("x element-wise elements elseif endfor endfunction endif error message evaluates example execute figure window following commands Fourier transform frequencies function name global_b GNU Octave GNU/Linux go hero graph grid points Hello help text home directory imaginary unit input argument input("Enter install instantiate linear algebra linear equation system load loop mathematical functions MATLAB matrix multiplication minmax Monte Carlo integrator Ngrid non-zero number of rows Octave command Octave functions Octave package Octave prompt octave_value_list octave:1 Octave's octaverc optional output perform plot Poisson equation polynomial prime printf problem projectile random numbers returns row vector scalar script simply solve sparse sparse matrix specify structure syntax text string two-dimensional usage user-supplied function Whatjust happened workspace write zero