SOLVING the scientific and technical problems we meet in everyday life calls on the mathematical toolkit accumulated over many years. Ideally, we formulate the problem in terms of one or more parameters, called mathematical variables, and then substitute numerical values to obtain the answers we seek. Unfortunately, this works only when we can find an analytical solution, that is, a function of one or several variables whose mathematical expression is well defined on the chosen domain. In practice, analytical solutions are obtained by making approximations, and these approximations can sometimes become unrealistic. Once the real constraints of the problem are included, its solutions must be obtained by numerical methods. Numerical methods rely mainly on iterative processes, which are repeated until they converge. Such a process builds a sequence that starts from an approximate solution and, after n steps, reaches the approximation closest to the exact value. Numerical analysis rests on three ingredients: •An iterative solution method. •An algorithm that summarizes the main steps for solving a problem. In every case, convergence criteria must be specified. •A program, written in a given programming language, that solves the problem on a computing device (computer, tablet, smartphone, etc.). MATLAB1 is one of the languages increasingly used for numerical programming. In addition to making programming easy through its packages, which are not closed black boxes, it offers a powerful graphical environment and simulation tools. In this book, we present selected numerical methods through programming in MATLAB (or Octave). Although some packages already provide programs for a few numerical methods, we write our own programs and use them to solve the problems. We then compare our results with those given by the MATLABlibraries. This approach reflects our aim of mastering the programming itself, where convergence and computational speed are challenges to be overcome. The book is organized as follows. Chapter 1 introduces numerical computation and error analysis, including how numbers are represented on a computer. Chapter 2 focuses on the solution of nonlinear equations, for which several methods are presented. Chapters 3 and 4 are devoted to polynomial interpolation and to the approximation of functions. Numerical integration, together with numerical differentiation, is the subject of Chapter 5. Chapter 6 presents several methods for solving ordinary differential equations from given initial conditions. The last chapter generalizes the solution of nonlinear equations to systems of linear and nonlinear equations. Each method is followed by a simple example that shows how to use it. Each chapter also includes solved exercises, which can be worked by hand or with a calculator, so that readers can absorb the methods more thoroughly. After the solved exercises, each chapter presents programs that implement the numerical methods in MATLAB/Octave. Because some programs of study use other programming languages, these programming sections are optional. Two appendices at the end of the book provide exam problems with their solutions: Appendix A contains written exam problems, and Appendix B contains complete programs drawn from exam problems, accompanied by detailed solutions. This book grew out of many years of teaching numerical analysis and MATLABin the Faculty of Physics at the University of Science and Technology Houari Boumedi- ene (USTHB). We thank our colleague Prof. H. Djelouah for the valuable comments offered throughout the writing of this book.