Heath - Scientific Computing (523150), страница 81
Текст из файла (страница 81)
Output typically includes the solutionvector y at tout , a status flag indicating any warnings or error conditions, and possibly somemeasures of the quality and cost of the solution. Usually such software is set up so that itcan be called repeatedly, with the new initial t equal to the previous tout , in order to obtainoutput at desired points across the overall interval of integration.300CHAPTER 9. INITIAL VALUE PROBLEMS FOR ODESSourceFMMHSLIMSLKMNMATLABNAGnetlibNRNUMALODEPACKSLATECTOMSTOMS9.8Table 9.2: Software for ODE initial value problemsRunge-KuttaAdamsStiffrkf45da02dc03ivprkivpagivpagsdriv2sdriv2ode23/ode45ode113ode15s/ode23sd02bafd02cafd02eafdverkodevode/vodpkodeintstiffrkemultistepgmslsodelsodederkfdeabm/sdriv1 debdf/sdriv2gerk(#504)stint(#534)brk45(#669)/rkn(#670)mebdf(#703)Historical Notes and Further ReadingEuler proposed his method for initial value problems in 1768.
Much of the early impetusfor the numerical solution of ordinary differential equations was from celestial mechanics.For example, in 1846 Adams—for whom the classical linear multistep methods are named—finished in a dead heat with Le Verrier in accurately predicting the location at which theplanet Neptune would be discovered. Their orbital calculations were based on known butpreviously unexplained perturbations in the orbit of Uranus.Runge-Kutta methods were developed independently by Runge and Kutta around 1900.Fehlberg’s implementation, which permitted an efficient error estimate, was developed inthe 1960s.
A practical method based on extrapolation was published by Bulirsch and Stoerin 1966. Gear’s method for solving stiff ODEs was published in 1971, along with a veryinfluential computer program difsub (TOMS #407) implementing the method. Anotherinfluential code for solving ODEs was developed at about the same time by Krogh. Multivalue methods were first proposed by Nordsieck in 1962 to address the implementationdifficulties of multistep methods. For the equivalence of multistep and multivalue methods,see Skeel [230].Recent books on the numerical solution of initial value problems for ODEs include [66,133, 156, 224]. Earlier textbooks and monographs on this topic include [31, 77, 91, 123,155, 160, 227].
In addition, see the surveys [32, 58, 92, 111, 226, 228, 238]. Practical adviceon using ODE software can be found in [223]. For solving differential-algebraic systems,see [22].Review Questions9.1 True or false: An ODE whose solutioncurves are unbounded as time increases is necessarily unstable.9.2 True or false: In the numerical solutionof an ODE, the global error grows only if theequation is unstable.REVIEW QUESTIONS9.3 True or false: In solving an ODE numerically, the roundoff error and the truncationerror are independent of each other.9.4 True or false: In numerically solving aninitial value problem for an ODE, the globaltruncation error is always at least as large asthe sum of the local truncation errors.9.5 True or false: For solving a stabledifferential equation numerically, an implicitmethod is always stable.9.6 True or false: With an unconditionallystable method, one can take arbitrarily largetime steps in numerically solving a stable ODEto achieve a given accuracy.9.7 True or false: Stiff ODEs are always difficult and expensive to solve.9.8 (a) In general, does a differential equation, by itself, determine a unique solution?(b) If so, why, and if not, what additional information must be specified to determine a solution uniquely?9.9 (a) What is meant by a first-order ODE?(b) Why are higher-order ODEs usually transformed into equivalent first-order ODEs beforesolving them numerically?9.10 (a) Describe in words the distinction between a stable ODE and an unstable ODE.(b) What is a mathematical criterion for determining the stability of a system of ODEsy 0 = f (t, y)?(c) Can the stability or instability of a systemof ODEs change with time?9.11 Which of the following types of firstorder ODEs are stable?(a) An equation whose solution curves converge toward each other(b) An equation whose Jacobian is negative(c) A stiff equation(d ) An equation with exponentially decayingsolutions9.12 Classify each of the following ODEs asstable, unstable, or neutrally stable.(a) y 0 = y + t.(b) y 0 = y − t.301(c) y 0 = t − y.(d ) y 0 = 1.9.13 How does a typical numerical solution ofan ODE differ from an analytical solution?9.14 (a) What is Euler’s method for solvingan ODE?(b) Show how it is derived.9.15 Describe in words the difference betweenthe local truncation error and the global truncation error in solving an initial value problemfor an ODE numerically.9.16 Under what condition is the global errorin solving an initial value problem for an ODElikely to be smaller than the sum of the localerrors at each step?9.17 In solving an ODE numerically, whichis usually more significant, rounding error ortruncation error?9.18 (a) Define in words the error amplification factor for one step of a numerical methodfor solving an initial value problem for anODE.(b) Does the amplification factor depend onlyon the equation, only on the method of solution, or on both?(c) What is the value of the amplification factor for one step of Euler’s method?(d ) What stability region does this imply forEuler’s method?9.19 (a) What is the basic difference betweenan explicit method and an implicit method forsolving an ODE numerically?(b) Comparing these two types of methods, listone relative advantage for each.(c) Name a specific example of a method (orfamily of methods) of each type.9.20 The use of an implicit method for solving a nonlinear ODE requires the iterative solution of a nonlinear equation.
How can oneget a good starting guess for this iteration?9.21 Is it possible for a numerical solutionmethod to be unstable when applied to a stable ODE?9.22 What does it mean for a numerical ODEmethod to be of order p?302CHAPTER 9. INITIAL VALUE PROBLEMS FOR ODES9.23 (a) For solving ODEs, what is thehighest-order accuracy that a linear multistepmethod can have and still be unconditionallystable?(b) Give an example of a method having theseproperties (by name or by formula).9.24 Compare the stability regions (i.e., thestability constraints on the stepsize) for theEuler and backward Euler methods for solvinga scalar ODE.9.25 For the backward Euler method, whichfactor places a stronger restriction on thechoice of stepsize: stability or accuracy?9.26 Which of the following numerical methods for solving a stable ODE numerically areunconditionally stable?(a) Euler’s method(b) Backward Euler method(c) Trapezoid rule9.27 (a) What is meant by a stiff ODE?(b) Why may a stiff ODE be difficult to solvenumerically?9.33 (a) What is the basic difference betweena single-step method and a multistep methodfor solving an ODE numerically?(b) Comparing these two types of methods, listone relative advantage for each.(c) Name a specific example of a method (orfamily of methods) of each type.9.34 List two advantages and two disadvantages of multistep methods compared withclassical Runge-Kutta methods for solvingODEs numerically.9.35 What is the principal drawback of a Taylor series method compared with a RungeKutta method for solving ODEs?9.36 (a) What is the principal advantage ofextrapolation methods for solving ODEs numerically?(b) What are the disadvantages of such methods?9.37 In using a multistep method to solve anODE numerically, why might one still need tohave a single-step method available?(c) What type of method is appropriate forsolving stiff ODEs?9.38 Why are multistep methods for solving ODEs numerically often used in predictorcorrector pairs?9.28 Suppose one is using the backward Euler method to solve a nonlinear ODE numerically.
The resulting nonlinear algebraic equation at each step must be solved iteratively.If a fixed number of iterations are performedat each step, is the resulting method unconditionally stable?9.39 If a predictor-corrector method for solving an ODE is implemented as a PECEscheme, does the second evaluation affect thevalue obtained for the solution at the point being computed? If so, what is the effect, and ifnot, then why is the second evaluation done?9.29 Explain why implicit methods are betterthan explicit methods for solving stiff systemsof ODEs numerically.9.40 List two reasons why multivalue methods are easier to implement than multistepmethods for solving ODEs adaptively with automatic error control.9.30 What is the simplest numerical methodthat is stable for integrating a stiff ODE?9.31 For solving ODEs numerically, why isit usually impractical to generate methods ofvery high accuracy by using many terms in aTaylor series expansion?9.32 In solving an ODE numerically, withwhich type of method, Runge-Kutta or multistep, is it easier to supply values for the numerical solution at arbitrary output points withineach step?9.41 For each of the following properties,state which type of ODE method, multistepor classical Runge-Kutta, more accurately fitsthe description:(a) Self starting(b) More efficient in attaining high accuracy(c) Can be efficient for stiff problems(d ) Easier to program(e) Easier to change stepsize(f ) Easier to obtain a local error estimateEXERCISES303(g) Easier to produce output at arbitrary intermediate points within each step9.42 Give two approaches to starting a multistep method initially when past solution history is not yet available.Exercises9.1 Write each of the following ODEs as anequivalent first-order system of ODEs:(a) y 00 = t + y + y 0 .(b) y 000 = y 00 + ty.(c) y 000 = y 00 − 2y 0 + y − t + 1.9.2 Write each of the following ODEs as anequivalent first-order system of ODEs:(a) Van der Pol equation:0002y = y (1 − y ) − y.(b) Blasius equation:y 000 = −y y 00 .(c) Newton’s Second Law of Motion for twobody problem:y100y200= −GM y1 /(y12 + y22 )3/2 ,= −GM y2 /(y12 + y22 )3/2 .9.3 Is the following system of ODEs stable?y10y20= −y1 + y2 ,= −2y2 .Explain your answer.9.4 Consider the ODE y 0 = −5y with initialcondition y(0) = 1.