File Exchange

image thumbnail

Lyapunov exponent estimation from a time series. Documentation added.

version 1.2 (2.49 MB) by

A Matlab version of the Lyapunov exponent estimation algorithm of Wolf et al. -- Physica 16D, 1985.

4.68421
21 Ratings

112 Downloads

Updated

View License

In Physica 16D (1985) we presented an algorithm that estimates the dominant Lyapunov exponent of a 1-D time series by monitoring orbital divergence. The algorithm was distributed for many years by the authors in Fortran and C. It has just been converted to Matlab. Documentation will be posted shortly.

Comments and Ratings (39)

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

For a few of you who asked about creating input data files... The sample files I included were written as unix newline terminated data points. These files may look strange when displayed by various editors. Feel free to create data files with any software that can output time series values, one per line, terminated with a carriage return AND line feed. The existing code will read such files in perfectly well...
Alan Wolf

Mary

Mary (view profile)

Hi,
I am trying to use the code for my time series, but I keep getting an error on fet.m. the error is the vector OUT dimension for the first run is not the same is the next loop run. What could be the problem? any help?

somia ilyas

Thank you so much, Sir

hesam akbari

it's very good !!!
tnx

mh oly

mh oly (view profile)

Ovee Matlab

jose monroy

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

If you have questions about the algorithm, PLEASE DON'T POST THEM HERE. Simply email me. This space is for comments and ratings, not conversations.

Ali Ahmadi

Ali Ahmadi

tnx a lot Sir Alan ... I found that . just one question . i have my own time series in order to calculate biggest LE ( just this and nothing more . just the final result number of time series ) . should i just replace my normalize time series and with your data ?

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

I've been asked more than once... where is the output (exponent estimate). This is discussed in the documentation (Lyapunews.pdf) - please read it. An output file is created when the program is run. The running estimate of the dominant exponent is the 4th column of numbers in that file. Discussed on page 16 of Lyapunews.

Ali Ahmadi

Hi Sir Alan . Tnx a lot for your work . i have a question sir .
where can i exactly find the largest lyapunove in output ? ( in documation mentioned approximately 2.1 )

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

You can’t get negative exponents because:

1) In a system with positive, negative, perhaps zero exponents, the average rate of orbital divergence is dominated by the term that grows fastest, which by definition, is the exponential term with an exponent that is the largest POSITIVE Lyapunov exponent. Negative exponents contribute, but a contribution like e^(-3t) won't be seen if there is also a term like e^(+2t).
2) In a system like the Lorenz attractor, negative exponents relate to transient decay towards the chaotic attractor. Your data set consists solely of post-transient data. Once you discarded the transients, there is not way to get them back.

Jiang Benny

Why cannot I get a negative Lyapunov exponent from this program?

Max Murphy

cbzeng

cbzeng (view profile)

WENZHE HU

liu peng

Mei

Mei (view profile)

Thanks very much Dr. Wolf.

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

There is no fundamental limit to the size/length of the time series. Modify the code (in C, Fortran, etc.) as regards memory requirements to suit your needs. Matlab may not be the best way to go for efficiency...

Mei

Mei (view profile)

I have a question :whether the data points in the time series must be less than 32000 when I use this code,if it is more than 32000,what should I do?
Thank a lot Dr. Wolf !

Krishna Kumar

Thanks a ton Dr. Wolf!

Arlene

Arlene (view profile)

Thanks a bunch Alan!

jingbinchang

Thaks very much dear Wolf.

Abhilash

faraz edadi

Tak120

Tak120 (view profile)

Thaks very much dear Wolf.

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

To Tak120 -- the program produces an output file. That file shows the convergence (hopefully!) of the exponent as orbital divergence is tracked through more and more of the input data file/time series.

Tak120

Tak120 (view profile)

Thanks dear Wolf for this excellent code,
but i have a question : how can i find the result of Lyapunov Exponent from your code?
Thank you again !

mathew james

Phymath

Phymath

Ammar Dukhan

Ammar Dukhan

Thanks Dr. Alan .... the program is amazing.... I just have a simple notice, so a sub-file, Data.lor, should be Data2.lor inside a main program, testbench.m, in order to run..... again thank you....

Best Regards,
Ammar M Dukhan
PhD student at QUT

Vivek

Vivek (view profile)

Please improve the documentation for this program. It is not very clear what the input/output arguments are.
Thanks!

Alan Wolf

Alan Wolf (view profile)

  • 1 file
  • 112 downloads
  • 4.68421

There is nothing wrong with the code that I am aware of. If questions, feel free to email me at wolf@cooper.edu

Alan Wolf

Tak120

Tak120 (view profile)

Dear Predrag,
Could you please give us the correct code.
Thank you

Predrag

It has just been converted to Matlab with several syntax errors in code.

Updates

1.2

Documentation added on 3/16/16

1.2

clarified meaning of EVOLVE parameter.

1.1

10/12/14 -- Added some notes to "documentation.txt" which will probably be sufficient for those who have already used the algorithm. More detailed notes to follow within a week.

MATLAB Release
MATLAB 8.4 (R2014b)

MATLAB Online Live Editor Challenge

Win cash prizes and have your live script featured on our website

Learn more

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

» Watch video