Краткое описание программ, дополняющих основной пакет TISEAN.

 

В настоящем разделе приведено описание программ, написанных в дополнение к программам проекта TISEAN с целью автоматизации вычислений величины корреляционной размерности восстановленного аттрактора.

 NB! Реализация вычислений полностью обновлена! Теперь все дополнительные процедуры не представлены в виде отдельных программ, а объединены в одной динамической библиотеке d2dlib.dll. В связи с этим в изложенном ниже описании программ полностью сохраняет актуальность алгоритмическая часть, но такие вещи, как командная строка, формат входных и выходных файлов и пр. не имеют смысла.

Программа loc_min.exe.

Эта программа предназначена для поиска первого локального минимума в ряде xn.

Формат файла с исходными данными – 2 столбца чисел, где первый –  порядковый номер числа в ряде (n), а второе – само число (х). Столбцы разделены символом пробела.

Образец содержимого входного файла:

 

0 2.680924e+00

1 1.392891e+00

2 1.096702e+00

3 8.657164e-01

4 6.767627e-01

5 5.015003e-01

6 3.837259e-01

 

В выходном файле содержится полученное число.

Программа запускается со следующей командной строкой:

 

loc_min.exe [-l -X -Y -ofile_out -h]  file_in

 

Параметры командной строки имеют следующий смысл:

 

file_in – имя файла с исходными данными;

-ofile_out – имя файла, содержащего результат; если стоит просто ключ –о, то результат сохраняется в файл, имя которого образуется из имени исходного файла путём добавления к нему символов «_lm»;

-Х – в выходной файл записывается порядковый номер искомого числа;

-У – в выходной файл записывается само число;

-l – в случае ошибки создаётся файл LOC_MIN.log, в который записывается отчёт об ошибке;

-h – вывод на экран краткой справки.

 

Программа getextr.exe

 

Эта программа ищет Х-координату первого локального максимума, общего для нескольких графиков. Алгоритм поиска описан здесь.

Каждый из графиков в исходном файле представлен двумя столбцами чисел. Графики записаны в исходный файл последовательно; отделены друг от друга пустой строкой.

Образец содержимого входного файла:

 

1  1.11810255

2  1.2758348

3  1.2997942

4  1.27783144

5  1.20196021

6  1.22591949

 

1  1.36568236

2  1.367679

3  1.38964164

4  1.34172297

5  1.31776369

6  1.34172297

 

. . .

 

На рис. 1 приведён пример графиков, содержащихся в файле (в качестве исходных данных была использована ЭЭГ).

 

Рис. 1. Графики пространственно-временного разделения – входные данные для программы getextr.exe

 

В выходном файле содержится полученное число. Например, для приведённого примера это число равно четырём.

Программа запускается со следующей командной строкой:

 

getextr.exe [-l -K# -o<file_out> -D# -h] <input file>

 

Параметры командной строки имеют следующий смысл:

 

input_file – имя файла с исходными данными;

-ofile_out – имя файла, содержащего результат;

-К – ширина окна при поиске локального максимума; по умолчанию – 3;

-D – символ, выступающий в роли разделителя между столбцами; по умолчанию – пробел;

-l – в случае ошибки создаётся файл GetExtr.log, в который записывается отчёт об ошибке;

-h – вывод на экран краткой справки.

 

Программа avform.exe

 

Эта программа предназначена для преобразования формата файлов. Файл, получаемый на выходе программы av-d2.exe, представляет собой несколько графиков, разделённых пустой строкой (образец см. в описании предыдущей программы). Программа же c2t.exe, которая производит дальнейшую обработку данных, требует, чтобы графики были разделены двумя пустыми строками, а также строкой, содержащей размерность лагового пространства, при которой строится следующий график.

 

 

Образец содержимого выходного файла:

1.324087e-03 1.028644e-02

1.234848e-03 9.595644e-03

1.151624e-03 8.955177e-03

1.074008e-03 8.358561e-03

 

 

#dim= 2

9.341174e-01 1.000000e+00

8.711610e-01 1.000000e+00

8.124477e-01 1.000000e+00

 

Программа запускается со следующей командной строкой:

 

avform.exe [-l] [-ofile_out] [-h] file_in

 

 

file_in – имя файла с исходными данными;

-ofile_out – имя файла, содержащего результат;

-l – в случае ошибки создаётся файл AvForm.log, в который записывается отчёт об ошибке;

-h – вывод на экран краткой справки.

 

Программа find_1.exe

 

В главе 2 приведён алгоритм поиска участка измерений на графике Раппа. Согласно этому алгоритму, для поиска данного участка определяются его границы по оси абсцисс на основании анализа графика зависимости . А именно – ищется участок графика такой, что его границы по оси ординат лежат посередине диапазона значений 10-5÷1 и занимают ¼ длины этого диапазона (график строится в двойном логарифмическом масштабе). Если диапазон значений зависимости  оказывается меньше, то в качестве исходного выбирается весь этот диапазон.

Данная программа формирует файл, содержащий участки графиков зависимости , соответствующие изложенным выше условиям.

Программа запускается со следующей командной строкой:

 

find_1.exe [-l -N -ooutfile -h] file

 

Параметры командной строки имеют следующий смысл:

 

file – имя входного файла;

-ooutfile – имя выходного файла;

-N – записывать в выходной файл номера выбранных строк – координат точек анализируемого графика;

-l – сохранять сообщения об ошибках в файл find_1.log;

-h – краткая справка.

 

Формат входного файла – такой же, как формат выходного файла программы avform.exe.

Формат выходного файла – такой же, как входного; в нём содержатся искомые участки зависимости .

 

Программа comp_x.exe

 

Эта программа вырезает из графиков Раппа участки измерения. Границы этих участков заданы в выходном файле программы find_1.exe.

Программа работает с двумя исходными файлами. Первый содержит собственно графики Раппа, а второй – участки зависимости  , найденные программой find_1.exe. В выходной файл записываются искомые фрагменты графиков Раппа.

 

Программа запускается со следующей командной строкой:

 

comp_x.exe [-l -ooutfile -h] filename_1 filename_2

 

Параметры командной строки имеют следующий смысл:

 

filename_1 – имя файла, содержащего графики Раппа;

filename_2 – имя файла, содержащего координаты границ участка измерений (полученного при помощи программы find_1.exe;

-ooutfile – имя выходного файла;

-l – сохранять сообщения об ошибках в файл comp_x.log;

-h – краткая справка.

 

Форматы всех файлов (входных и выходного)идентичны и соответствуют формату выходного файла программы avform.exe.

 

Программа param_c.exe

 

Эта программа вычисляет для каждого участка графика Раппа, находящегося в файле, полученном при помощи программы comp_x.exe, среднее, дисперсию, максимальное и минимальное значения.

Программа запускается со следующей командной строкой:

 

param_c.exe [-l -ooutfile -hfilein

 

Параметры командной строки имеют следующий смысл:

 

filein – имя входного файла, содержащего фрагменты графиков Раппа;

-ooutfile – имя выходного файла;

-l – сохранять сообщения об ошибках в файл comp_x.log;

-h – краткая справка.

 

Формат входного файла соответствует формату файла, формируемого при помощи программы comp_x.exe. Образец приведён в описании выходного файла программы  avform.exe.

В выходном файле содержатся записи следующего вида:

 

#m=     3

 2.963583

 0.029028

 2.910031

 3.001503

 

Здесь в первой строке указана размерность лагового пространства, во второй – величина , в третьей – её дисперсия в пределах участка измерений, в четвёртой и пятой – её максимальное и минимальное значения.

Такие записи последовательно создаются в выходном файле для каждого значения размерности лагового пространства, используемой при расчётах.

 

Программа runpar.exe

 

Программа runpar.exe предназначена для того, чтобы запускать любую другую программу, подставляя в её командную строку данные, содержащиеся в каком-либо файле.

Программа запускается со следующей командной строкой:

 

runpar.exe [-h] [-l] <program> <parameter list>

 

Параметры командной строки имеют следующий смысл:

program – имя запускаемой программы

-l – сохранять сообщения об ошибках в файл comp_x.log;

-h – краткая справка.

parameter list – командная строка запускаемой программы, каждый ключ которой записан в в следующем формате:

#<ID><arg>, где

  # – количество знаков, занимаемое идентификатором ключа;

  ID – идентификатор ключа;

  arg – имя файла, содержащего аргумент ключа; если такого файла не существует, то программа рассматривает имя файла как сам аргумент.

Если параметр командной строки запускаемой программы начинается не с цифры, то он подставляется непосредственно в командную строку.

Рассмотрим работу этой программы на следующем примере. Допустим, нам надо выполнить программу d2.exe, подставив в её командную строку величину лага, значение которой содержится в файле data_min.mut, а исходный ряд содержится в файле data.dat. В этом случае командная строка будет выглядеть следующим образом:

 

runpar.exe d2.exe 2-ddata_min.mut 2-ocorint -E data.dat

 

Здесь величина лага указывается в ключе –d. Поэтому мы перед этим ключом ставим число 2, так как идентификатор ключа – -d – содержит два знака. После этого вместо числа, определяющего величину лага, вписываем название файла, в котором это число записано (допустим, оно равно трём).

В итоге программа d2.exe будет запущена со следующей командной строкой:

 

d2.exe –d3 -ocorint -E data.dat

 

Файла corint в директории не существует (об этом следует позаботиться заранее), поэтому эта запись рассматривается как значение ключа «-о». Параметры «-Е» и «data.dat» были указаны без указания размера идентификатора ключа. Поэтому они просто подставлены в командную строку.

В принципе, перед ключом «-о» можно было бы и не указывать размер его идентификатора; перед ключом же «-Е» можно было бы указать длину идентификатора – 2 или 0. В последнем случае программа, не найдя файла с названием «-Е», подставит эти символы в командную строку. Ни в одном из случаев работа программы не нарушится. А вот перед названием файла «data.dat» длину идентификатора (0) указывать нельзя, так как в этом случае будет считана первая строка из файла с исходными данными и подставлена в командную строку вместо его названия.