MathGroup Archive 2009

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

Search the Archive

How to use a discretized controller with NDSolve?

  • To: mathgroup at
  • Subject: [mg105007] How to use a discretized controller with NDSolve?
  • From: Joe Hays <hays.joe at>
  • Date: Tue, 17 Nov 2009 05:16:40 -0500 (EST)

Hello all,

I thought I'd check to see if there is a better way to perform a
calculation. I've been using NDSolve to determine the response of a system
of nonlinear differential equations representing a controlled double
pendulum. So, each pendulum has an associated input, say U[i].

The dynamics are discribed by continuous ODEs, however, my controller is
discrete, meaning, every 'dt' seconds new updates are sent to each U[i].
Assuming I know what the desired list of U[i] updates are before hand...
I've used the Piecewise[] function to create piecewise continuous functions
representing each U[i] to inject into the double pendulum system of ODEs.

This is not the way I would do this in other languages but given my somewhat
primitive skills in Mathematica... this is what I came up with. My solutions
appear to be correct so my question is motivated more to improve my
Mathematica skills.

Any thoughts or points are welcome.



  • Prev by Date: Re: Mathematica skill level snippet(s)
  • Next by Date: Re: Fyi, Listing of Mathematica 7 functions (1869 functions)
  • Previous by thread: Re: Re: Strange behavior with loading Experimental package
  • Next by thread: shadow warning with function parameters and local module variables