Programming with MATLAB for Scientists: A Beginner's Introduction [Pehme köide]

(College of William and Mary, Department of Physics, Williamsburg, Virginia, USA)
  • Formaat: Paperback / softback, 252 pages, kõrgus x laius: 254x178 mm, kaal: 499 g, 1 Tables, black and white; 85 Illustrations, black and white
  • Ilmumisaeg: 25-Jan-2018
  • Kirjastus: Productivity Press
  • ISBN-10: 1498738281
  • ISBN-13: 9781498738286
Teised raamatud teemal:
  • Pehme köide
  • Hind: 40,60 EUR*
  • Tavahind: 71,79 EUR
  • Säästad 43%
  • Lisa soovinimekirja
  • Lisa ostukorvi
  • Kogus:
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Raamatut on võimalik tellida. Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat.
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Formaat: Paperback / softback, 252 pages, kõrgus x laius: 254x178 mm, kaal: 499 g, 1 Tables, black and white; 85 Illustrations, black and white
  • Ilmumisaeg: 25-Jan-2018
  • Kirjastus: Productivity Press
  • ISBN-10: 1498738281
  • ISBN-13: 9781498738286
Teised raamatud teemal:

This book offers an introduction to the basics of MATLAB programming to scientists and engineers. The author leads with engaging examples to build a working knowledge, specifically geared to those with science and engineering backgrounds. The reader is empowered to model and simulate real systems, as well as present and analyze everyday data sets. In order to achieve those goals, the contents bypass excessive "under the hood" details, and instead gets right down to the essential, practical foundations for successful programming and modeling. Readers will benefit from the following features:

  • Teaches programming to scientists and engineers using a problem-based approach, leading with illustrative and interesting examples.
  • Emphasizes a hands-on approach, with "must know" information and minimal technical details.
  • Utilizes examples from science and engineering to showcase the application of learned concepts on real problems.
  • Showcases modeling of real systems, gradually advancing from simpler to more challenging problems.
  • Highlights the practical uses of data processing and analysis in everyday life.

Preface xi
I Computing Essentials
1 Computers and Programming Languages: An Introduction
1(10)
1.1 Early History of Computing
3(1)
1.2 Modern Computers
4(1)
1.2.1 Common features of a modern Computer
4(1)
1.3 What Is Prograrnming?
5(1)
1.4 Programming Languages Overview
5(2)
1.5 Numbers Representation in Computers and Its Potential Problems
7(3)
1.5.1 Discretization---the main weakness of computers
7(1)
1.5.2 Binary representation
8(1)
1.5.3 Floating-point number representation
8(1)
1.5.4 Conclusion
9(1)
1.6 Self-Study
10(1)
2 MATLAB Basics
11(20)
2.1 MATLAB's Graphical User Interface
11(3)
2.2 MATLAB as a Powerful Calculator
14(3)
2.2.1 MATLAB's variable types
14(1)
2.2.2 Some built-in functions and operators
15(1)
2.2.3 Operator precedence
16(1)
2.2.4 Comments
17(1)
2.3 Efficient Editing
17(1)
2.4 Using Documentation
18(1)
2.5 Matrices
19(6)
2.5.1 Creating and accessing matrix elements
19(2)
2.5.2 Native matrix operations
21(3)
2.5.3 Strings as matrices
24(1)
2.6 Colon (:) Operator
25(1)
2.6.1 Slicing matrices
25(1)
2.7 Plotting
26(3)
2.7.1 Saving plots to files
28(1)
2.8 Self-Study
29(2)
3 Boolean Algebra, Conditional Statements, Loops
31(10)
3.1 Boolean Algebra
31(2)
3.1.1 Boolean operators precedence in MATLAB
32(1)
3.1.2 MATLAB Boolean logic examples
32(1)
3.2 Comparison Operators
33(2)
3.2.1 Comparison with vectors
34(1)
3.2.2 Comparison with matrices
34(1)
3.3 Conditional Statements
35(1)
3.3.1 The if-else-end statement
35(1)
3.3.2 Short form of the "if" statement
36(1)
3.4 Common Mistake with the Equality Statement
36(1)
3.5 Loops
36(4)
3.5.1 The "while" loop
36(2)
3.5.2 Special commands "break" and "continue"
38(1)
3.5.3 The "for" loop
38(2)
3.6 Self-Study
40(1)
4 Functions, Scripts, and Good Programming Practice
41(16)
4.1 Motivational Examples
41(2)
4.1.1 Bank interest rate problem
41(1)
4.1.2 Time of flight problem
42(1)
4.2 Scripts
43(2)
4.2.1 Quadratic equation solver script
43(2)
4.3 Functions
45(2)
4.3.1 Quadratic equation solver function
46(1)
4.4 Good Programming Practice
47(4)
4.4.1 Simplify the code
47(1)
4.4.2 Try to foresee unexpected behavior
48(1)
4.4.3 Run test cases
48(1)
4.4.4 Check and sanitize input arguments
49(1)
4.4.5 Is the solution realistic?
50(1)
4.4.6 Summary of good programming practice
51(1)
4.5 Recursive and Anonymous Functions
51(3)
4.5.1 Recursive functions
51(1)
4.5.2 Anonymous functions
52(2)
4.6 Self-Study
54(3)
II Solving Everyday Problems with MATLAB
57(82)
5 Solving Systems of Linear Algebraic Equations
59(10)
5.1 The Mobile Problem
59(2)
5.2 Built-in MATLAB Solvers
61(2)
5.2.1 The inverse matrix method
61(1)
5.2.2 Solution without inverse matrix calculation
62(1)
5.2.3 Which method to use
62(1)
5.3 Solution of the Mobile Problem with MATLAB
63(2)
5.3.1 Solution check
64(1)
5.4 Example: Wheatstone Bridge Problem
65(1)
5.5 Self-Study
66(3)
6 Fitting and Data Reduction
69(18)
6.1 Necessity for Data Reduction and Fitting
69(1)
6.2 Formal Definition for Fitting
70(1)
6.2.1 Goodness of the fit
70(1)
6.3 Fitting Example
71(2)
6.4 Parameter Uncertainty Estimations
73(1)
6.5 Evaluation of the Resulting Fit
74(1)
6.6 How to Find the Optimal Fit
75(9)
6.6.1 Example: Light diffraction on a single slit
77(1)
6.6.2 Plotting the data
77(1)
6.6.3 Choosing the fit model
78(1)
6.6.4 Making an initial guess for the fit parameters
79(1)
6.6.5 Plotting data and the model based on the initial guess
80(1)
6.6.6 Fitting the data
81(1)
6.6.7 Evaluating uncertainties for the fit parameters
82(2)
6.7 Self-Study
84(3)
7 Numerical Derivatives
87(6)
7.1 Estimate of the Derivative via the Forward Difference
87(1)
7.2 Algorithmic Error Estimate for Numerical Derivative
88(1)
7.3 Estimate of the Derivative via the Central Difference
89(2)
7.4 Self-Study
91(2)
8 Root Finding Algorithms
93(20)
8.1 Root Finding Problem
93(1)
8.2 Trial and Error Method
94(1)
8.3 Bisection Method
95(5)
8.3.1 Bisection use example and test case
97(3)
8.3.2 Possible improvement of the bisection code
100(1)
8.4 Algorithm Convergence
100(1)
8.5 False Position (Regula Falsi) Method
101(1)
8.6 Secant Method
102(1)
8.7 Newton--Raphson Method
103(3)
8.7.1 Using Newton--Raphson algorithm with the analytical derivative
105(1)
8.7.2 Using Newton-Raphson algorithm with the numerical derivative
106(1)
8.8 Ridders' Method
106(2)
8.9 Root Finding Algorithms Gotchas
108(1)
8.10 Root Finding Algorithms Summary
109(1)
8.11 MATLAB's Root Finding Built-in Command
110(1)
8.12 Self-Study
110(3)
9 Numerical Integration Methods
113(16)
9.1 Integration Problem Statement
113(1)
9.2 The Rectangle Method
114(2)
9.2.1 Rectangle method algorithmic error
116(1)
9.3 Trapezoidal Method
116(2)
9.3.1 Trapezoidal method algorithmic error
117(1)
9.4 Simpson's Method
118(1)
9.4.1 Simpson's method algorithmic error
118(1)
9.5 Generalized Formula for Integration
119(1)
9.6 Monte Carlo Integration
119(3)
9.6.1 Toy example: finding the area of a pond
119(1)
9.6.2 Naive Monte Carlo integration
120(1)
9.6.3 Monte Carlo integration derived
120(1)
9.6.4 The Monte Carlo method algorithmic error
121(1)
9.7 Multidimensional Integration
122(1)
9.7.1 Minimal example for integration in two dimensions
122(1)
9.8 Multidimensional Integration with Monte Carlo
123(1)
9.8.1 Monte Carlo method demonstration
124(1)
9.9 Numerical Integration Gotchas
124(1)
9.9.1 Using a very large number of points
124(1)
9.9.2 Using too few points
124(1)
9.10 MATLAB Functions for Integration
125(1)
9.11 Self-Study
126(3)
10 Data Interpolation
129(10)
10.1 The Nearest Neighbor Interpolation
129(1)
10.2 Linear Interpolation
130(2)
10.3 Polynomial Interpolation
132(2)
10.4 Criteria for a Good Interpolation Routine
134(1)
10.5 Cubic Spline Interpolation
134(1)
10.6 MATLAB Built-in Interpolation Methods
135(1)
10.7 Extrapolation
136(1)
10.8 Unconventional Use of Interpolation
136(2)
10.8.1 Finding the location of the data crossing y = 0
136(2)
10.9 Self-Study
138(1)
III Going Deeper and Expanding the Scientist's Toolbox
139(104)
11 Random Number Generators and Random Processes
141(8)
11.1 Statistics and Probability Introduction
141(1)
11.1.1 Discrete event probability
141(1)
11.1.2 Probability density function
142(1)
11.2 Uniform Random Distribution
142(1)
11.3 Random Number Generators and Computers
143(2)
11.3.1 Linear congruential generator
144(1)
11.3.2 Random number generator period
145(1)
11.4 How to Check a Random Generator
145(3)
11.4.1 Simple RNG test with Monte Carlo integration
146(2)
11.5 MATLAB's Built-in RNGs
148(1)
11.6 Self-Study
148(1)
12 Monte Carlo Simulations
149(12)
12.1 Peg Board
149(2)
12.2 Coin Flipping Game
151(1)
12.3 One-Dimensional Infection Spread
152(8)
12.4 Self-Study
160(1)
13 The Optimization Problem
161(34)
13.1 Introduction to Optimization
161(1)
13.2 One-Dimensional Optimization
162(5)
13.2.1 The golden section optimum search algorithm
163(2)
13.2.2 MATLAB's built-in function for the one-dimension optimization
165(1)
13.2.3 One-dimensional optimization examples
165(2)
13.3 Multidimensional Optimization
167(7)
13.3.1 Examples of multidimensional optimization
168(6)
13.4 Combinatorial Optimization
174(9)
13.4.1 Backpack problem
174(4)
13.4.2 Traveling salesman problem
178(5)
13.5 Simulated Annealing Algorithm
183(9)
13.5.1 The backpack problem solution with the annealing algorithm
185(7)
13.6 Genetic Algorithm
192(1)
13.7 Self-Study
193(2)
14 Ordinary Differential Equations
195(18)
14.1 Introduction to Ordinary Differential Equation
195(2)
14.2 Boundary Conditions
197(1)
14.3 Numerical Method to Solve ODEs
197(4)
14.3.1 Euler's method
197(2)
14.3.2 The second-order Runge-Kutta method (RK2)
199(1)
14.3.3 The fourth-order Runge-Kutta method (RK4)
200(1)
14.3.4 Other numerical solvers
200(1)
14.4 Stiff ODEs and Stability Issues of the Numerical Solution
201(2)
14.5 MATLAB's Built-in ODE Solvers
203(1)
14.6 ODE Examples
203(9)
14.6.1 Free fall example
203(3)
14.6.2 Motion with the air drag
206(6)
14.7 Self-Study
212(1)
15 Discrete Fourier-Transform
213(16)
15.1 Fourier Series
213(6)
15.1.1 Example: Fourier series for |t|
215(2)
15.1.2 Example: Fourier series for the step function
217(1)
15.1.3 Complex Fourier series representation
218(1)
15.1.4 Non-periodic functions
219(1)
15.2 Discrete Fourier Transform (DFT)
219(2)
15.3 MATLAB's DFT Implementation and Fast Fourier Transform (FFT)
221(1)
15.4 Compact Mathematical Notation for Fourier Transforms
222(1)
15.5 DFT Example
222(4)
15.6 Self-Study
226(3)
16 Digital Filters
229(14)
16.1 Nyquist Frequency and the Minimal Sampling Rate
229(3)
16.1.1 Under-sampling and aliasing
230(2)
16.2 DFT Filters
232(5)
16.2.1 Low-pass filter
233(1)
16.2.2 High-pass filter
234(1)
16.2.3 Band-pass and band-stop filters
235(2)
16.3 Filter's Artifacts
237(2)
16.4 Windowing Artifacts
239(2)
16.5 Self-Study
241(2)
References 243(2)
Index 245
Eugeniy E. Mikhailov earned his PhD from the Physics Department of Texas A&M University and performed postdoctoral study at MIT. He is now a faculty member in the Department of Physics, College of William and Mary. He has been teaching "Computing for Scientists" to undergraduates in physics, math, and computer science for several years.

Tellige see raamat tutvumiseks meie kauplusesse!Raekoja plats 11, 51004 Tartu

Juhul, kui soovite raamatuga enne ostu tutvuda, siis palun sisestaga allpool oma nimi ning e-mail.
Võimaluse korral tellime raamatu poodi ning teavitame ka teid, kui raamat on müügile jõudnud.

* - väljad on kohustuslikud