Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

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

Search the Archive

Re: Estimating parameters p and q in y'' + p y' + q y = Tide(t)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46291] Re: Estimating parameters p and q in y'' + p y' + q y = Tide(t)
  • From: drbob at bigfoot.com (Bobby R. Treat)
  • Date: Fri, 13 Feb 2004 21:56:56 -0500 (EST)
  • References: <c0hhrh$lgd$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

I'll suppress outputs below, and I'm leaving plenty for you to figure
out.

Solve the homogeneous equation to get two independent solutions y1 and
y2:

y[t] /. First@DSolve[{y''[t] + p*y'[t] + q y[t] == 0}, y[t], t];
basis = Plus @@@ CoefficientList[%, {C[1], C[2]}]

Apply variation of parameters. v1 and v2 will satisfy the equations:

system = {v1'[t]y1[t] + v2'[t]y2[t] == 0, v1'[t]y1'[t] + v2'[t]y2'[t]
==
      HoldForm@TIDE[t]}

Substitute for the unknown derivatives as follows:

system2 = system /. {v1'[t] -> w1[t], v2'[t] -> w2[t]}

and solve for the w1 and w2 functions.

Solve[Evaluate@system2, {w1[t], w2[t]}]

This can be made more specific by using ReleaseHold and applying the
rules:

Thread[{y1[t],y2[t]}->basis]

and

Thread[{y1'[t],y2'[t]}->(D[#,t]&/@basis)]

(Use ReleaseHold and /. on the output from Solve.)

v1 and v2 are antiderivatives of w1 and w2, with constants chosen
(eventually) to satisfy the initial conditions.

The inhomogeneous solution is

y[t_] := v1[t]*y1[t] + v2[t]*y2[t]

y[t] will depend on p and q. Good luck doing the regression.

Bobby

gilmar.rodriguez at nwfwmd.state.fl.us (Gilmar Rodr?guez Pierluissi) wrote in message news:<c0hhrh$lgd$1 at smc.vnet.net>...
> Dear Math User friends:
> I have two data sets; the first one corresponds to tide data, and the
> second one corresponds to
> water elevation data obtained from a groundwater monitoring well.  The
> tide affects the water level
> inside the well.  If we let the variable y(t) represent the height of
> the water column inside the pipe,
> and Tide(t) be a least square fit representation of our tide record,
> with t representing time,
> then we can form a Differential Equation:  y'' + p y' + q y = Tide(t),
> where Tide(t) acts as a forcing
> function.  Since I have a water elevation record; what I'm seeking is
> to find a way to estimate
> two values p and q, such that the solution y(t) to the above DE,
> becomes a model that fits my
> water elevation data; i.e. a model in the least square sense, showing
> a correlation (of say) 0.95,
> or above.  The following is an unevaluated Mathematica notebook to
> elaborate this question
> with the aid of a specific example. Please copy the following text and
> paste it into Wordpad, or
> Notepad and save it as DE.txt  Then change the name of this file to
> DE.nb, (ignore the "are you
> sure that you want to  change extention name" message) and open the
> new notebook using
> Mathematica (version 5.0, or version above 5.0) as usual.  Thank you
> for your help!
>


  • Prev by Date: Re: how to explain this weird effect? Integrate
  • Next by Date: Re: FindRoot in Version 5
  • Previous by thread: Estimating parameters p and q in y'' + p y' + q y = Tide(t)
  • Next by thread: Re: Estimating parameters p and q in y'' + p y' + q y = Tide(t)