
External
Physical Modeling in MATLAB
Modeling and simulation are powerful tools for explaining the world, making predictions, designing things that work, and making them work better. Learning to use these tools can be difficult; this book is my attempt to make the experience as enjoyable and productive as possible. By reading this book—and working on the exercises—you will learn some programming, some modeling, and some simulation. With basic programming skills, you can create models for a wide range of physical systems.
- Author
- Allen B. Downey
- Publisher
- Olin College
- Source
- LibreTexts
- License
- CC BY-NC
- Language
- EN
- Category
- Information Technology
Contents· 122 sections
- 01: Modeling and Simulation
- 1.01: Modeling
- 1.02: A Glorified Calculator
- 1.03: Variables
- 1.04: Errors
- 1.05: Documentation
- 1.06: Chapter Review
- 1.07: Exercises
- 02: Scripts
- 2.01: Your First Script
- 2.02: Why Scripts
- 2.03: The Fibonacci Sequence
- 2.04: Floating-Point Numbers
- 2.05: Comments
- 2.06: Documentation
- 2.07: Assignment and Equality
- 2.08: Chapter Review
- 2.09: Exercises
- 03: Loops
- 3.01: Updating Variables
- 3.02: Bug Taxonomy
- 3.03: Absolute and Relative Error
- 3.04: for Loops
- 3.05: Plotting
- 3.06: Sequences
- 3.07: Series
- 3.08: Generalization
- 3.09: Incremental Development
- 3.10: Chapter Review
- 3.11: Exercises
- 04: Vectors
- 4.01: Creating Vectors
- 4.02: Vector Arithmetic
- 4.03: Selecting Elements
- 4.04: Indexing Errors
- 4.05: Vectors and Sequences
- 4.06: Plotting Vectors
- 4.07: Common Vector Operations
- 4.08: Chapter Review
- 4.09: Exercises
- 4.10: Working with Conditions
- 05: Functions
- 5.01: Name Collisions
- 5.02: Defining Functions
- 5.03: Function Documentation
- 5.04: Naming Functions
- 5.05: Multiple Input Variables
- 5.06: Chapter Review
- 5.07: Exercise
- 06: Conditionals
- 6.01: Relational Operators
- 6.02: if Statement
- 6.03: Incremental Development
- 6.04: Logical Functions
- 6.05: Nested Loops
- 6.06: Putting It Together
- 6.07: Encapsulation and Generalization
- 6.08: Adding a continue Statement
- 6.09: How Functions Work
- 6.10: Chapter Review
- 6.11: Exercise
- 07: Zero-finding
- 7.01: Solving Nonlinear Equations
- 7.02: Debugging
- 7.03: Chapter Review
- 7.04: Exercises
- 08: Functions of vectors
- 8.01: Functions and Vectors
- 8.02: Computing with Vectors
- 8.03: Debugging in Four Acts
- 8.04: Chapter Review
- 09: Ordinary Differential Equations
- 9.01: Functions and Files
- 9.02: Differential Equations
- 9.03: Eulers Method
- 9.04: Implementing Eulers Method
- 9.05: Solving ODEs with ode45
- 9.06: Time Dependence
- 9.07: What Could Go Wrong
- 9.08: Labeling Axes
- 9.09: Chapter Review
- 9.10: Exercise
- 10: Systems of ODEs
- 10.01: Matrices
- 10.02: Solving Systems of ODEs
- 10.03: Chapter Review
- 10.04: Exercises
- 11: Second-order systems
- 11.01: Newtonian Motion
- 11.02: Free Fall
- 11.03: ODE Events
- 11.04: Air Resistance
- 11.05: Chapter Review
- 11.06: Exercises
- 12: Two Dimensions
- 12.01: Spatial Vectors
- 12.02: Adding Vectors
- 12.03: ODEs in Two Dimensions
- 12.04: Drag Force
- 12.05: What Could Go Wrong
- 12.06: Chapter Review
- 12.07: Exercises
- 13: Optimization
- 13.01: Optimal Baseball
- 13.02: Trajectory
- 13.03: Range Versus Angle
- 13.04: fminsearch
- 13.05: Animation
- 13.06: Chapter Review
- 13.07: Exercises
- 14: Springs and Things
- 14.01: Bungee Jumping
- 14.02: Bungee Revisited
- 14.03: Spider-Man
- 14.04: Celestial Mechanics
- 14.05: Conservation of Energy
- 14.06: Chapter Review
- 15: Under the Hood
- 15.01: How ode45 Works
- 15.02: How fzero Works
- 15.03: How fminsearch Works
- 15.04: Chapter Review