/* Corr A program for computing the correlation dimension after P. Grassberger kmax=1000000 length of the sequence m_embed=3 maximum embedding dimension eps=1. Largest distance up to which pairs are counted logimax=7 imax=2**logimax-1 is number of boxes in each directions must be < 9 min_delay=1 the minimum delay for which pairs are to be included */ #define MAXSIZE 100000 /* Pay attention to dimensions in grassberger.f */ #include #include #define MM(m,i) mm[i+m*128] main(argc, argv) int argc; char *argv[]; { float xdata[MAXSIZE],xmax; int mm[128*12]; int kmax, m_embed, logimax, min_delay,i,j; float x,eps,dist,t; int arg; char name[128],sExtension[128]; char sFileOut[128]; FILE *fPtr; FILE* fPtrOut; /* defaults: */ m_embed=3; logimax=7; min_delay=1; eps=1.; kmax=0; for (arg=1; argxmax) xmax = -xdata[i]; else if (xdata[i]>xmax) xmax = xdata[i]; } for (i=0;i data saved in file: %s \" \n",sFileOut); dist = eps; for(j=0;j < 128;j++) { dist /=2.; if(MM(i,j) > 0 ) fprintf(fPtrOut,"%e %d\n",dist,MM(i,j)); } fclose(fPtrOut); } }