testcorr.cpp

Go to the documentation of this file.
00001 #include <iostream>
00002 #include <UniformRNG.h>
00003 #include "miscfunc.h"
00004 #include <numeric>      
00005 #include <algorithm>
00006 #include <boost/bind.hpp>
00007 using namespace std;
00008 int main()
00009 {
00010         complex<double> C(1.,1.);
00011         UniformRNG Random;
00012         const int length = 100; 
00013         const int shift = 10;
00014         vector<double> TimeSeries1(3*length,0);
00015         vector<double> TimeSeries2(3*length,0);
00016         vector<double> Output;
00017         
00018         for (int i = length; i < 2*length; ++i)
00019         {
00020                 TimeSeries1.at(i) = 200*(0.5- Random.GetNumber());
00021         }
00022         for (int i = length+shift; i < 2*length; ++i)
00023         {
00024                 TimeSeries2.at(i) = TimeSeries1.at(i-shift);
00025         }
00026         double mean1=accumulate(TimeSeries1.begin(),TimeSeries1.end(),0.)/length;
00027         double mean2=accumulate(TimeSeries2.begin(),TimeSeries2.end(),0.)/length;
00028         //cout << "Mean1: " << mean1 << " Mean2: " << mean2 << endl;
00029         //transform(TimeSeries2.begin(),TimeSeries2.end(),TimeSeries2.begin(),bind2nd(minus<double>(),mean2));
00030         //transform(TimeSeries1.begin(),TimeSeries1.end(),TimeSeries1.begin(),bind2nd(minus<double>(),mean1));
00031         Correl(TimeSeries2,TimeSeries1,Output);
00032         //cout << "C: " << C << " C*: " << boost::bind<complex<double> >(&conj<double>,_1)(C) << endl;
00033         for (int i = 0; i < Output.size(); ++i)
00034             cout << i << " "<<  TimeSeries1.at(i) << " " << TimeSeries2.at(i) << " " <<Output.at(i)/double(length) << " " << endl;
00035         cout << endl;
00036 }

Generated on Fri Jun 27 13:05:11 2008 for GPLIB++ by  doxygen 1.5.5