Titre : |
Practical Numerical and Scientific Computing with MATLAB® and Python |
Type de document : |
document électronique |
Auteurs : |
Eihab B. M. Bashier |
Editeur : |
Boca Raton : CRC Press |
Année de publication : |
2020 |
Importance : |
1 vol (330 p.) |
ISBN/ISSN/EAN : |
978-0-429-66410-6 |
Langues : |
Français (fre) |
Catégories : |
Bibliothèque numérique:Informatique
|
Mots-clés : |
Science:Data processing
Python (Computer program language) |
Index. décimale : |
004 Informatique |
Résumé : |
Practical Numerical and Scientific Computing with MATLAB® and Python concentrates on the practical aspects of numerical analysis and linear and non-linear programming. It discusses the methods for solving different types of mathematical problems using MATLAB and Python. Although the book focuses on the approximation problem rather than on error analysis of mathematical problems, it provides practical ways to calculate errors.The book is divided into three parts, covering topics in numerical linear algebra, methods of interpolation, numerical differentiation and integration, solutions of differential equations, linear and non-linear programming problems, and optimal control problems.This book has the following advantages: It adopts the programming languages, MATLAB and Python, which are widely used among academics, scientists, and engineers, for ease of use and contain many libraries covering many scientific and engineering fields. It contains topics that are rarely found in other numerical analysis books, such as ill-conditioned linear systems and methods of regularization to stabilize their solutions, nonstandard finite differences methods for solutions of ordinary differential equations, and the computations of the optimal controls. It provides a practical explanation of how to apply these topics using MATLAB and Python. It discusses software libraries to solve mathematical problems, such as software Gekko, pulp, and pyomo. These libraries use Python for solutions to differential equations and static and dynamic optimization problems. Most programs in the book can be applied in versions prior to MATLAB 2017b and Python 3.7.4 without the need to modify these programs. This book is aimed at newcomers and middle-level students, as well as members of the scientific community who are interested in solving math problems using MATLAB or Python. |
Note de contenu : |
Contents
Preface xiii
Author xvii
I Solving Linear and Nonlinear Systems of Equations 1
1 Solving Linear Systems Using Direct Methods 3
1.1 Testing the Existence of the Solution . . . . . . . . . . . . . 3
1.2 Methods for Solving Linear Systems . . . . . . . . . . . . . . 5
1.3 Matrix Factorization Techniques . . . . . . . . . . . . . . . . 12
2 Solving Linear Systems with Iterative and Least Squares Methods 23
2.1 Mathematical Backgrounds . . . . . . . . . . . . . . . . . . . 23
2.2 The Iterative Methods . . . . . . . . . . . . . . . . . . . . . 25
2.3 The Least Squares Solutions . . . . . . . . . . . . . . . . . . 39
3 Ill-Conditioning and Regularization Techniques in Solutions of Linear Systems 57
3.1 Ill-Conditioning in Solutions of Linear Systems . . . . . . . . 57
3.2 Regularization of Solutions in Linear Systems . . . . . . . . 78
4 Solving a System of Nonlinear Equations 89
4.1 Solving a Single Nonlinear Equation . . . . . . . . . . . . . . 89
4.2 Solving a System of Nonlinear Equations . . . . . . . . . . . 97
II Data Interpolation and Solutions of Differential Equations 103
5 Data Interpolation 105
5.1 Lagrange Interpolation . . . . . . . . . . . . . . . . . . . . . 105
5.2 Newton’s Interpolation . . . . . . . . . . . . . . . . . . . . . 109
5.3 MATLAB’s Interpolation Tools . . . . . . . . . . . . . . . . 116
5.4 Data Interpolation in Python . . . . . . . . . . . . . . . . . . 120
6 Numerical Differentiation and Integration 125
6.1 Numerical Differentiation . . . . . . . . . . . . . . . . . . . . 125
7 Solving Systems of Nonlinear Ordinary Differential Equations 165
7.1 Runge-Kutta Methods . . . . . . . . . . . . . . . . . . . . . . 165
7.2 Explicit Runge-Kutta Methods . . . . . . . . . . . . . . . . . 167
7.3 Implicit Runge-Kutta Methods . . . . . . . . . . . . . . . . . 176
7.4 MATLAB ODE Solvers . . . . . . . . . . . . . . . . . . . . . 191
7.5 Python Solvers for IVPs . . . . . . . . . . . . . . . . . . . . 197
8 Nonstandard Finite Difference Methods for Solving ODEs 207
8.1 Deficiencies with Standard Finite Difference Schemes . . . . 207
8.2 Construction Rules of Nonstandard Finite Difference Schemes 213
8.3 Exact Finite Difference Schemes . . . . . . . . . . . . . . . . 217
8.4 Other Nonstandard Finite Difference Schemes . . . . . . . . 236
III Solving Linear, Nonlinear and Dynamic Optimization Problems 241
9 Solving Optimization Problems: Linear and Quadratic Programming 243
9.1 Form of a Linear Programming Problem . . . . . . . . . . . 243
9.2 Solving Linear Programming Problems with linprog . . . . 246
9.3 Solving Linear Programming Problems with fmincon MATLAB’s Functions . . . 249
9.4 Solving Linear Programming Problems with pulp Python . . 250
9.5 Solving Linear Programming Problems with pyomo . . . . . . 252
9.6 Solving Linear Programming Problems with gekko . . . . . . 254
9.7 Solving Quadratic Programming Problems . . . . . . . . . . 255
10 Solving Optimization Problems: Nonlinear Programming 261
10.1 Solving Unconstrained Problems . . . . . . . . . . . . . . . . 261
10.2 Solving Constrained Optimization Problems . . . . . . . . . 278
11 Solving Optimal Control Problems 289
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
11.2 The First-Order Optimality Conditions and Existence of Optimal Control . . . 290
11.3 Necessary Conditions of the Discretized System . . . . . . . 293
11.4 Numerical Solution of Optimal Control . . . . . . . . . . . . 294
11.5 Solving Optimal Control Problems Using Indirect Methods . 295
11.6 Solving Optimal Control Problems Using Direct Methods . . 306
Bibliography 321
Index 327
|
Côte titre : |
E-Fs/0050 |
En ligne : |
https://sciences-courses.univ-setif.dz/login/index.php |
Practical Numerical and Scientific Computing with MATLAB® and Python [document électronique] / Eihab B. M. Bashier . - Boca Raton : CRC Press, 2020 . - 1 vol (330 p.). ISBN : 978-0-429-66410-6 Langues : Français ( fre)
Catégories : |
Bibliothèque numérique:Informatique
|
Mots-clés : |
Science:Data processing
Python (Computer program language) |
Index. décimale : |
004 Informatique |
Résumé : |
Practical Numerical and Scientific Computing with MATLAB® and Python concentrates on the practical aspects of numerical analysis and linear and non-linear programming. It discusses the methods for solving different types of mathematical problems using MATLAB and Python. Although the book focuses on the approximation problem rather than on error analysis of mathematical problems, it provides practical ways to calculate errors.The book is divided into three parts, covering topics in numerical linear algebra, methods of interpolation, numerical differentiation and integration, solutions of differential equations, linear and non-linear programming problems, and optimal control problems.This book has the following advantages: It adopts the programming languages, MATLAB and Python, which are widely used among academics, scientists, and engineers, for ease of use and contain many libraries covering many scientific and engineering fields. It contains topics that are rarely found in other numerical analysis books, such as ill-conditioned linear systems and methods of regularization to stabilize their solutions, nonstandard finite differences methods for solutions of ordinary differential equations, and the computations of the optimal controls. It provides a practical explanation of how to apply these topics using MATLAB and Python. It discusses software libraries to solve mathematical problems, such as software Gekko, pulp, and pyomo. These libraries use Python for solutions to differential equations and static and dynamic optimization problems. Most programs in the book can be applied in versions prior to MATLAB 2017b and Python 3.7.4 without the need to modify these programs. This book is aimed at newcomers and middle-level students, as well as members of the scientific community who are interested in solving math problems using MATLAB or Python. |
Note de contenu : |
Contents
Preface xiii
Author xvii
I Solving Linear and Nonlinear Systems of Equations 1
1 Solving Linear Systems Using Direct Methods 3
1.1 Testing the Existence of the Solution . . . . . . . . . . . . . 3
1.2 Methods for Solving Linear Systems . . . . . . . . . . . . . . 5
1.3 Matrix Factorization Techniques . . . . . . . . . . . . . . . . 12
2 Solving Linear Systems with Iterative and Least Squares Methods 23
2.1 Mathematical Backgrounds . . . . . . . . . . . . . . . . . . . 23
2.2 The Iterative Methods . . . . . . . . . . . . . . . . . . . . . 25
2.3 The Least Squares Solutions . . . . . . . . . . . . . . . . . . 39
3 Ill-Conditioning and Regularization Techniques in Solutions of Linear Systems 57
3.1 Ill-Conditioning in Solutions of Linear Systems . . . . . . . . 57
3.2 Regularization of Solutions in Linear Systems . . . . . . . . 78
4 Solving a System of Nonlinear Equations 89
4.1 Solving a Single Nonlinear Equation . . . . . . . . . . . . . . 89
4.2 Solving a System of Nonlinear Equations . . . . . . . . . . . 97
II Data Interpolation and Solutions of Differential Equations 103
5 Data Interpolation 105
5.1 Lagrange Interpolation . . . . . . . . . . . . . . . . . . . . . 105
5.2 Newton’s Interpolation . . . . . . . . . . . . . . . . . . . . . 109
5.3 MATLAB’s Interpolation Tools . . . . . . . . . . . . . . . . 116
5.4 Data Interpolation in Python . . . . . . . . . . . . . . . . . . 120
6 Numerical Differentiation and Integration 125
6.1 Numerical Differentiation . . . . . . . . . . . . . . . . . . . . 125
7 Solving Systems of Nonlinear Ordinary Differential Equations 165
7.1 Runge-Kutta Methods . . . . . . . . . . . . . . . . . . . . . . 165
7.2 Explicit Runge-Kutta Methods . . . . . . . . . . . . . . . . . 167
7.3 Implicit Runge-Kutta Methods . . . . . . . . . . . . . . . . . 176
7.4 MATLAB ODE Solvers . . . . . . . . . . . . . . . . . . . . . 191
7.5 Python Solvers for IVPs . . . . . . . . . . . . . . . . . . . . 197
8 Nonstandard Finite Difference Methods for Solving ODEs 207
8.1 Deficiencies with Standard Finite Difference Schemes . . . . 207
8.2 Construction Rules of Nonstandard Finite Difference Schemes 213
8.3 Exact Finite Difference Schemes . . . . . . . . . . . . . . . . 217
8.4 Other Nonstandard Finite Difference Schemes . . . . . . . . 236
III Solving Linear, Nonlinear and Dynamic Optimization Problems 241
9 Solving Optimization Problems: Linear and Quadratic Programming 243
9.1 Form of a Linear Programming Problem . . . . . . . . . . . 243
9.2 Solving Linear Programming Problems with linprog . . . . 246
9.3 Solving Linear Programming Problems with fmincon MATLAB’s Functions . . . 249
9.4 Solving Linear Programming Problems with pulp Python . . 250
9.5 Solving Linear Programming Problems with pyomo . . . . . . 252
9.6 Solving Linear Programming Problems with gekko . . . . . . 254
9.7 Solving Quadratic Programming Problems . . . . . . . . . . 255
10 Solving Optimization Problems: Nonlinear Programming 261
10.1 Solving Unconstrained Problems . . . . . . . . . . . . . . . . 261
10.2 Solving Constrained Optimization Problems . . . . . . . . . 278
11 Solving Optimal Control Problems 289
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
11.2 The First-Order Optimality Conditions and Existence of Optimal Control . . . 290
11.3 Necessary Conditions of the Discretized System . . . . . . . 293
11.4 Numerical Solution of Optimal Control . . . . . . . . . . . . 294
11.5 Solving Optimal Control Problems Using Indirect Methods . 295
11.6 Solving Optimal Control Problems Using Direct Methods . . 306
Bibliography 321
Index 327
|
Côte titre : |
E-Fs/0050 |
En ligne : |
https://sciences-courses.univ-setif.dz/login/index.php |
|  |