Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.

First Course in Scientific Computing

Symbolic, Graphic, and Numeric Modeling Using Maple, Java, Mathematica, and Fortran90
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9781400841172
Veröffentl:
2011
Seiten:
512
Autor:
Rubin H. Landau
eBook Typ:
PDF
eBook Format:
EPUB
Kopierschutz:
2 - DRM Adobe
Sprache:
Englisch
Beschreibung:

This book offers a new approach to introductory scientific computing. It aims to make students comfortable using computers to do science, to provide them with the computational tools and knowledge they need throughout their college careers and into their professional careers, and to show how all the pieces can work together. Rubin Landau introduces the requisite mathematics and computer science in the course of realistic problems, from energy use to the building of skyscrapers to projectile motion with drag. He is attentive to how each discipline uses its own language to describe the same concepts and how computations are concrete instances of the abstract. Landau covers the basics of computation, numerical analysis, and programming from a computational science perspective. The first part of the printed book uses the problem-solving environment Maple as its context, with the same material covered on the accompanying CD as both Maple and Mathematica programs; the second part uses the compiled language Java, with equivalent materials in Fortran90 on the CD; and the final part presents an introduction to LaTeX replete with sample files. Providing the essentials of computing, with practical examples, A First Course in Scientific Computing adheres to the principle that science and engineering students learn computation best while sitting in front of a computer, book in hand, in trial-and-error mode. Not only is it an invaluable learning text and an essential reference for students of mathematics, engineering, physics, and other sciences, but it is also a consummate model for future textbooks in computational science and engineering courses.
List of Figures xvList of Tables xixPreface xxiChapter 1. Introduction 11.1 Nature of Scientific Computing 11.2 Talking to Computers 21.3 Instructional Guide 41.4 Exercises to Come Back To 6
PART 1. MAPLE (OR MATHEMATICA) BY DOING 7
Chapter 2. Getting Started with Maple 92.1 Setting Up Your Work Space 92.2 Maple's Problem-Solving Environment 102.3 Maple's Command Structure 142.4 Sums and sums 162.5 Execution Groups 212.6 Key Words and Concepts 222.7 Supplementary Exercises 23
Chapter 3. Numbers, Expressions, Functions; Rocket Golf 253.1 Problem: Viewing Rocket Golf 253.2 Theory: Einstein's Special Relativity 263.3 Math: Integer, Rational and Irrational Numbers 273.4 CS: Floating-Point Numbers 293.5 Complex Numbers 313.6 Expressions 323.7 Assignment Statements 343.8 Equality (rhs, lhs) 363.9 Functions 363.10 User-Defined Functions 393.11 Reexpressing Answers 393.12 CS: Overflow, Underflow, and Round-Off Error 443.13 Solution: Viewing Rocket Golf 453.14 Extension: Tachyons* 503.15 Key Words and Concepts 513.16 Supplementary Exercises 51
Chapter 4. Visualizing Data, Abstract Types; Electric Fields 554.1 Why Visualization? 554.2 Problem: Stable Points in Electric Fields 564.3 Theory: Stability Criteria and Potential Energy 564.4 Basic 2-D Plots: plot 584.5 Compound (Abstract) Data Types: [Lists] and {Sets } 634.6 3-D (Surface) Plots of Analytic Functions 694.7 Solution: Dipole and Quadrupole Fields 734.8 Exploration: The Tripole 764.9 Extension: Yet More Plot Types* 764.10 Visualizing Numerical Data 914.11 Plotting a Matrix: matrixplot* 974.12 Animations of Data* 1024.13 Key Words and Concepts 1044.14 Supplementary Exercises 105
Chapter 5. Solving Equations, Differentiation; Towers 1075.1 Problem: Maximum Height of a Tower 1075.2 Model: Block Stacking 1075.3 Math: Equations as Challenges 1095.4 Solving a Single Equation: solve, fsolve 1105.5 Solving Simultaneous Equations (Sets) 1135.6 Solution to Tower Problem 1155.7 Differentiation: limit, diff, D 1175.8 Numerical Derivatives* 1265.9 Alternate Solution: Maximum Tower Height 1275.10 Assessment and Exploration 1285.11 Auxiliary Problem: Nonlinear Oscillations 1295.12 Key Words and Concepts 1315.13 Supplementary Exercises 131
Chapter 6. Integration; Power and Energy Usage (Also 14) 1346.1 Problem: Relating Power and Energy Usage 1346.2 Empirical Models 1346.3 Theory: Power and Energy Definitions 1366.4 Maple: Tools for Integration 1366.5 Problem Solution: Energy from Power 1396.6 Key Words and Concepts 1436.7 Supplementary Exercises 144
Chapter 7. Matrices and Vectors; Rotation 1457.1 Problem: Rigid-Body Rotation 1457.2 Math: Vectors and Matrices 1477.3 Theory: Angular Momentum Dynamics 1497.4 Maple: Linear Algebra Tools 1517.5 Matrix Arithmetic and Operations 1577.6 Solution: Rotating Rigid Bodies 1717.7 Exploration: Principal Axes of Rotation* 1767.8 Key Words and Concepts 1817.9 Supplementary Exercises 182
Chapter 8. Searching, Programming; Dipsticks 1848.1 Problem: Volume of Liquid in Spherical Tanks 1848.2 Math: Volume Integration 1848.3 Algorithm: Bisection Searches 1858.4 Programming in Maple 1878.5 Solution: Volume from Dipstick Height 1948.6 Key Words and Concepts 1958.7 Supplementary Exercises 196
PART 2. JAVA (OR FORTRAN90) BY DOING 197
Chapter 9. Getting Started with Java 1999.1 Compiled Languages 1999.2 Java Program Pieces 2019.3 Entering and Running Your First Program 2029.4 Looking Inside Area.java 2059.5 Key Words 2079.6 Supplementary Exercises 207
Chapter 10. Data Types, Limits, Methods; Rocket Golf 20810.1 Problem and Theory (Same as Chapter 3) 20810.2 Java's Primitive Data Types 20810.3 Methods (Functions) and Modular Programming 21510.4 Solution: Viewing Rocket Golf 21910.5 Your Problem: Modify Golf.java 22310.6 Coercion and Overloading* 22410.7 Key Words 229
Chapter 11. Visualization with Java, Classes, Packages 23211.1 2-D Graphs within Java: PtPlot 23211.2 Installing PtPlot: See Appendix C* 23811.3 Classes and Packages* 23811.4 Gnuplot Basics 24011.5 Java Archives: jar* 244
Chapter 12. Flow Control via Logic; Projectiles 24712.1 Problem: Frictionless Projectile Motion 24712.2 Theory: Kinematics 24812.3 Computer Science: Designing Structured Programs 24912.4 Flow Control via Logic 25112.5 Implementation: Projectile.java 25812.6 Solution: Projectile Trajectories 25912.7 Key Words 25912.8 Supplementary Exercises 260
Chapter 13. Java Input and Output* 26213.1 Basic Input with Scanner 26313.2 Streams: Standard Output, Input, and Error 26313.3 I/O Exceptions: FileCatchThrow.java 27213.4 Automatic Code Documentation: javadoc 27413.5 Nonstandard Formatted Output: printf 275
Chapter 14. Numerical Integration; Power and Energy Usage 28114.1 Problem (Same as Chapter 6): Power and Energy 28114.2 Algorithms: Trapezoid and Simpson's Rules 28214.3 Assessment: Which Rule Is Better? 28814.4 Key Words and Concepts 28914.5 Supplementary Exercises 289
Chapter 15. Differential Equations with Java and Maple* 29015.1 Problem: Projectile Motion with Drag 29015.2 Model: Velocity-Dependent Drag 29115.3 Algorithm: Numerical Differentiation 29215.4 Math: Solving Differential Equations 29215.5 Assessment: Balls Falling Out of the Sky? 29515.6 Maple: Differential-Equation Tools 29715.7 Maple Solution: Drag ¿ Velocity 30215.8 Extract Operands 30315.9 Drag ¿v2 (Exercise) 30615.10 Drag ¿v3/2 30615.11 Exploration: Planetary Motion* 31015.12 Key Words 31115.13 Supplementary Exercises 311
Chapter 16. Object-Oriented Programming; Complex Currents 31316.1 Problem: Resonance in RLC Circuit 31316.2 Math: Complex Numbers 31316.3 Theory: Resistance Becomes Impedance 31716.4 CS: Abstract Data Types, Objects 31916.5 Java Solution: Complex Currents 32916.6 Maple Solution: Complex Currents 33016.7 Explorations: OOP Worked Examples* 33416.8 Key Words 34016.9 Java and Maple Exercises 340
Chapter 17. Arrays: Vectors, Matrices; Rigid-Body Rotations 34117.1 Problem: Rigid-Body Rotations 34117.2 Theory: Angular-Momentum Dynamics 34317.3 CS, Math: Arrays, Vectors, and Matrices 34417.4 Implementation: Inertia.java, Inertia3D.java 34717.5 Jama: Java Matrix Library* 34917.6 Key Words 35317.7 Supplementary Exercises 353
Chapter 18. Advanced Objects; Baton Projectiles* 35518.1 Problem: Trajectory of Thrown Baton 35518.2 Theory: Combined Translation and Rotation 35618.3 CS: OOP Design Concepts 35918.4 Key Words 37718.5 Supplementary Exercises 377
Chapter 19. Discrete Math, Arrays as Bins; Bug Dynamics* 37819.1 Problem: Variability of Bug Populations 37819.2 Theory: Self-Limiting Growth, Discrete Maps 37819.3 Assessment: Properties of Nonlinear Maps 38019.4 Exploration: Bifurcation Diagram, BugSort.java* 38119.5 Exploration: Other Discrete Maps* 384
Chapter 20. 2-D Arrays: File I/O, PDEs; Realistic Capacitor 38520.1 Problem: Field of Realistic Capacitor 38520.2 Theory and Model: Electrostatics and PDEs 38520.3 Algorithm: Finite Differences 38720.4 Implementation: Laplace.java 38920.5 Exploration: 2-D Capacitor 39120.6 Exploration: 3-D Capacitor* 39320.7 Key Words 393
Chapter 21. Web Computing, Applets, Primitive Graphics 39421.1 What Is Web Computing? 39421.2 Implementation: Get This to Work First 39621.3 Exploration: Modify Applet1.java 40121.4 Extension: PtPlot as Applet* 40221.5 Extension: Applet with Button Input* 40321.6 Extension: AWT, JFC, and Swing* 40521.7 Example: Baton Applet, Jparabola.java* 40721.8 Key Words 41021.9 Supplementary Exercises 410
PART 3. LATEX SURVIVAL GUIDE 411
Chapter 22. LATEX for Text 41322.1 Why LATEX? 41322.2 Structure of a LATEXDocument 41422.3 Sample Input File (Sample.tex) 41422.4 Sample LATEXOutput 41622.5 Fonts for Text 42022.6 Environments 42222.7 Lists 42222.8 Sections 425
Chapter 23. LATEX for Mathematics 42723.1 Entering Mathematics: Math Mode 42723.2 Mathematical Symbols and Greek 42823.3 Math Accents 43123.4 Superscripts and Subscripts 43123.5 Calculus and Sums 43123.6 Changing Math Fonts 43223.7 Math Functions 43223.8 Fractions 43223.9 Roots 43323.10 Brackets (Delimiters) 43323.11 Multiline Equations 43423.12 Matrices and Math Arrays 43523.13 Including Graphics 43623.14 Exercise: Putting It All Together 438
Appendix A. Glossary 441Appendix B. Maple Quick Reference, Debugging Help 450Appendix C. Java Quick Reference and Installing Software 461C.1 Java Elements 461C.2 Transferring Files from the CD 465C.3 Using our Maple Worksheets 466C.4 Using our Java Programs 466C.5 Installing PtPlot (or Other) Packages 467C.6 Installing Java Developer's Kit 469
Bibliography 471Index 477

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga