Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00068 #ifndef NONLINEAR_H
00069 # define NONLINEAR_H
00070 #include "mathadd.h"
00071 #include "distances.h"
00072 #include "definitions.h"
00073
00074 #ifdef __cplusplus
00075 extern "C" {
00076 #endif
00077
00078
00079
00080
00081
00082 typedef struct {
00083 int m;
00084 int tau;
00085 double *x;
00086 int xn;
00087 } TimeDelayReconstruction;
00088
00089 Array* tdelay_to_array( TimeDelayReconstruction *p );
00090
00091
00092 int tdelay_estimate_timelag_mutual( TimeDelayReconstruction *p,
00093 long partitions, long corrlength, double *mutual );
00094 int tdelay_estimate_timelag_autocorr( TimeDelayReconstruction *p );
00095 int tdelay_estimate_dimension( double Rtol, int m_start, int m_end );
00096 double tdelay_fnn_ratio( TimeDelayReconstruction *p, double Rtol, double Atol );
00097 double tdelay_attractor_size( TimeDelayReconstruction *p );
00098
00099
00100 TimeDelayReconstruction* tdelay_init ( int m, int tau, double *x, int n );
00101 void tdelay_free ( TimeDelayReconstruction *p );
00102 void tdelay_print( FILE *out, TimeDelayReconstruction *p);
00103
00104
00105 double tdelay_index_ij( TimeDelayReconstruction *p, int i, int j );
00106 void tdelay_index_i ( TimeDelayReconstruction *p, int i, double *x);
00107 void tdelay_index_j ( TimeDelayReconstruction *p, int j, double *x);
00108
00109
00110 double tdelay_predict_simple( TimeDelayReconstruction *p, double *sample, int npredict, double epsilon );
00111 double tdelay_simple_nonlinear_prediction_error( TimeDelayReconstruction *reference, double *y, int yn,
00112 int npredict, double epsilon );
00113
00114 double** eeg_nonlinear_prediction_error( const EEG *eeg, int embedding_dim, int time_lag,
00115 int npredict, double epsilon,
00116 double** output, OptArgList *optargs );
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120
00121
00122 #endif