Learn Two Popular Programming Languages in a Single Volume
Widely used by scientists and engineers, well-established MATLAB® and open-source Octave are similar software programs providing excellent capabilities for data analysis, visualization, and more. By means of straightforward explanations and examples from different areas in mathematics, engineering, finance, and physics, Essential MATLAB and Octave explains how MATLAB and Octave are powerful tools applicable to a variety of problems. This text provides an introduction that reveals basic structures and syntax, demonstrates the use of functions and procedures, outlines availability in various platforms, and highlights the most important elements for both programs.
Effectively Implement Models and Prototypes Using Computational Models
This text requires no prior knowledge. Self-contained, it allows the reader to use the material whenever needed rather than follow a particular order. Compatible with both languages, the book material incorporates commands and structures that allow the reader to gain a greater awareness of MATLAB and Octave, write their own code, and implement their scripts and programs within a variety of applicable fields. It is always made clear when particular examples apply only to MATLAB or only to Octave, allowing the book to be used flexibly depending on readers’ requirements.
- Includes brief, simple code that works in both MATLAB and Octave
- Provides exercise sections at the end of each chapter
- Introduces framed examples and discussions with a scientific twist
- Exercises are provided at the end of each chapter
Essential MATLAB and Octaveoffers an introductory course in MATLAB and Octave programming and is an authoritative resource for students in physics, mathematics, statistics, engineering, and any other subjects that require the use of computers to solve numerical problems.
Table of Contents
MATLAB® and Octave: The Essential Essentials
MATLAB and Octave
Starting Up and Closing Down
Using MATLAB and Octave as a Calculator
Numbers and Formats
Characters, String and Text
Saving a Session
Vectors and Vector Operators
The Colon Notation (:)
Extracting Parts of a Vector
Transposition of Vectors
Scalar Product, *
Dot-Star Product, .*
Dot-Division of Vectors, ./
Dot-Power of Vectors, .^
Matrices and Matrix Operators
Size of a Matrix
Transpose of a Matrix
Extracting Parts of Matrices
Systems of Linear Equations
Plotting Simple Functions
Information in the Plot
Programming MATLAB® and Octave
Flow of a Programme
Loops in MATLAB and Octave
Conditionals: If... Then... Else...
Procedures and Functions with m-Files
Reading and Writing Files
MATLAB® and Octave in Action
Linear Algebra: Linear Combinations
Linear Algebra: Eigenvalues and Eigenvectors
Portfolio Risk: Minimum Variance and Target Portfolios
Differential Equations: Predator-Prey Model
Signal Processing: Fourier Transform
Physics: The Wave Equation
Quantum Mechanics: The Schrödinger Equation and Pauli Matrices
Differences between MATLAB® and Octave
Dr. Jesús Rogel-Salazar is a member of the School of Physics, Astronomy and Mathematics at the University of Hertfordshire, UK, and a visiting researcher at the Department of Physics at Imperial College London, UK. He obtained his doctorate in physics at Imperial College London for work on quantum atom optics and ultra-cold matter. He has held a position as senior lecturer in mathematics as well as a consultant in the financial industry since 2006. His interests include mathematical modelling, data science, and optimization in a wide range of applications including optics, quantum mechanics, data journalism, and finance.
"Simply, this is an ideal textbook for those who wish to learn elements of scientific programming but hesitate to make the first step. … skillfully leads the reader from elementary topics to more advanced applications. … [readers] will find themselves on a tour starting from elementary high school mathematics and, due to the author’s teaching skill, almost effortlessly ending in the world of differential equations."
—Applications of Mathematics, 60, 2015
"This is an excellent book for anyone approaching MATLAB or Octave for the first time. The pleasant language used throughout creates the sensation of having the author by your side. … An interesting feature are the examples used to explain the use of functions and operations. … compared to similar texts on Octave and MATLAB, the author introduces at an early stage how to produce line and surface plots with MATLAB and Octave. It is very attractive to students to be able to quickly produce plots with scientific journal quality. … The margin notes are great as they can also work as virtual bookmarks when required to come back to the explanation of a MATLAB or Octave command. … an easy read that will provide the necessary tools to begin working with MATLAB or Octave in a short period of time … ."
—Professor Sabino Chávez-Cerda, INAOE, México, OSA Fellow
"This well-written book is a must-have for those people starting to solve numerical problems in MATLAB or Octave. Right from the beginning, the reader will appreciate that the book´s major goal is to describe the essential aspects of both languages without giving preferential treatment to either of them. Page by page you will find clear explanations describing the way you should use each programming language. The set of homework problems given at the end of each chapter makes the book even more dynamic. Students and experts will warmly welcome Essential MATLAB and Octave into their libraries. I highly recommend it as an excellent reference tool."
—Hiram Luna-Munguia, PhD, Research Assistant, Department of Neurology, University of Michigan
"Essential MATLAB and Octave is a superb introductory textbook for those interested in learning how to solve scientific, engineering, and mathematical problems using two of the most popular mathematical programming tools available.
The book assumes almost no prior experience with programming or scientific programming, and carefully takes the reader step-by-step through the use of the two languages for solving increasingly complex problems. It begins with elementary tasks, such as the evaluation of simple functions, and takes the reader through the basics of plotting figures and programming syntax. This leads up to a chapter of more sophisticated examples of problems to suit a diverse range of tastes, including linear algebra applications, the solution of differential equations in physics and biology, signal processing, and problems in mathematical finance.
Dr. Rogel-Salazaar has put a huge amount of effort into making the book accessible and user-friendly in a way that makes it suitable even for the most novice of programmers. The layout of the book is used very effectively with boxes that give clear and concise example programs as well as side notes that point out where differences can occur between MATLAB and Octave and that provide references and additional information.
Just the right balance of content is chosen for beginners to quickly reach a stage where they can begin to write useful programs of their own. Enough detail is included to point out the power and major stumbling blocks, without overburdening readers with too much detail on the more subtle aspects that they can only come to appreciate after further programming experience. This helps the textbook fill a useful gap in the market and make it an excellent companion to introductory courses on scientific computation in degree programs, as well as an accessible but concise guide to anyone learning how to use such tools by themselves."
—Dr. Shashank Virmani, Brunel University London
"The text provides a clear and easy paced introduction to MATLAB and Octave. The presentation is example led and contains plenty of useful applications drawn from mathematics, physics, and engineering. This beginner’s handbook will suit a broad scientific readership. Key features:
- The in-parallel coverage of MATLAB and Octave
- All key software features are covered in a concise and careful manner
- Includes many of the common scientific computing tasks for which the software can be used
- Contains a wide range of applications from linear algebra, portfolio analysis, differential equations, signal processing, wave motion, and quantum mechanics
- Provides lots of useful practical tips not found in other texts
- The numerous in-text examples and end-of-chapter exercises encourage learning by doing
- A suitable text for a short course or a useful reference for self-study"
—Dr. Alan McCall, University of Hertfordshire