1st Edition

Essential MATLAB and Octave

By Jesus Rogel-Salazar Copyright 2015
    288 Pages 24 B/W Illustrations
    by CRC Press

    288 Pages
    by CRC Press

    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 Octave offers 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.

    MATLAB® and Octave: The Essential Essentials

    MATLAB and Octave

    Starting Up and Closing Down

    Using MATLAB and Octave as a Calculator

    Numbers and Formats

    Variables

    Suppressing Output

    Built-In Functions

    Characters, String and Text

    Saving a Session

    Summary

    Exercises

    Vectors and Vector Operators

    Vectors

    The Colon Notation (:)

    Extracting Parts of a Vector

    Column Vectors

    Transposition of Vectors

    Vector Multiplication

    Scalar Product, *

    Dot-Star Product, .*

    Dot-Division of Vectors, ./

    Dot-Power of Vectors, .^

    Summary

    Exercises

    Matrices and Matrix Operators

    Size of a Matrix

    Transpose of a Matrix

    Special Matrices

    Diagonal Matrices

    Building Matrices

    Tabulating Functions

    Extracting Parts of Matrices

    Matrix Multiplication

    Sparse Matrices

    Systems of Linear Equations

    Summary

    Exercises

    Plotting

    Plotting Simple Functions

    Information in the Plot

    Multiple Plots

    Holding Figures

    Subplots

    Formatted Text

    Changing Axes

    Plotting Surfaces

    More Plots

    Summary

    Exercises

    Programming MATLAB® and Octave

    Script Files

    Flow of a Programme

    Loops in MATLAB and Octave

    Conditionals: If... Then... Else...

    Procedures and Functions with m-Files

    Built-In Functions

    Function Handles

    Debugging

    Timing

    Reading and Writing Files

    Summary

    Exercises

    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

    Summary

    Exercises

    Differences between MATLAB® and Octave

    Bibliography

    Index

    Biography

    Dr. Jesus 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