MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: how to solve for periodic solution?

  • To: mathgroup at
  • Subject: [mg35738] Re: how to solve for periodic solution?
  • From: Selwyn Hollis <slhollis at>
  • Date: Sun, 28 Jul 2002 03:32:13 -0400 (EDT)
  • References: <ahttq2$qjo$>
  • Sender: owner-wri-mathgroup at

It's hard to know for sure what you're expected to do here, so I'll have 
to guess. First off, I'm going to assume that the problem you're 
attempting to describe is this:

   A'(t) = S(t) - k*A(t)
   A(0) = A0

where k= ln(2)/halflife and S is the period-P extension of a "pulse" of 
the form

   q*(UnitStep[t-t1] - UnitStep[t-t2]).

Here 0 <= t1 < t2 < t1 + P, and q is the height of the pulse. I'm also 
guessing that you have numerical values for q, P, A0, and k. The 
question then is: How wide should the pulse be in order for the solution 
   to be periodic.

Here's an approach to get you started toward an "experimental" solution: 
Make a rough guess at t1 and t2. Use those to define

S[t_]:= q*Sum[(UnitStep[t-t1-n*P] - UnitStep[t-t2-n*P]), {n,0,4}]

which will define S up to t = 5P. Now compute the solution of the ODE 
like so:

A[t_] = Simplify[E^(-k t)(A0 + Integrate[E^(k x)S[x], {x, 0, t}])]

Plot the graph of A[t] over {t,0,5*P}. Then adjust your t1 and t2 until 
the solution looks periodic.

Here's another (better) approach: Up to time t=t1 you have
A(t)=A0*e^(-k t). Then for t1 < t < t2 the solution is

A1[t_]= A[t]/.First[DSolve[{A'[t] == q - k*A[t], A[t1]==A0*E^(-k t1)}, 
A[t], t]]

Then for t2 < t < t1 + P the solution is

A2[t_]= A[t]/.First[DSolve[{A'[t] == - k*A[t], A[t2]==A1[t2]}, A[t], t]]

The solution will have period P if A2[P]==A0. Solve that equation for 
t2. You'll find that t2 can be put in the form of t1 + pulse width.

Selwyn Hollis
slhollis at

tom wrote:
> Hi,
> I have no clue as to how to proceed to solve the equation below.
> Any ideas on how to solve for the periodic solution of this equation
> would be most appreciated!! Thankyou!!
> A(t)=S(t+P)-(ln(2)/halflife)*A(t)
> S(t+P) = S(t)  if t1<t<t2
> S(t+P) = 0 otherwise
> where P is the period of the system
> t is the time at which a sample is taken
> t1 is the beginning of a discontinuity
> t2 is the end of a discontinuity
> A(t) is the abundance at time t
> I want to fit data to the resulting equation and find t1 and t2
> Sincerely,
> Tom

  • Prev by Date: Re: Mathematica function writing for data analysis at Gould Academy
  • Next by Date: RE: solving for variables in terms of other variables
  • Previous by thread: RE: how to solve for periodic solution?
  • Next by thread: Front End on Mac OS X