1
# This test compares the results of TISEAN corr function
2
# $ corr square.dat -D6000 -n -o "square_tisean.dat"
3
# $ corr square.dat -D6000 -o "square_tisean_norm.dat"
4
# $ corr amplitude.dat -D5000 -n -o "amplitude_tisean.dat"
5
# $ corr amplitude.dat -D5000 -o "amplitude_tisean_norm.dat"
6
# $ corr ar.dat -D5000 -n -o "ar_tisean.dat"
7
# $ corr ar.dat -D5000 -o "ar_tisean_norm.dat"
12
dataset = {"square","amplitude", "ar"};
13
ndata = numel (dataset);
15
tisean_output = @(x) sprintf("%s_tisean.dat",x);
16
tisean_norm_output = @(x) sprintf("%s_tisean_norm.dat",x);
21
data_tisean = load (tisean_output (dataset{i}));
22
data_tisean_norm = load (tisean_norm_output (dataset{i}));
24
data = load ([dataset{i} ".dat"]);
27
# Calculate with Octave
28
[data_octave, lags] = xcorr (data, n,'unbiased');
30
data_octave = data_octave(idx);
33
#Calculate with Octave when normalised
34
data_octave_norm = xcorr (center (data), n, 'coeff');
35
data_octave_norm = data_octave_norm(idx);
36
data_octave_norm = data_octave_norm .* (n ./ (n - (transpose ([0:n-1]))));
40
plot (lags, data_octave,'r.', ...
41
data_tisean(:,1), data_tisean(:,2),'bo')
42
legend ("Octave","Tisean");
46
plot (lags, data_octave_norm,'r.', ...
47
data_tisean_norm(:,1), data_tisean_norm(:,2),'bo')
48
legend ("Octave","Tisean");
51
printf ("Difference on %s: %.3g\n", dataset{i}, ...
52
sqrt (mean ((data_octave-data_tisean(:,2)).^2)));
53
printf ("Difference on %s when normalized: %.3g\n", dataset{i}, ...
54
sqrt (mean ((data_octave_norm-data_tisean_norm(:,2)).^2)));