How to find largest Lyapunov exponent for the second order forced duffing oscillator by using the time series data [obtained by ODE45]?

10 views (last 30 days)
Equation of the form:
dydt = [ x(2) ; f*sin(w*t)-c*x(2)-k1*x(1)-k3*x(1)^3]
where, [x(1), x(2)] =[ 0 , 0];
f = 0.5; w= 2 ; c = 0.01; k1 = 0.0213; k3 = 0.319

Accepted Answer

William Rose
William Rose on 7 Oct 2023
Edited: William Rose on 7 Oct 2023
If you have access to the Control Systems toolbox, do
lyapExp = lyapunovExponent(X,fs)
where X is the signal and Fs is its sampling rate.
Since the output from ode45 is not sampled at a constant rate, you will want to either
  1. Pass a tspan argument to ode45() that includes the intermediate times at a constant rate, or
  2. use interp1() to resample X to a constant rate, after ode45() finishes.
I would do option 2.
  12 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!