00001 #include <iostream>
00002 #include <UniformRNG.h>
00003 #include "miscfunc.h"
00004 #include <numeric>
00005 #include <algorithm>
00006 #include "VecMat.h"
00007 namespace ublas=boost::numeric::ublas;
00008 using namespace std;
00009 int main()
00010 {
00011 UniformRNG Random;
00012 const int length = 100;
00013 gplib::rvec TimeSeries1(length);
00014 gplib::rvec TimeSeries2(length);
00015 gplib::rvec Output(length);
00016
00017 for (int i = 0; i < length; ++i)
00018 {
00019 TimeSeries1(i) = 0;
00020 TimeSeries2(i) = 0;
00021 }
00022 for (int i = 30; i < 60; ++i)
00023 {
00024 TimeSeries1(i) = i;
00025 }
00026 TimeSeries2(10) = 5;
00027 TimeSeries2(11) = 5;
00028 double mean1=std::accumulate(TimeSeries1.begin(),TimeSeries1.end(),0.)/length;
00029 double mean2=std::accumulate(TimeSeries2.begin(),TimeSeries2.end(),0.)/length;
00030 std::cout << "Mean1: " << mean1 << " Mean2: " << mean2 << std::endl;
00031 std::transform(TimeSeries2.begin(),TimeSeries2.end(),TimeSeries2.begin(),bind2nd(std::minus<double>(),mean2));
00032 std::transform(TimeSeries1.begin(),TimeSeries1.end(),TimeSeries1.begin(),bind2nd(std::minus<double>(),mean1));
00033 Correl(TimeSeries1,TimeSeries2,Output);
00034 cout << "After:" << endl;
00035 for (int i = 0; i < Output.size(); ++i)
00036 cout << i << " " << TimeSeries1(i) << " " << TimeSeries2(i) << " " <<Output(i) << " " << endl;
00037 cout << endl;
00038 }