15.11.2014 Views

MATLAB Mathematics - SERC - Index of

MATLAB Mathematics - SERC - Index of

MATLAB Mathematics - SERC - Index of

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Initial Value Problems for ODEs and DAEs<br />

Evaluating the Solution at Specific Points<br />

The numerical methods implemented in the ODE solvers produce a continuous<br />

solution over the interval <strong>of</strong> integration [ a,<br />

b]<br />

. You can evaluate the<br />

approximate solution, Sx ( ), at any point in [ a,<br />

b]<br />

using the function deval and<br />

the structure sol returned by the solver. For example, if you solve the problem<br />

described in “Example: Solving an IVP ODE (van der Pol Equation, Nonstiff)”<br />

on page 5-9 by calling ode45 with a single output argument sol,<br />

sol = ode45(@vdp1,[0 20],[2; 0]);<br />

ode45 returns the solution as a structure. You can then evaluate the<br />

approximate solution at points in the vector xint = 1:5 as follows:<br />

xint = 1:5;<br />

Sxint = deval(sol,xint)<br />

Sxint =<br />

1.5081 0.3235 -1.8686 -1.7407 -0.8344<br />

-0.7803 -1.8320 -1.0220 0.6260 1.3095<br />

The deval function is vectorized. For a vector xint, the ith column <strong>of</strong> Sxint<br />

approximates the solution y( xint(i) ).<br />

Solver for Fully Implicit ODEs<br />

The solver ode15i solves fully implicit differential equations <strong>of</strong> the form<br />

ftyy′ ( , , ) = 0<br />

using the variable order BDF method. The basic syntax for ode15i is<br />

[t,y] = ode15i(odefun,tspan,y0,yp0,options)<br />

The input arguments are<br />

odefun<br />

tspan<br />

A function that evaluates the left side <strong>of</strong> the differential equation<br />

<strong>of</strong> the form ft ( , y,<br />

y′ ) = 0 .<br />

A vector specifying the interval <strong>of</strong> integration, [t0,tf]. To obtain<br />

solutions at specific times (all increasing or all decreasing), use<br />

tspan = [t0,t1,...,tf].<br />

5-15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!