Student[NumericalAnalysis] - Maple Programming Help

Home : Support : Online Help : Education : Student Packages : Numerical Analysis : Visualization : Student/NumericalAnalysis/InitialValueProblem

Student[NumericalAnalysis]

 InitialValueProblem
 numerically approximate the solution to a first-order initial-value problem

 Calling Sequence InitialValueProblem(ODE, IC, t=b, opts) InitialValueProblem(ODE, IC, b, opts)

Parameters

 ODE - equation; first order ordinary differential equation of the form $\frac{ⅆ}{ⅆt}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}y\left(t\right)=f\left(t,y\right)$ IC - equation; initial condition of the form y(a)=c, where a is the left endpoint of the initial-value problem t - name; the independent variable b - algebraic; the point for which to solve; the right endpoint of this initial-value problem opts - (optional) equations of the form keyword=value, where keyword is one of method, submethod, numsteps, output, comparewith, digits, order, or plotoptions; options for numerically solving the initial-value problem

Options

 • comparewith = [list]
 A list of method-submethod pairs; the method specified in the method option will be compared graphically with these methods. This option may only be used if output is set to either plot or information.
 It must be of the form
 comparewith = [[method_1, submethod_1], [method_2, submethod_2]]
 If either method lacks applicable submethods, the corresponding submethod_n entry should be omitted.
 Lists of all supported methods and their submethods are found under the descriptions for the method and submethod options, respectively.
 • digits = posint
 The number of digits to which the returned values will be rounded (using evalf). The default value is 4.
 The method used to solve this initial-value problem.
 – euler = Euler's Method
 – taylor = Taylor's Method
 – rungekutta = Runge-Kutta Method
 If no method is specified, the Euler Method is used.
 • numsteps = posint
 The number of steps used for the chosen numerical method. This option determines the static step size for each iteration in the algorithm. The default value is 5.
 • order = posint
 The order of the Taylor approximation.  This option may only be used if method = taylor is specified. The default value is 3.
 • output = solution, Error, plot, information
 Controls what information is returned by this procedure. The default value is solution:
 – output = solution returns the computed value of $y\left(t\right)$ at $t$ = b;
 – output = Error returns the absolute error of $y\left(t\right)$ at $t$ = b;
 – output = plot returns a plot of the approximate solution and the solution from one of Maple's best numeric DE solvers; and
 – output = information returns an array of the values of $t$, Maple's numeric solution, the approximations of $y\left(t\right)$ as computed using this method and the absolute error between these at each iteration.
 • plotoptions = list
 The plot options. This option is used only when output = plot is specified.
 • submethod = midpoint, rk3, rk4, rkf, heun, meuler, step4, step2, step3, step5
 The submethod used to solve this initial-value problem.
 – midpoint = Midpoint Method
 – rk3 = Runge-Kutta 3rd Order
 – rk4 = Runge-Kutta 4th Order
 – rkf = Runge-Kutta-Fehlberg Method
 – heun = Heun's Method
 – meuler = Modified Euler Method
 – step2 = Two-Step Method
 – step3 = Three-Step Method
 – step4 = Four-Step Method
 – step5 = Five-Step Method
 The following describes the possible submethods for each method. If no submethod is specified, the first item in the list is used.
 – euler : None (no submethods apply).
 – taylor : If a Taylor method is specified in the comparewith option (see above), then the order of the Taylor polynomial can be specified as a positive integer, as the second item in the list; see the Examples section.
 – rungekutta: midpoint, rk3, rk4, rkf, heun, and meuler.
 – adamsbashforth: step4, step2, step3, and step5.
 – adamsmoulton: step4, step2, and step3.
 – adamsbashforthmoulton: step4, step2, step3, and step5

Description

 • Given an initial-value problem consisting of an ordinary differential equation ODE, a range a <= t <= b, and an initial condition y(a) = c, the InitialValueProblem command computes an approximate value of y(b).
 • If the second calling sequence is used, the independent variable t will be inferred from ODE.
 • The InitialValueProblem command computes its numeric solution using the specified method and submethod (if applicable). Options given in opts are also observed.
 • The endpoints a and b must be expressions that can be evaluated to floating-point numbers. The initial condition IC must be of the form y(a)=c, where c can be evaluated to a floating-point number.
 • The methods for numerically solving initial-value problems can be explored interactively with the InitialValueProblem tutor.

Notes

 • By their very nature, multi-step methods (such as the Adams methods) impose a minimum on the number of steps allowed. If numsteps is lower than this minimum, then the minimum will be used instead to determine the step size. In general, if $k$ previous function values are required to perform the multi-step method, then numsteps must be at least $k-1$.
 • This procedure operates using floating-point numerics; that is, inputs are first evaluated to floating-point numbers before computations proceed, and numbers appearing in the output will be in floating-point format.

Examples

 > $\mathrm{with}\left(\mathrm{Student}\left[\mathrm{NumericalAnalysis}\right]\right):$
 > $\mathrm{DE1}≔\mathrm{diff}\left(y\left(t\right),t\right)=y\left(t\right)-{t}^{2}+1:$
 > $\mathrm{InitialValueProblem}\left(\mathrm{DE1},y\left(0\right)=0.5,t=3\right)$
 ${5.066}$ (1)
 > $\mathrm{InitialValueProblem}\left(\mathrm{DE1},y\left(0\right)=0.5,t=3,\mathrm{output}=\mathrm{Error}\right)$
 ${0.8916}$ (2)
 > $\mathrm{DE2}≔\mathrm{diff}\left(y\left(t\right),t\right)=1-\mathrm{cos}\left(t\right):$
 > $\mathrm{DE3}≔\mathrm{diff}\left(y\left(t\right),t\right)=y\left(t\right)-{t}^{2}+\frac{{t}^{3}}{9}:$

the order of the Taylor polynomial used by a Taylor method in the comparewith option can be specified as the second item in the list:

 > $\mathrm{InitialValueProblem}\left(\mathrm{DE2},y\left(1\right)=3.10,t=5,\mathrm{method}=\mathrm{rungekutta},\mathrm{submethod}=\mathrm{rkf},\mathrm{comparewith}=\left[\left[\mathrm{taylor},2\right]\right],\mathrm{output}=\mathrm{information},\mathrm{digits}=3\right)$
 $\left[\begin{array}{cccccc}{t}& \left[{\mathrm{Maple\text{'}s numeric solution}}\right]& \left[{\mathrm{R-K-F}}\right]& \left[{\mathrm{Error}}\right]& \left[{\mathrm{2nd-Ord. Taylor}}\right]& \left[{\mathrm{Error}}\right]\\ {1.}& {3.10}& {3.10}& {0.}& {3.10}& {0.}\\ {1.80}& {3.77}& {3.77}& {0.00238}& {3.74}& {0.03}\\ {2.60}& {5.03}& {5.03}& {0.00403}& {5.03}& {0.}\\ {3.40}& {6.60}& {6.60}& {0.00299}& {6.68}& {0.08}\\ {4.20}& {8.01}& {8.01}& {0.00305}& {8.17}& {0.16}\\ {5.}& {8.90}& {8.90}& {0.000395}& {9.09}& {0.19}\end{array}\right]$ (3)
 > $\mathrm{InitialValueProblem}\left(\mathrm{DE2},y\left(1\right)=3.10,t=5,\mathrm{method}=\mathrm{rungekutta},\mathrm{submethod}=\mathrm{rkf},\mathrm{comparewith}=\left[\left[\mathrm{taylor},1\right],\left[\mathrm{taylor},2\right]\right],\mathrm{output}=\mathrm{plot}\right)$
 > $\mathrm{InitialValueProblem}\left(\mathrm{DE3},y\left(0\right)=1,t=3,\mathrm{method}=\mathrm{taylor},\mathrm{order}=2,\mathrm{comparewith}=\left[\left[\mathrm{taylor},3\right],\left[\mathrm{adamsmoulton},\mathrm{step3}\right]\right],\mathrm{output}=\mathrm{plot}\right)$