View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

5.0 | 1 rating Rate this file 3 Downloads (last 30 days) File Size: 1.77 KB File ID: #21764 Version: 1.0
image thumbnail




16 Oct 2008 (Updated )

Calculate time derivative as a function of state and input variables of a (nonlinear) dynamic system

| Watch this File

File Information

function ddt(of, n, state,dstate,f,u)

  of: the symbolic function you want the derivative of (e.g. x2)
  n: n'th order derivative
  state: a column vector denoting the names of the state, e.g. [x1;x2]
  dstate: the names of the states plus a d in front of them, e.g. [dx1; dx2]
  f: symbolic expression for the derivative of the state, e.g. [x2, sin(u1) ]
  u: a list of inputs, e.g. [u1]

  Suppose we have the following (nonlinear) dynamic system:

      d/ / x1 \ / 2 * cos(x2) + u1 \
      dt \ x2 / = \ - x1^2 + x1*u2 / , y = x2 + x1 + u2

  where x1, x2 are time-dependent states and u1/u2 are time-dependent inputs
  and we are interested (for some reason) in the second time derivative of
  y, expressed in terms of the state [x1;x2] and the inputs and its
  derivatives ([u1;u2], [du1;du2], [d2u1; d2u2]). We calculate this as

    syms x1 x2 dx1 dx2 u1 u2;
    eqn = [ 2*cos(x2) + u1; -x1^2 + x1*u2];
    y = x2 + x1 + u2;
    ddy = ddt ( y, 2, [x1;x2], [dx1;dx2], eqn, [u1;u2])

    ddy =

Note: This function needs the function 'fulldiff' by Tim Jorris, which
  can be downloaded from Matlab's File Exchange.


Fulldiff.M inspired this file.

Required Products Symbolic Math Toolbox
MATLAB release MATLAB 7.0.4 (R14SP2)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
16 Mar 2015 amr wasfy

Contact us