General Information
The toolbox contains MATLAB® routines for computing recurrence plots and solving related problems (e.g., phasespace reconstruction). It includes extended recurrence quantification (Marwan et al., Phys. Rev. E, 2002), recurrence network measures (Marwan et al., Phys. Lett. A, 2009), cross recurrence plots (Marwan & Kurths, Phys. Lett. A, 2002; Marwan et al., Nonlin. Proc. Geophys., 2002), and joint recurrence plots (Romano et al., Phys. Lett. A, 2004).
Most functions come with a user-friendly graphical user interface, however, a pure command-line application of the programmes is also possible.
Parameters in [ ] are optional.
Requirements
This toolbox requires MATLAB 7 (MATLAB 2007) or newer.
Required MATLAB toolboxes:
- Statistics and Machine Learning Toolbox
- Signal Processing Toolbox
How to get
Look at the installation notes.
How to cite
Check the conditions for using the toolbox at installation page for required references. Moreover, add the specific following one for the software:
N. Marwan: Cross Recurrence Plot Toolbox for MATLAB, Version 5.28 (R37),
https://tocsy.pik-potsdam.de/CRPtoolbox/, accessed 2023-10-02.
BibTeX:
@software{crptoolbox, author = {N. Marwan}, title = {{CRP Toolbox}}, version = {5.28 (R37)}, year = {2013}, url = {https://tocsy.pik-potsdam.de/CRPtoolbox}, date = {2023-10-02}, }
How to contact
Get the contact information on the web site of Norbert Marwan.
Follow @recurrenceplotAcknowledgements
The development of is toolbox was partly supported by the projects
- Nonlinear Phase and Correlation Analysis of Palaeomagnetic and Palaeoclimatic Records funded by DFG Priority Programme SP1097 Geomagnetic variations: Spatio-temporal variations, processes and impacts on the system Earth,
- BONE3D (MAP AO-2004-125) funded by the Microgravity Application Program/ Biotechnology from the Human Spaceflight Program of the European Space Agency (ESA),
- Recurrence plot analysis of regime changes in dynamical systems funded by the DFG (grant MA4759/9-1), and
- the BioSim Network of Excellence.
Moreover, I'm especially grateful to Giovanna Varni (Genova, Italy), Paolo Sirabella (Roma, Italy), Shine Lu (Nan Jing, China), Charles L. Webber (Chicago, USA), Joseph P. Zbilut (Chicago, USA), Simon Mandelj (Slovenia), Denis Mottet (Montpellier, France), Micahel Wess (Vienna, Austria), Eleni Vlahogianni (Athens, Greece), George Tzagkarakis (Paris, France), Arian Taghvamanesh (Tehran, Iran), Vahndi Minah (London, UK), Florian Ruch (Munich, Germany), Mircea Stoica (Hamburg Eppendorf, Germany), K. Hauke Kraemer (Potsdam, Germany), and many more who have sent us error reports and hints for never ending improvement of the toolbox.
Remarks
A plain commandline version for creation of recurrence plots and RQA analysis is available for some Unix/Linux and Dos/Windows systems.
Copyright
© 2023 PIK Potsdam
This toolbox is licensed under the CC-GNU GPL.
Please respect the copyrights! The toolbox is protected
by the copyright and the GPL. If you use the provided toolbox
you have to refer to the given publications
(see the user agreement on the installation
site).
Version history
5.28 (2023-09-05 16:06:10)
- fix downward compatibility
5.27 (2023-08-14 19:00:41)
- add linking between time series and CRP in the GUI for the JRP function
- bug fix creating CRP GUI for older MATLAB versions
5.26 (2023-07-05 18:16:23)
- add missing logo files update makeinstall
- script to trigger a gitlab release based on tag
- minor housekeeping of repository
5.25 (2023-06-09 12:04:14)
- add makeinstall.rc
- add missing crpclean to the repo
- remove old log information from the files (legacy from CVS versioning)
- bugfix in transposed distance matrix (unthresholded RP) when x and y have different size
- bug fix in CRP2 with exchanged NX and NY
- remove missing files from repo
- add missing "init_properties"
- bug fix misspelled haxes variable
5.24 (2022-11-09 13:53:12)
- updated contents file
- bug fix in Levenshtein and DTW
5.23 (2022-03-09 20:20:13)
- replace the distance calculation with the native pdist2 version for speed enhancement fix embedding function to be applicable to multi-column vectors
- some technical fixes
- update copyright text
- bug in GUI in crqa fixed
- correct dl_censi (neglect LOI)
- change dl function to use 'all' as default. include borderline corrections into crqa
- merging dl_censi and dl_kelo into the standard dl function
- add new functions for correcting line length distributions, based on KELO and CENSI schema
- add new function skel_crp (cleaning of RPs/ skeletonization)
- add check for input
- minor code polishing in fnn
- fnn corrected
- add embed function, correct fnn function
- bugfix in updating recurrence plots after calculation
- bugfix in waitbar
- allow trafo of multicolumn vectors
- fix time axis bug
- change name of logo in order to preserve MATLAB compatibility (R2019a)
- changed help text when error occurs (out of memory error)
5.22 (2018-11-01 18:41:19)
- minor mods
- fix bug with Theiler window in jrqa
- fix bug when 1st column of input variable is time vector
- crucial fixes for bivariate analysis
- added fix for NaNs
- tiny fix in error dialog
5.21 (2017-07-06 16:29:29)
- fix clustering coeff. bug
- fixing a bug in tt.m if applied to CRP
- bug with wrong axes handle for the results plots fixed
5.20 (2016-09-23 12:55:27)
- link axis of RP and data for simultaneous effects when zooming etc. bug fix: output of rqa-measures when using store-button and on commandline had been differently handled
- link axis of RP and data for simultaneous effects when zooming etc.
- normalization bug in crqad fixed
5.19 (2016-06-14 11:52:12)
- fix for option 'rr' in order to exclude the LOI
- forgotten to remove a debug option
- again fixing time sxis bug (when using multi-column vector)
- corrgram: add Spearman's rho and Kendall's tau fax number changed
- fax number changed
- in recons.m: add test for empty results vector
- adding Hirata's reconstruction method to recons.m
- bug in using time series without explicit time scale fixed
5.18 (2016-03-03 14:57:41)
- updated input/output check (because Mathworks is removing downwards compatibility) bug in crqad_big fixed (calculation of xcf).
- bug in time axis fixed
- added support for multi-column phase space vectors
- complete recoding based on an implementation by Maik Riedl (much faster calculations)
- bug in normalise and method option fixed
- fix compatibility issues (R2014b)
- fixed broken compatibility with MATLAB 2015b
- bug in NaN check fixed
- bug in normalized norm for variable y fixed
- README updated
- bug in "normalisezed vectors" norm resolved
- bug in colorbar scaling fixed
- Matlab R2014b incompatibility issues fixed
- RT corrected
- toolbox version included
5.17 (2014-06-23 07:08:16)
- slight changes (ver + cvs repo migration)
- correction for time delay
- bug in windowing approach when using window length = data length fixed
- corrected output length, RQA measures of last window added
- minor bugfix: parameter settings
- bugfixes: changed Matlab schema
- bugfixes: counting bins amd check for NaNs
- minor fix: parameter settings
- bugfix in estimation black and white vertical lines
- bugfix for mixed output RTE and T2 bugfix for recurrence time estimation
- bug fix for sparse CRP matrices lmin option added
- fix of intermixed variables in the code
- bug fix for empty vector
- bugfix for RTE for very short time series
- bug fix: normalisation of data when data contains Inf
- default figure background color bug fixed
- bugfix in lmin check adding note on Theiler window (regarding the calculation in crqa.m)
- bugfix in cross version for calculation of network measures
- fix output of network measures
- updated references bug in mean clustering coefficient
5.16 (2010-06-30 12:05:01)
- RPDE added
- Help text modified
- RPDE, Clustering and Transitivity added
- better performance during error debugging
- added reference
- debugging line removed
- better debugging performance if error occurs
5.15 (2010-06-29 12:48:16)
- bug in checking the lengths of x and y
- some minor bugs in output and test of time series lengths (of x and y)
- initial submission
- bug on check of data length
- change from GPL to BSD license
- bugfix if embedding exceeds data length
- adding pdist as an alternative to get the RP
- missing default t
- normalisation issue solved
- automatic window length determination restored back further argument checking (extreme embedding) added
- automatic window length determination corrected
- correction of frequency scale
- copyright address updated
- corrected XCF calculation
- corrected DET calculation when using Theiler window
- copyright address changed
5.14 (2009-03-24 08:29:39)
- new functions (corrgram, migram)
- serious bug fix, zero columns were also considered as twins!
- initial import
- silent ability added, minor bug fixes
- bug fix for logical data vectors
5.13 (2008-07-02 11:59:22)
- new norms: DTW and Levenshtein bug fix for logical data vectors
- initial import
- bug in embedding dimension fixed
- Including of a abort condition in order to avoid infinite loops.
- levenshtein and DTW distance added
- fixed problem of empty RP
- window size bug
- missed Vmax
- fix XML bug
- fix of the colorbar bug
- initial import
- changed gpl splash behaviour
- includes also white vertical lines
- bug in crqa output resolved
- added embedding delay
5.12 (2007-07-18 17:18:55)
- integer values in the arguments supported
- bug for single data series resolved
- speed enhanced
- some comments added
- definitions of criteria checked and corrected
- added fixed RR support
- forgotten semicolon
5.11 (2007-05-15 17:33:13)
- new neighbourhood criterion: fixed RR
5.10 (2007-05-15 16:01:09)
- minor change in outfit
5.9 (2007-03-29 13:17:51)
- uint8 of order patterns and order matrix
- bug fix: rare bug due to a Matlab bug in MenuBar property for some XWindows systems (and only if matlab is running without java)
- bug entropy vertical white lines resolved
- minor bug: different lengths of vectors z0 and z1
5.8 (2006-10-24 14:16:26)
- minor change: sigma in title line of RP shown only for normalised data
- initial check in
- Bug during printing solved
- lag = zero allowed
- order patterns for multi-column vectors without embedding
- axis-error
5.7 (2006-03-29 13:08:01)
- problems regarding OPRPs and embedding resolved
- code flattened
- code refreshed
- dimension and delay for plugin released
5.6 (2006-02-14 11:46:34)
- bug in plugin-call (dim and delay) resolved
- bug in plugin support (lmin and vmin not correct) resolved
- bug in multi-column input resolved
- bug in multi-dimensional embedding solved
- bug in order patterns plugin support solved
- plugin support for order patterns
5.5 (2006-02-06 13:46:17)
- plugin for order patterns recurrence plots supported
- && and || changed to & and | (upwards compatibility)
- && and || changed to & and | (seems to cause problems in Matlab 12.1)
5.4 (2005-11-23 07:30:30)
- modified interdependent algorithm bug in showing RP fixed
- help text updated
5.3 (2005-11-09 08:58:30)
- bug fix in interdependent neighbours method
- fix of a serious bug in the GUI
- small speed up by using simpler commands
- line fitting algorithm improved (linear interpolation between set points)
- normalization bug resolved
- bug due to UINT8 data type resolved
5.2 (2005-06-15 15:16:00)
- RP matrix transposed for "interdependent neighbourhood"
- resolved bug: crash if waitbar was called with '0'
5.1 (2005-04-15 09:03:03)
- minor bugfix in plugin section
- plugin added
4.8.1.6 (2005-04-08 09:22:15)
- Included plugin
- plugin added
- computation of recurrence times is now faster
- several small bug fixes which improves the precision
- changed from log2 to natural log
- bug in distance plot and colormap selection fixed
- bug in colormap selection fixed
- bug in minimal length for diagonal and vertical lines fixed
- support for joint recurrence plots added
4.8.1.5 (2005-03-16 16:19:41)
- joint recurrence plot added
- bug in output fixed (same time scales for all sub-plots)
- support long data series by using crp_big
- add support for joint recurrence plots
- automatic detection: * of provided time-scale * if multi-column input can be used as phase-space vector
- help text modified
- update of HTML sources
- bug in order patterns RP fixed (empty order patterns)
- bug fix in method checking
- covariance plot commented out
- order patterns recurrence plot added
4.8 (2004-11-10 07:10:46)
- initial import