ode15s - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

Matlab

  

ode45

  

use MATLAB(R) to solve a previously defined system, f, with ODE45

  

ode15s

  

use MATLAB(R) to solve a previously defined system, f, with ODE15s

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

ode45(f, Trange, IC)

ode45(f, Trange, IC, tol=Tol)

ode15s(f, Trange, IC)

ode15s(f, Trange, IC, tol=Tol)

Parameters

f

-

string naming a function defined in MATLAB®

Trange

-

range, t_initial..t_final

IC

-

initial conditions vector; for example, [0, 0, 0]

tol=Tol

-

optional floating-point setting for tolerance (default is .001)

Description

• 

The ode45 command uses MATLAB® to compute the ODE45 solution of a differential system. The ode15s command uses MATLAB® to compute the ODE15S solution of a differential system.

• 

To be valid, the call must name the function (f) defined in MATLAB®, and specify both the time range (Trange) and the initial condition vector (IC).

• 

The function f must either be a built-in MATLAB® function, or a function defined in the file f.m in the active MATLAB® path

• 

The time range must contain both a start time (t_initial) and an end time (t_final).

• 

The initial condition (IC) must have a dimension consistent with the dimension of the system defined in the function, f.

• 

The tolerance option (specified using 'tol'=Tol) must be a floating-point value.  It defaults to .001 if not specified.

• 

Executing the ode45 command returns two Vectors: (T, X). T is the Vector of time steps where f was evaluated, and X is a Vector of values of f, evaluated at times in T.

Examples

withMatlab:

Call ode45 to work on a built-in MATLAB® function.

T,Yode45vdp1,0..20,2,0

Call ode15s to work on a built-in MATLAB® function.

T,Yode15svdp1000,0..30,2,0

Create a user-defined function, rocket, in Maple.  The file may also be predefined in the current path.

fileopenC:MATLABwork\rocket.m,WRITE:

filecontents\nfunction yp = rocket(t,y)\n% time the rocket catches the target\nglobal INTERCEPT;\n% minimum distance representing intercept\nglobal DMIN;\n% ratio of pursuer speed to target speed\nk=1.3;\n% find speed and position of target\n% (other equations can be substituted here)\nif t < 10 % target changes direction after 10 seconds\n p = [ 10; t; 0 ];\n vt = [ 0 ; 1; 0 ];\nelse\n p = [ 10; 10; t-10 ];\n vt = [ 0 ; 0; 1 ];\nend\nd = sqrt(sum((p-y).^2)); % calculate distance between P and T\nif d < DMIN % check if pursuer has caught targetN\n if t < INTERCEPT % if this is the first time, set the\n INTERCEPT = t; % interception time\n end\n k = 1; % slow down the pursuer\nend\nvp = k*sqrt(sum(vt.^2)); % set speed of pursuer\nyp = vp*(p-y)/d; % determine new position of pursuer\n&colon;

writelinefile&comma;filecontents&colon;

closefile&colon;

Use the ssystem command to set the permissions on UNIX systems.

ssystemchmod a+r rocket.m&colon;

Open the "Matlab Link".

withMatlab

Before accessing the user-defined function, the file needs to be opened (in MATLAB®).

evalMopen('C:MATLABwork\rocket.m')&colon;

Set global variables (in MATLAB®).

setvarDMIN&comma;0.5&comma;globalvar

setvarINTERCEPT&comma;&comma;globalvar

Setup the problem.

ti0&colon;

tf20&colon;

Yo0&comma;0&comma;0&colon;

Solve the problem.

T,Yode45rocket&comma;ti..tf&comma;Yo&comma;tol=0.0005&colon;

Plot the results.

pursuer_plotplotspointplot3dconvertY&comma;listlist&comma;color=blue&comma;symbol=diamond&colon;

target_plotplotspointplot3dseq10&comma;t&comma;0&comma;t=ti..10&comma;seq10&comma;10&comma;t10&comma;t=10..tf&comma;color=red&comma;symbol=cross&colon;

plotsdisplaypursuer_plot&comma;target_plot&comma;axes=normal

See Also

dsolve

Matlab

Matlab[evalM]

MatlabMatrix

 


Download Help Document