ebook img

APPLIED NUMERICAL METHODS USING MATLAB PDF

511 Pages·2005·2.3 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview APPLIED NUMERICAL METHODS USING MATLAB

APPLIED NUMERICAL METHODS USING  MATLAB Won Young Yang Chung-Ang University, Korea Wenwu Cao Pennsylvania State University Tae-Sang Chung Chung-Ang University, Korea John Morris The University of Auckland, New Zealand A JOHN WILEY & SONS, INC., PUBLICATION [email protected]. MATLABandSimulinkaretrademarksoftheTheMathWorks,Inc.andareusedwith permission.TheMathWorksdoesnotwarranttheaccuracyofthetextorexercisesinthisbook. Thisbook’suseordiscussionofMATLABandSimulinksoftwareorrelatedproductsdoesnot constituteendorsementorsponsorshipbyTheMathWorksofaparticularpedagogicalapproachor particularuseoftheMATLABandSimulinksoftware. Copyright2005byJohnWiley&Sons,Inc.Allrightsreserved. PublishedbyJohnWiley&Sons,Inc.,Hoboken,NewJersey. PublishedsimultaneouslyinCanada. Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinany formorbyanymeans,electronic,mechanical,photocopying, recording,scanning,orotherwise, exceptaspermittedunderSection107or108ofthe1976UnitedStatesCopyrightAct,without eitherthepriorwrittenpermissionofthePublisher,orauthorizationthroughpaymentofthe appropriateper-copyfeetotheCopyrightClearanceCenter,Inc.,222RosewoodDrive,Danvers, MA01923,978-750-8400,fax978-646-8600,oronthewebatwww.copyright.com.Requeststo thePublisherforpermissionshouldbeaddressedtothePermissionsDepartment,JohnWiley& Sons,Inc.,111RiverStreet,Hoboken,NJ07030,(201)748-6011,fax(201)748-6008. LimitofLiability/DisclaimerofWarranty:Whilethepublisherandauthorshaveusedtheirbest effortsinpreparingthisbook,theymakenorepresentationsorwarrantieswithrespecttothe accuracyorcompletenessofthecontentsofthisbookandspecificallydisclaimanyimplied warrantiesofmerchantabilityorfitnessforaparticularpurpose.Nowarrantymaybecreatedor extendedbysalesrepresentativesorwrittensalesmaterials.Theadviceandstrategiescontained hereinmaynotbesuitableforyoursituation.Youshouldconsultwithaprofessionalwhere appropriate.Neitherthepublishernorauthorshallbeliableforanylossofprofitoranyother commercialdamages,includingbutnotlimitedtospecial,incidental,consequential,orother damages. ForgeneralinformationonourotherproductsandservicespleasecontactourCustomerCare DepartmentwithintheU.S.at877-762-2974,outsidetheU.S.at317-572-3993or fax317-572-4002. Wileyalsopublishesitsbooksinavarietyofelectronicformats.Somecontentthatappearsin print,however,maynotbeavailableinelectronicformat. LibraryofCongressCataloging-in-PublicationData Yang,Won-young,1953–  AppliednumericalmethodsusingMATLAB /WonY.Yang,WenwuCao,TaeS. Chung,JohnMorris. p. cm. Includesbibliographicalreferencesandindex. ISBN0-471-69833-4(cloth) 1.Numericalanalysis–Dataprocessing.2.MATLAB.I.Cao,Wenwu.II. Chung,Tae-sang,1952– III.Title. QA297.Y362005 518–dc22 2004013108 PrintedintheUnitedStatesofAmerica. 10987654321 To our parents and families who love and support us and to our teachers and students who enriched our knowledge CONTENTS Preface xiii 1 MATLABUsageandComputational Errors 1 1.1 Basic Operations of MATLAB / 1 1.1.1 Input/Output of Data from MATLAB Command Window / 2 1.1.2 Input/Output of Data Through Files / 2 1.1.3 Input/Output of Data Using Keyboard / 4 1.1.4 2-D Graphic Input/Output / 5 1.1.5 3-D Graphic Output / 10 1.1.6 Mathematical Functions / 10 1.1.7 Operations on Vectors and Matrices / 15 1.1.8 Random Number Generators / 22 1.1.9 Flow Control / 24 1.2 Computer Errors Versus Human Mistakes / 27 1.2.1 IEEE 64-bit Floating-Point Number Representation / 28 1.2.2 Various Kinds of Computing Errors / 31 1.2.3 Absolute/Relative Computing Errors / 33 1.2.4 Error Propagation / 33 1.2.5 Tips for Avoiding Large Errors / 34 1.3 Toward Good Program / 37 1.3.1 Nested Computing for Computational Efficiency / 37 1.3.2 Vector Operation Versus Loop Iteration / 39 1.3.3 Iterative Routine Versus Nested Routine / 40 1.3.4 To Avoid Runtime Error / 40 1.3.5 Parameter Sharing via Global Variables / 44 1.3.6 Parameter Passing Through Varargin / 45 1.3.7 Adaptive Input Argument List / 46 Problems / 46 vii viii CONTENTS 2 SystemofLinearEquations 71 2.1 Solution for a System of Linear Equations / 72 2.1.1 The Nonsingular Case (M =N) / 72 2.1.2 The Underdetermined Case (M <N): Minimum-Norm Solution / 72 2.1.3 The Overdetermined Case (M >N): Least-Squares Error Solution / 75 2.1.4 RLSE (Recursive Least-Squares Estimation) / 76 2.2 Solving a System of Linear Equations / 79 2.2.1 Gauss Elimination / 79 2.2.2 Partial Pivoting / 81 2.2.3 Gauss–Jordan Elimination / 89 2.3 Inverse Matrix / 92 2.4 Decomposition (Factorization) / 92 2.4.1 LU Decomposition (Factorization): Triangularization / 92 2.4.2 Other Decomposition (Factorization): Cholesky, QR, and SVD / 97 2.5 Iterative Methods to Solve Equations / 98 2.5.1 Jacobi Iteration / 98 2.5.2 Gauss–Seidel Iteration / 100 2.5.3 The Convergence of Jacobi and Gauss–Seidel Iterations / 103 Problems / 104 3 InterpolationandCurveFitting 117 3.1 Interpolation by Lagrange Polynomial / 117 3.2 Interpolation by Newton Polynomial / 119 3.3 Approximation by Chebyshev Polynomial / 124 3.4 Pade Approximation by Rational Function / 129 3.5 Interpolation by Cubic Spline / 133 3.6 Hermite Interpolating Polynomial / 139 3.7 Two-dimensional Interpolation / 141 3.8 Curve Fitting / 143 3.8.1 Straight Line Fit: A Polynomial Function of First Degree / 144 3.8.2 Polynomial Curve Fit: A Polynomial Function of Higher Degree / 145 3.8.3 Exponential Curve Fit and Other Functions / 149 3.9 Fourier Transform / 150 3.9.1 FFT Versus DFT / 151 3.9.2 Physical Meaning of DFT / 152 3.9.3 Interpolation by Using DFS / 155 Problems / 157 CONTENTS ix 4 NonlinearEquations 179 4.1 Iterative Method Toward Fixed Point / 179 4.2 Bisection Method / 183 4.3 False Position or Regula Falsi Method / 185 4.4 Newton(–Raphson) Method / 186 4.5 Secant Method / 189 4.6 Newton Method for a System of Nonlinear Equations / 191 4.7 Symbolic Solution for Equations / 193 4.8 A Real-World Problem / 194 Problems / 197 5 NumericalDifferentiation/Integration 209 5.1 Difference Approximation for First Derivative / 209 5.2 Approximation Error of First Derivative / 211 5.3 Difference Approximation for Second and Higher Derivative / 216 5.4 Interpolating Polynomial and Numerical Differential / 220 5.5 Numerical Integration and Quadrature / 222 5.6 Trapezoidal Method and Simpson Method / 226 5.7 Recursive Rule and Romberg Integration / 228 5.8 Adaptive Quadrature / 231 5.9 Gauss Quadrature / 234 5.9.1 Gauss–Legendre Integration / 235 5.9.2 Gauss–Hermite Integration / 238 5.9.3 Gauss–Laguerre Integration / 239 5.9.4 Gauss–Chebyshev Integration / 240 5.10 Double Integral / 241 Problems / 244 6 OrdinaryDifferentialEquations 263 6.1 Euler’s Method / 263 6.2 Heun’s Method: Trapezoidal Method / 266 6.3 Runge–Kutta Method / 267 6.4 Predictor–Corrector Method / 269 6.4.1 Adams–Bashforth–Moulton Method / 269 6.4.2 Hamming Method / 273 6.4.3 Comparison of Methods / 274 6.5 Vector Differential Equations / 277 6.5.1 State Equation / 277 6.5.2 Discretization of LTI State Equation / 281 6.5.3 High-Order Differential Equation to State Equation / 283 6.5.4 Stiff Equation / 284 x CONTENTS 6.6 Boundary Value Problem (BVP) / 287 6.6.1 Shooting Method / 287 6.6.2 Finite Difference Method / 290 Problems / 293 7 Optimization 321 7.1 Unconstrained Optimization [L-2, Chapter 7] / 321 7.1.1 Golden Search Method / 321 7.1.2 Quadratic Approximation Method / 323 7.1.3 Nelder–Mead Method [W-8] / 325 7.1.4 Steepest Descent Method / 328 7.1.5 Newton Method / 330 7.1.6 Conjugate Gradient Method / 332 7.1.7 Simulated Annealing Method [W-7] / 334 7.1.8 Genetic Algorithm [W-7] / 338 7.2 Constrained Optimization [L-2, Chapter 10] / 343 7.2.1 Lagrange Multiplier Method / 343 7.2.2 Penalty Function Method / 346 7.3 MATLAB Built-In Routines for Optimization / 350 7.3.1 Unconstrained Optimization / 350 7.3.2 Constrained Optimization / 352 7.3.3 Linear Programming (LP) / 355 Problems / 357 8 MatricesandEigenvalues 371 8.1 Eigenvalues and Eigenvectors / 371 8.2 Similarity Transformation and Diagonalization / 373 8.3 Power Method / 378 8.3.1 Scaled Power Method / 378 8.3.2 Inverse Power Method / 380 8.3.3 Shifted Inverse Power Method / 380 8.4 Jacobi Method / 381 8.5 Physical Meaning of Eigenvalues/Eigenvectors / 385 8.6 Eigenvalue Equations / 389 Problems / 390 9 PartialDifferentialEquations 401 9.1 Elliptic PDE / 402 9.2 Parabolic PDE / 406 9.2.1 The Explicit Forward Euler Method / 406 9.2.2 The Implicit Backward Euler Method / 407 CONTENTS xi 9.2.3 The Crank–Nicholson Method / 409 9.2.4 Two-Dimensional Parabolic PDE / 412 9.3 Hyperbolic PDE / 414 9.3.1 The Explicit Central Difference Method / 415 9.3.2 Two-Dimensional Hyperbolic PDE / 417 9.4 Finite Element Method (FEM) for solving PDE / 420 9.5 GUI of MATLAB for Solving PDEs: PDETOOL / 429 9.5.1 Basic PDEs Solvable by PDETOOL / 430 9.5.2 The Usage of PDETOOL / 431 9.5.3 Examples of Using PDETOOL to Solve PDEs / 435 Problems / 444 AppendixA. MeanValueTheorem 461 AppendixB. MatrixOperations/Properties 463 AppendixC. DifferentiationwithRespecttoaVector 471 AppendixD. LaplaceTransform 473 AppendixE. FourierTransform 475 AppendixF. UsefulFormulas 477 AppendixG. SymbolicComputation 481 AppendixH. SparseMatrices 489 AppendixI. MATLAB 491 References 497 SubjectIndex 499 IndexforMATLABRoutines 503 IndexforTables 509 PREFACE This book introduces applied numerical methods for engineering and science students in sophomore to senior levels; it targets the students of today who do not like or do not have time to derive and prove mathematical results. It can also serve as a reference to MATLAB applications for professional engineers and scientists, since many of the MATLAB codes presented after introducing each algorithm’s basic ideas can easily be modified to solve similar problems even by those who do not know what is going on inside the MATLAB routines and the algorithms they use. Just as most drivers only have to know where to go and how to drive a car to get to their destinations, most users only have to know how to define the problems they want to solve using MATLAB and how to use the corresponding routines to solve their problems. We never deny that detailed knowledge about the algorithm (engine) of the program (car) is helpful forgetting safelytothe solution (destination);weonly imply thatone-timeusers of any MATLAB program or routine may use this book as well as the students who want to understand the underlying principle of each algorithm. In this book, we focus on understanding the fundamental mathematical con- cepts and mastering problem-solving skills using numerical methods with the help of MATLAB and skip some tedious derivations. Obviously, basic con- cepts must be taught so that students can properly formulate the mathematics problems. Afterwards, students can directly use the MATLAB codes to solve practical problems. Almost every algorithm introduced in this book is followed by example MATLAB code with a friendly interface so that students can easily modify the code to solve real life problems. The selection of exercises fol- lows the some philosophy of making the learning easy and practical. Students shouldbeabletosolvesimilar problemsimmediatelyaftertakingtheclassusing the MATLAB codes we provide. For most students—and particularly nonmath majors—understanding how to use numerical tools correctly in solving their problems of interest is more important than studying lengthy proofs and deriva- tions. MATLAB is one of the most developed software packages available today. It provides many numerical methods and it is very easy to use, even for people withoutpriorprogrammingexperience.WehavesupplementedMATLAB’sbuilt- in functions with more than 100 small MATLAB routines. Readers should find xiii xiv PREFACE these routines handy and useful. Some of these routines give better results for some problems than the built-in functions. Students are encouraged to develop their own routines following the examples. The knowledge in this book is derived from the work of many eminent sci- entists, scholars, researchers, and MATLAB developers, all of whom we thank. We thank our colleagues, students, relatives, and friends for their support and encouragement. We thank the reviewers, whose comments were so helpful in tuning this book. We especially thank Senior Researcher Yong-Suk Park for his invaluablehelpincorrection.WethanktheeditorialandproductionstaffofJohn Wiley & Sons, Inc. including Editor Val Moliere and Production Editor Lisa VanHorn for their kind, efficient, and encouraging guide. WON YOUNG YANG WENWU CAO TAE-SANG CHUNG JOHN MORRIS October2004

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.