Nonautonomous ODEs
- To: mathgroup at smc.vnet.net
- Subject: [mg72701] Nonautonomous ODEs
- From: Virgil Stokes <vs at it.uu.se>
- Date: Tue, 16 Jan 2007 02:19:13 -0500 (EST)
I am having a problem with the numerical solution of non-autonomous
ODEs. For example, I have the following code for a simple linear 2nd
order ODE with a forcing function, F[t_]
Clear[x,t]
a = 36;
b = 12;
c = 145;
t0=0; tmax = 20;
eqn := a x''[t] + b x'[t] + c x[t] == F[t]
F[t_] := 100 Exp[-t/6]Cos[2 t];
The following code gives its analytical solution and a plot of the
solution for zero initial conditions,
soln = DSolve[{eqn,x[0]==0,x'[0]==0},x[t],t]//Simplify
truesoln = x[t]/.soln
Plot[truesoln,{t,t0,tmax}];
The numerical solution and its plot can be obtained with,
soln = NDSolve[{eqn,x[0]==0,x'[0]==0},x[t],{t,t0,tmax}];
Plot[Evaluate[x[t]/.soln],{t,t0,tmax}];
My problem, is that suppose the driving function is a sequence of unit
amplitude rectangular pulses, each with width of 0.3 and having a period
1.0, then how can F[t_] be defined so that NDSolve can be used to obtain
a numerical solution?
--V. Stokes