Ordinary Differential Equations

NDSolve[equns, vars, {t,
t
min
,
t
max
}]
In[]:=
sol=x[t]/.NDSolvex''[t]+0.15x'[t]-x[t]+
3
x[t]
0.3Cos[t],x[0]-1,x'[0]1,x,{t,0,50}
Out[]=
InterpolatingFunction
Domain: {{0.,50.}}
Output: scalar
[t]
In[]:=
Plot[sol,{t,0,50}]
Out[]=

Example: Lorenz Equations

In[]:=
sol={x[t],y[t],x[t]}/.NDSolve[{x'[t]==-3(x[t]-y[t]),y'[t]-x[t]z[t]+26.5x[t]-y[t],​​z'[t]x[t]y[t]-z[t],x[0]z[0]0,y[0]1},{x,y,z},{t,0,100},MaxSteps∞]
Out[]=
InterpolatingFunction
Domain: {{0.,100.}}
Output: scalar
[t],InterpolatingFunction
Domain: {{0.,100.}}
Output: scalar
[t],InterpolatingFunction
Domain: {{0.,100.}}
Output: scalar
[t]
In[]:=
ParametricPlot3D[sol,{t,0,100},PlotPoints100]
Out[]=

Demonstration of chaos and sensitivity to initial conditions

Solve the same system with slightly different initial conditions:
In[]:=
sol=First@NDSolve[{x'[t]-3(x[t]-y[t]),y'[t]-x[t]z[t]+26.5x[t]-y[t],z'[t]x[t]y[t]-z[t],x[0]z[0]0,y[0]#},{x,y,z},{t,0,30},MaxSteps∞]&/@{1,0.9,1.1}
Out[]=
xInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,yInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,zInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,xInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,yInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,zInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,xInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,yInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar
,zInterpolatingFunction
Domain: {{0.,30.}}
Output: scalar

In[]:=
sp[tn_]={Specularity[White,30],Orange,Sphere[{x[tn],y[tn],z[tn]}/.sol,1]};Animate[Graphics3D[sp[t],PlotRange{{-15,15},{-20,20},{0,40}},BackgroundBlack],{t,0,30},DefaultDuration15](*Threeballsforthreeequations*)​​
Out[]=
t

Partial Differential Equations

NDSolve[{eqns, ics, bcs}, vars, {t,
t
min
,
t
max
}, {x,
x
min
,
x
max
}, ...], vars =
{
u
1
,
u
2
, ...}, ics = {
u
1
[t,x,...]
== a,
u
2
[0,x,...]=b,...
}, bcs = {
u
1
[t,
x
min
,...]
== c,
u
1
[t,
x
max
,...]
== d,
u
2
[t,
x
min
,...]
== e,
u
2
[t,
x
max
,...]
== f}
In[]:=
sol=u[t,x]/.NDSolve[{D[u[t,x],t]D[u[t,x],x,x],u[0,x]0,u[t,0]Sin[t],u[t,5]0},u,{t,0,10},{x,0,5}]
Out[]=
InterpolatingFunction
Domain: {{0.,10.},{0.,5.}}
Output: scalar
[t,x]
In[]:=
Plot3D[sol,{t,0,10},{x,0,5},PlotRangeAll]
Out[]=
​

Hybrid Systems

NDSolve[{equn, ics, WhenEvent[pred, action]}, vars, {t, 0, tend}]

Example: Poincare Section of Duffing Equation

Parametric Differential Equations

Find a parameter such that x[10] ==0.

Example: Parameter Fitting to Data

Fit a differential equation of the form y’’(t ) = -wy(t), y(0) = a, y’(0) = b:

Differential Algebraic Equations