SlideShare a Scribd company logo
ЧЕРКАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ
На правах рукописи
Костьян Наталья Леонидовна
УДК 681.3.057:518.12
МЕТОДЫ И СРЕДСТВА ФОРМИРОВАНИЯ И ЧИСЛЕННОЙ
РЕАЛИЗАЦИИ ИНТЕГРАЛЬНЫХ МОДЕЛЕЙ ОБРАТНЫХ ЗАДАЧ
ДИНАМИКИ СИСТЕМ
01.05.02 - Математическое моделирование и вычислительные методы
Диссертация на соискание ученой степени
кандидата технических наук
Научный руководитель:
Сытник Александр Алексеевич,
кандидат технических наук, доцент
Черкассы – 2015
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 4
РАЗДЕЛ 1. ОБРАТНЫЕ ЗАДАЧИ ДИНАМИКИ СИСТЕМ 13
1.1. Обратные задачи динамики 13
1.2. Интегральные модели обратных задач динамики 22
1.3. Численные подходы и программные средства решения обратных
задач динамики
28
1.4. Выводы 37
РАЗДЕЛ 2. ИНТЕГРАЛЬНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ
ДИНАМИЧЕСКИХ ОБЪЕКТОВ
39
2.1. Методы формирования интегральных динамических моделей в
задачах идентификации
39
2.2. Метод и алгоритмы идентификации динамических объектов на
основе интегральных моделей
46
2.3. Идентификация динамических объектов при произвольном
воздействии на основе метода многократного интегрирования
52
2.4. Способ построения передаточной функции динамического
объекта на основе интегральных спектров Пуассона
59
2.5. Метод аналитического представления экспериментальных
зависимостей
66
2.6. Выводы 76
ГЛАВА 3. МЕТОДЫ И АЛГОРИТМЫ ВОССТАНОВЛЕНИЯ ВХОДНЫХ
СИГНАЛОВ ДИНАМИЧЕСКИХ ОБЪЕКТОВ
79
3.1. Формирование и виды явных динамических моделей 79
3.2. Квадратурные алгоритмы восстановления входных воздействий
на основе решения уравнений Вольтерра І рода
3.3. Многошаговые алгоритмы решения интегральных уравнений
Вольтерра І рода в задаче восстановления сигналов
90
108
3
3.4. Частотный способ восстановления сигнала на входе линейного
динамического объекта
118
3.5. Выводы 125
ГЛАВА 4. ПРОГРАММНЫЕ СРЕДСТВА РЕШЕНИЯ ОБРАТНЫХ
ЗАДАЧ ДИНАМИКИ. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ 127
4.1. Структура комплекта программ в системе MATLAB 127
4.2. Организация программных модулей 134
4.3. Решение прикладных задач 144
4.3.1. Теплодинамические модели резистивных структур при
решении задач динамики
144
4.3.2. Идентификация участков длинных линий (RC-объектов) 150
4.3.3. Коррекция динамических искажений измерителя тепловых
потоков
154
4.4. Выводы 160
ЗАКЛЮЧЕНИЕ 162
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 164
ПРИЛОЖЕНИЕ А. Алгоритм идентификации динамических моделй с
запаздыванием
181
ПРИЛОЖЕНИЕ Б. Листинги программ 194
ПРИЛОЖЕНИЕ В. Акты внедрения результатов научной работы 218
4
ВВЕДЕНИЕ
Актуальность работы. Развитие современных систем измерения,
контроля, управления и диагностики характеризуется повышением требований
к качественным показателям, расширением функциональных возможностей,
ростом сложности исследовательских и проектных задач при их создании. Как
правило, основой функционирования указанных систем являются методы и
средства обработки экспериментальных данных и компьютерной реализации
математических моделей динамических объектов (элементов, звеньев, блоков,
схем и др.), являющихся составными частями систем.
Одним из существенных показателей развития методов оперативной
обработки информации является увеличение доли обратных задач в общем
перечне решаемых задач системами данного класса. При этом имеется ввиду,
что принципиально все задачи математического моделирования можно
разделить на две группы: прямые задачи, то есть задачи анализа, когда
известны причины определенных процессов и необходимо найти следствия, а
также обратные задачи, когда известны следствия и нужно найти причины.
Теоретический и практический интерес к созданию, исследованию и
применению методов и средств решения обратных задач определяется
необходимостью в разработках новых методов обработки сигналов, а также
повышенной, по отношению к прямым задачам, сложностью обратных задач,
поскольку последние не являются корректными с математической точки зрения
и обладают рядом особенностей. Трудность, в частности, состоит в
необходимости принятия мер для обеспечения условий существования и
единственности решения, а также учитывать отсутствие непрерывной
(регулярной) зависимости решения от исходных данных. Поскольку входной
информацией в обратных задачах являются экспериментальные данные,
определяемые с некоторой погрешностью, то получаемое решение может
сильно отличаться от точного решения.
К обратным задачам динамики систем относят задачи: восстановление
внешних воздействий на объект по заданным параметрам системы и реакциям;
5
восстановление уравнений или параметров по заданным внешним воздействиям
и реакциям; подбор управляющих сигналов по заданной структуре и закону
изменения выходных координат. В теории систем им соответствуют задачи
идентификации, восстановления входных сигналов и управления.
Решение задач динамики проводится, как правило, в рамках некоторой
математической модели исследуемого объекта или системы, при формировании
которой традиционным подходом в настоящее время является применение
обыкновенных дифференциальных уравнений для объектов с
сосредоточенными параметрами и уравнений в частных производных для
объектов с распределенными параметрами. В последнем случае применительно
е общепринятому методу структурного моделирования систем уравнения в
частных производных заменяются приближенными динамическими моделями в
виде обыкновенных дифференциальных уравнений. Задача идентификации при
этом состоит в определении коэффициентов уравнений по известным правым
частям (внешние воздействия на объект) и решениям (реакциям объекта).
Задача восстановления входных воздействий состоит в определении правой
части по заданным коэффициентам (параметрам объекта) и решениям
(реакциям объекта).
При исследовании прикладных задач типична ситуация, когда искомые
характеристики объекта недоступны или труднодоступны для
непосредственного наблюдения (например, проблема неразрушающего
контроля качества изделий и конструкций, выявление дефектов внутри
работающего объекта и многие другие исследования). Проведение самого
эксперимента может быть невозможно. В этом случае используется некоторая
косвенная информация об исследуемом объекте, которая определяется либо
природой исследуемого объекта или экспериментальными данными.
Методы решения обратных задач динамики основаны на применении
оптимизационных алгоритмов, реализация которых может быть затрудненной
из-за сложности поисковых процедур, в частности из-за нелинейной
зависимости минимизируемого функционала от параметров модели.
6
Усложнение моделей и трудности при обработке экспериментальных данных
приводят к необходимости рассмотрения способов построения альтернативных
форм представления динамических моделей и дальнейшего развития методов
решения обратных задач динамики.
Альтернативной формой представления динамических моделей реальных
технических объектов или систем при решении обратных задач динамики
являются интегральные уравнения типа Вольтерра. Достоинствами
интегральных моделей являются сглаживающие свойства интегральных
операторов, простота и высокая устойчивость численных операций
интегрирования. Интегральные динамические модели формируются на основе
заданных динамических характеристик объекта, его звеньев или элементов.
Динамические характеристики представляют собой функциональные
зависимости, которые могут быть получены в виде экспериментальных данных
или в аналитическом виде.
При решении задач выбора численных методов, создании алгоритмов и
программ реализации интегральных динамических моделей в обратных задачах
динамики требуется проведение определенных дополнительных исследований.
Таким образом, совокупность исследований и разработок по
формированию интегральных моделей обратных задач динамики, разработке
алгоритмов и программных средств численной и компьютерной реализации
интегральных математических моделей, представленных уравнениями
Вольтерра, при решении задач идентификации и восстановления входного
сигнала динамического объекта представляет собой актуальную научно-
техническую задачу.
Существенную роль в развитии методов и средств математического и
компьютерного моделирования динамических систем на основе интегральных
уравнений и операторов принадлежит работам Абдусатарова Б.Б. [1, 111],
Апарцина А.С. [5-12], Бакушинского А.Б. [11, 15-16], Бекмуратова Т.Ф. [18-
19], Васильева В.В. [21-22, 16], Ватульяна А.О. [24], Верланя А.Ф. [26-32, 110-
111, 113], Гальченко В.Я. [36-38], Грановского В.А. [46], Задираки В.К. [63-65],
7
Засядько А.А. [66-68, 109], Иванова В.В. [41, 63, 69, 109], Конета И.М. [79],
Лаврентьева М.М. [100], Меньшикова Ю.Л. [106-108], Мокина Б.И. [117],
Мороза В.І. [118-120], Павленко В.Д. [126-130], Положаенко С.А. [30, 131],
Пупкова К.А. [112], Сизикова В.С. [15, 26, 113, 144-145], Старкова В.Н. [152-
153], Сытника А.А. [27, 31, 45, 82], Тихонова А.Н. [158-159, 166],
Худаярова Б.А. [28], Форсайта Дж. [162], Aburdene M. [171], Baker С. [175],
Strejc V. [181], Vrancic D. [183] и др.
Связь работы с научными программами, планами, темами.
Диссертационная работа выполнена в Черкасском государственном
технологическом университете при сотрудничестве с Институтом проблем
моделирования в энергетике имени Г.Е. Пухова НАН Украины в рамках
научно-исследовательской работы «Создание методов и средств
математического и компьютерного моделирования динамических процессов в
автономных энергетических силовых установках при построении современных
систем управления, диагностики и испытания» (№ г/р 0111U007792).
Цель и задачи исследования. Целью диссертационной работы является
повышение эффективности методов и средств математического моделирования
при решении обратных задач динамики на основе создания методов
формирования, численных алгоритмов и программных средств компьютерной
реализации интегральных динамических моделей.
Для достижения поставленной цели необходимо решить следующие
задачи:
1. Анализ и систематизация обратных задач динамики систем, а также
подходов, методов и программных средств их решения; обоснование подхода к
решению обратных задач динамики на основе интегральных динамических
моделей; выбор программной платформы для проведения исследований и
создания специализированного комплекса программ.
2. Разработка методов формирования и численной реализации
интегральных динамических моделей при решении задач идентификации
динамических объектов; построение и исследование способов обработки
8
экспериментальных данных для реализации методов идентификации;
разработка и программная реализация численных алгоритмов решения задач
идентификации динамических объектов в интегральной постановке.
3. Разработка и исследование методов и алгоритмов восстановления
входных сигналов динамического объекта на основе применения интегральных
динамических моделей в форме уравнений Вольтерра І рода с обеспечением
устойчивости вычислительных процессов на основе метода регуляризации и
построения базового набора алгоритмов применительно к созданию
программных средств с различными требованиями к точности результатов
моделирования.
4. Разработка комплекса программ компьютерного моделирования,
реализующего предложенные методы и алгоритмы решения обратных задач
динамики; проведение вычислительных экспериментов по решению модельных
и практических задач.
Объектом исследования являются процессы моделирования обратных
задач динамики систем.
Предметом исследования являются методы и средства математического
и компьютерного моделирования обратных задач динамики на основе
применения интегральных динамических моделей в форме интегральных
уравнений.
Методы исследования. Работа выполнена с использованием элементов
теории интегральных уравнений (при формировании и реализации
математических моделей), методов эквивалентных и аппроксимирующих
преобразований уравнений динамики (при построении альтернативных форм
моделей динамического объекта); методов аппроксимации функций (при
обработке экспериментально полученных данных); элементов теории матриц
(при использовании псевдообратных матриц для решения систем линейных
алгебраических уравнений); методов численного анализа (при разработке
квадратурных алгоритмов реализации интегральных динамических моделей);
методов организации программных средств на основе типовых пакетов
9
моделирования (для обработки и аппроксимации экспериментальных данных
при решении задач моделирования); методов проведения вычислительных
экспериментов (при исследовании динамических систем).
Научная новизна полученных результатов.
Новыми являются следующие научные результаты.
1. Впервые разработан интегральный метод идентификации
динамического объекта, состоящий в формировании динамической модели
линейного объекта в виде интегрального уравнения Вольтерра II рода,
дискретизация которого посредствам квадратурных формул представляет собой
«прямой» (безоптимизационный) способ получения и устойчивого решения
алгебраической системы относительно искомых параметров.
2. Впервые разработан способ восстановления сигнала на входе
линейного динамического объекта по фазо-частотной характеристике,
полученной при смешанном приближении функциями с постоянным наклоном
и параболическими отрезками для разных диапазонов логарифмической
амплитудной частотной характеристики, что позволяет применять данный
способ для всех диапазонов частотной характеристики.
3. Усовершенствован метод многократного интегрирования в задачах
идентификации динамического объекта, который отличается использованием
произвольных начальных условий, применением нормализации функций
входного и выходного сигналов, а также формул интегрирования по частям, что
позволяет получать рекуррентные процедуры вычисления искомых параметров,
в том числе для систем высокого порядка, и исследовать процесс на выходе
объекта, вызванный входным воздействием произвольного характера, а также
избежать погрешностей быстро изменяющегося сигнала.
4. Усовершенствованы и исследованы способы построения модели
объекта в форме дробно-рациональной передаточной функции по реакции на
входное воздействие произвольной формы на основе преобразования Лапласа-
Карсона: первый способ отличается представлением функций входного
воздействия и реакции объекта рядами Тейлора, другой – формой
10
аппроксимирующего полинома и возможностью итерационного уточнения
искомых параметров, что обеспечивает максимальное быстродействие решения
задачи идентификации динамических объектов с сосредоточенными и
распределенными параметрами с необходимой точностью.
5. Получил дальнейшее развитие метод аналитического представления
функции времени, заданной таблицей экспериментально полученных данных, в
котором, в отличие от предыдущих, функция представляется в виде решения
однородного линейного разностного уравнения с постоянными
коэффициентами на основе z-преобразования при использовании метода
псевдообратной матрицы, за счет чего достигается повышение точности
аппроксимации.
6. Получил дальнейшее развитие метод численного дифференцирования,
как частный случай решения задачи восстановления входного сигнала
динамического объекта по интегральной модели, который отличается
использованием структурных моделей динамических систем с обратной
связью, содержащих контуры интегрирования, за счет чего получено
улучшение точности результатов по сравнению с традиционным разностный
метод, реализованным в пакете MATLAB/SIMULINK.
7. Получили дальнейшее развитие алгоритмы для решения уравнения
Вольтерра I рода, которые в отличие от традиционных обеспечивают
необходимое быстродействие за счет использования формул высших порядков
и организации многошаговых вычислений, предоставляя возможность выбора
квадратурной формулы в зависимости от вида ядра.
Практическое значение полученных результатов работы состоит в
следующем. На основе эффективного использования системы MATLAB
впервые создан комплекс программ, который позволяет решать широкий класс
обратных задач динамики технических объектов и систем с возможностью
обеспечения необходимой точности и быстродействия. Разработанные
программные средства, обладающие свойством совместимости со
стандартными средствами среды MATLAB, позволяют повысить качество и
11
расширить функциональные возможности методов и средств моделирования
обратных задач динамики применительно к проектированию и
функционированию компьютеризированных технических систем оперативной
обработки сигналов.
Результаты работы используются в проектно-ремонтной организации
ТОВ “Спецтестсервис” во время работ по диагностике электронного
оборудования цифровой связи FCM-05 и в учебном процессе Черкасского
государственного технологического университета.
Личный вклад соискателя. Все результаты диссертационной работы,
которые вынесены на защиту, получены автором самостоятельно. Работы [82-
83, 85-92] опубликованы самостоятельно. В опубликованных трудах в
соавторстве лично диссертанту принадлежат такие результаты: в [177] −
предложен метод решения плохообусловленных систем линейных уравнений в
задачах идентификации, основанный на поиске локального минимума; в [81] –
предложен метод идентификации, основанный на использовании интегральной
модели объекта с запаздыванием; в [93] − предложен метод аппроксимации
частотной характеристики при восстановлении входного сигнала
динамического объекта частотным способом на основе экспериментальных
данных; в [71] − реализован способ определения передаточной функции при
идентификации приемника тепловых потоков; в [182] − получены расчетные
выражения для реализации интегрального метода идентификации
динамического объекта в обобщенной постановке и проведения
вычислительного эксперимента; в [125] − предложены квадратурные
алгоритмы восстановления входных сигналов динамического объекта,
основанные на использованием свойств разделяющихся ядер; в [70] –
применены ряды Тейлора при аппроксимации входного воздействия и отклика
динамического объекта; в [84] − предложен метод аналитического
представления экспериментальных зависимостей в виде решения однородного
линейного разностного уравнения.
Апробация результатов диссертации. Материалы диссертации
12
докладывались и обсуждались на международной научно-практической
конференции «Актуальні проблеми технічних та соціально-гуманітарних наук у
забезпеченні діяльності служби цивільного захисту» Академии пожарной
безопасности имени Героев Чернобыля, Черкассы, 2013 г.; на всеукраинских
научно-практических конференциях «Інформаційні та моделюючі технології»
Черкасского национального университета имени Богдана Хмельницкого,
Черкассы, 2013-2015 гг.; на международном научном семинаре «Інтегральні
рівняння в математичному та комп’ютерному моделюванні» Института
проблем моделирования в энергетике имени Г.Е. Пухова НАН Украины, Киев,
2014 г.; на международной научной конференции «Сучасні проблеми
математичного моделювання, прогнозування та оптимізації» Каменец-
Подольского государственного университета, Каменец-Подольский, 2014 г.; на
международной научно-практической конференции «ІНТЕРНЕТ-ОСВІТА-
НАУКА-2014» Винницкого национального технического университета
Министерства образования и науки Украины, 2014 г.; на международной
научно-практической конференции «Обробка сигналів і негаусівських
процесів» Черкасского государственного технологического университета,
Черкассы, 2015 г.
Публикации. По результатам научных исследований опубликованы 18
научных работ: 10 – в научных изданиях, которые входят в перечень ВАК
Украины (1 из них входит в международные наукометрические базы: РИНЦ,
Index Copernicus, EBSCO), 1 – в международном издании (РИНЦ) и 7 – в
сборниках материалов конференций.
Структура и объем работы. Диссертационная работа состоит из
введения, 4-х разделов, заключения, списка использованных источников из 183
наименований на 17 страницах, 3 приложений на 50 страницах, 31 таблицы и 31
рисунка. Полный объем диссертации – 220 страниц, в том числе 150 страниц
основного текста.
13
РАЗДЕЛ 1
ОБРАТНЫЕ ЗАДАЧИ ДИНАМИКИ СИСТЕМ
1.1. Обратные задачи динамики
В динамике как в научном направлении по исследованию движения (в
обобщенном смысле) рассматриваются следующие задачи: по заданным
воздействиям на систему определить траекторию (закон движения) этой
системы; по заданному закону движения системы определить силы, под
действием которых это движение происходит [97]. Эти задачи являются в
определенном смысле противоположными по своему содержанию. Поэтому их
именуют прямой и обратной задачами. С развитием методов и средств
управления и обработки информации актуальность обратных задач динамики
заметно возрастает. Это объясняется тем, что на основе решения обратных
задач оказалось возможным создавать новые и эффективные процедуры
обработки и формирования сигналов в технических системах. На основе
понятия обратных задач и свойственных им математических моделей решаются
задачи диагностики и контроля, проектирования технических объектов и
управления ими.
Обратные задачи при проектировании заключаются в определении
проектных характеристик (синтезе) технического объекта по заданным
показателям качества при соответствующих ограничениях. При этом искомые
характеристики являются причинными по отношению к этим показателям и
ограничениям. В случае управления системами роль причинных характеристик
выполняют управляющие воздействия, вследствие изменения которых
реализуется тот или иной эффект управления, выражающийся через состояние
системы — следствие. К основным видам обратных задач относятся задачи
идентификации динамических объектов и задачи восстановления входных
воздействий.
Задачи идентификации динамических объектов. Будем рассматривать
класс объектов, обладающий свойством непрерывной функциональной
14
зависимости выходных сигналов от входных. Данную зависимость в
достаточно общем случае можно представить математически в виде
следующей операторной динамической модели [1, 47]
0)],();,();,([ txQtxFtxYA , (1.1)
где ],0[ Tt  − время, ),,,( 21 mxxxx  − вектор пространственных координат
модели динамического объекта (ДО), А − произвольный в общем случае
неизвестный оператор, удовлетворяющий условию существования
непрерывной неявной функции Y , представляющий собой вектор выходных
координат (сигналов) ДО, F − вектор входных координат (сигналов), Q −
вектор, вообще говоря, неизвестных параметров [1, 47].
Для динамических объектов, описываемых моделями вида (1.1),
существуют следующие две основные группы задач идентификации [1]: 1)
задачи нахождения структуры оператора A, такого, чтобы существовал
непрерывный по первой переменной оператор  и, кроме того, чтобы в (1.1)
выполнялись условия существования неявной функции )0,,,(),( FtxYtxY  ,
определяемой равенством
)],();,([(),( txQtxFtxY 
(задача идентификации параметров ДО в широком смысле); 2) задачи
нахождения по уравнению (1.1) вектора ),( txQ при известной структуре
оператора A (задача идентификации параметров ДО в узком смысле),
удовлетворяющего достаточным условиям существования в (1.1) неявной
функции ),( txQ вида
)],();,([(),( txFtxYtxQ  ,
где ][ − некоторый достаточно произвольный оператор.
Методы решения задачи идентификации могут различаться по таким
признакам: по способу представления характеристик ДО (во временной или
частотной области) или по виду его модели; по методу проведения
эксперимента на ДО: активные (эти методы, как правило, неприменимы в
режиме нормальной эксплуатации), пассивные и смешанные, при которых на
15
ДО подаются специальные пробные сигналы малой интенсивности, не
нарушающие его нормальной работы; по принятому критерию близости
(подобия) ДО и модели; по методам поиска неизвестных параметров ДО.
Методы поиска параметров можно разделить на две группы –
вероятностные и детерминированные. В работе рассматриваются методы
второй группы, требующие наименьшего количества априорной информации
для решаемой задачи. Общая схема процесса идентификации приведена на
рис. 1.1 (J − оценка качества результата решения задачи, Yˆ − реакция
модели). Можно видеть, что схема отображает оптимизационный процесс
поиска (подбора) параметров путем минимизации показателя качества
получаемого решения.
Объект
Модель
Оценка
показателей
качества
идентификации
F
J
Y
Управление параметрами модели
Рис 1.1. Общая схема процесса идентификации
В задачах построения динамических моделей как стационарных так и
нестационарных ДО предполагается, что (в случае скалярного объекта)
значения входного )(tf и выходного )(ty сигналов измеряются в моменты
времени it :
Tttt N  210 (1.2)
с некоторыми погрешностями
,max,)()(
~
0

 Ni
iiii tftf (1.3)
,max,)()(~
0

 Ni
iiii tyty (1.4)
16
где f
~
и y~ − приближенные, f и y − точные значения сигналов.
Традиционный подход при решении таких задач [20, 23, 50, 51, 72, 13,
95] в качестве динамических моделей объекта предполагает применение
обыкновенных дифференциальных уравнений вида



r
i
i
i Tttftytq
0
)(
],0[),()()( , (1.5)
где )(tqi − переменные (в общем случае) коэффициенты, подлежащие
определению из (1.2)-(1.5). При этом сама модель и ее элементы не
используются для построения расчетного выражения для определения
параметров (коэффициентов) iq ,поскольку непосредственное воспроизведение
модели (1.5) требует выполнения операции дифференцирования. Для
определения )(tqi применяются косвенные поисковые процедуры.
Исследования последних лет показывают, что в ряде случаев
целесообразно вместо моделей (1.5) рассматривать более общие
интегральные динамические модели вида
 
)(
),(),()(),()()(
tG
tGtFdytKtytA (1.6)
где )(tA и ),( tK − подлежащие определению функции, )(ty − выходной
сигнал );(:)( tfFtF  − известная функция, определяемая через значения
входного сигнала f, G − некоторое конечное или бесконечное множество [29].
Преимущество модели (1.6) состоит в том, что она допускает
непосредственную реализацию устойчивых операций интегрирования.
Очевидно, что, в общем случае, при выборе методов построения
моделей ДО, априорно для конкретной задачи, поскольку трудно сравнить
подходы, основанные на моделях (1.5) или (1.6), в задаче нахождения
величин )(tA и ),( tK также необходимо учитывать некорректность. По-
видимому, эти два подхода должны в общем случае дополнять друг друга и
осуществлять взаимоконтроль в смысле точности моделирования.
17
Однако для достаточно широких классов ДО применение интегральных
динамических моделей вида (1.6) и, в частности, моделей, эквивалентных
моделям (1.5), позволяет получить основу для построения высокоустойчивых
численных алгоритмов расчета параметров динамических моделей ДО, чего
не позволило бы применение моделей вида (1.5).
Задача восстановления входных воздействий. Данная обратная задача
состоит в том, что по заданной модели ДО
fAy  (1.7)
и экспериментально полученному выходному сигналу y определяется входной
сигнал f [145]. Оператор A отображает динамические свойства объекта и может
быть представлен в виде дифференциального оператора, являющегося,
например, суммой операций дифференцирования, то есть модель (1.7) является
дифференциальным уравнением. Если же оператор A является интегральным
оператором произвольной сложности (в частности, суммой операций
интегрирования различной кратности), то (1.7) является интегральным
уравнением. Возможно смешанное представление оператора A в виде
комбинации дифференциальных и интегральных операторов, то есть в этом
случае (1.7) является интегро-дифференциальным уравнением.
Решение задачи восстановления состоит в получении и численной
реализации оператора 1
A , обратного оператору A, то есть в применении
соотношения
)
~
(~ 1
fAy 
 , (1.8)
где y~ и f
~
− соответственно отягощенные помехами (погрешностями) входной
и искомый выходной сигналы. Реализация оператора 1
A в реальных
технических системах выполняется компьютерными средствами, то есть
программно или аппаратно (специализированными вычислителями). Структура
системы объект-блок обработки выходного сигнала с ошибкой в f приведена на
рис. 1.2. Данная система с определенным приближением решает задачу
восстановления входного сигнала, динамически искаженного преобразующими
18
свойствами объекта.
A
y f +δ f
Объект
Блок
обработки
Рис. 1.2. Общая схема реализации задачи восстановления входного воздействия
Рассмотренная схема обработки выходного сигнала находит широкое
применение в системах регистрации сигналов (измерительных системах) и в
более сложных системах обработки информации, таких как системы контроля,
диагностики, управления, то есть в системах, работающих в реальном времени.
Возникающие при этом трудности определяются некорректностью
математической задачи обращения оператора A, то есть принципиально
неустойчивой задачей решения уравнения (1.7). Для успешного решения задачи
восстановления необходимо применять методы регуляризации [100, 158] и
разрабатывать устойчивые и точные алгоритмы их численной реализации.
Выбор метода регуляризации и качество разрабатываемых численных
алгоритмов существенно зависит от свойств каждой конкретной решаемой
задачи, в том числе от применяемого вида математической модели
динамического объекта. Принятый в работе подход основан на применении
интегральных динамических моделей, то есть в данном случае зависимость
(1.7) представляет собой интегральное уравнение.
Возможность решения операторного уравнения (1.7) определяется
условиями корректности: 1) для всякой функции f существует решение y; 2)
решение единственно; 3) решение непрерывно зависит от f, то есть оно
устойчиво относительно малых вариаций (отклонений) f. Если не
удовлетворяется хотя бы одно из указанных условий, то задача называется
некорректно поставленной. Приведение задачи к “корректному” виду и
представляет собой процесс (процедуру) регуляризации. Практически все
19
прикладные задачи вида (1.7) требуют применения регуляризирующих
методов, что свидетельствует о том, что для оператора A нельзя принципиально
точно получить обратный оператор 1
A . Отметим, что к некорректным задачам
относятся многие задачи анализа, в том числе дифференцирование функций,
заданных с погрешностями; суммирование рядов Фурье с неточно заданными
коэффициентами; решение систем линейных уравнений с определителями,
близкими к нулю при наличии погрешностей элементов матрицы и правых
частей и т. д.
Анализ публикаций по методам решения обратных задач. В работе [138]
предложен метод статистической регуляризации при решении обратной задачи,
требующий знания законов распределения измеряемого сигнала и помех, что
является весьма жестким ограничением. В цифровых методах обработки
сигналы заменяются совокупностями дискретных отсчетов, получаемых на
конечном интервале времени. В этом случае влияние погрешностей
дискретизации и ограниченности времени наблюдения можно уменьшить,
увеличивая частоту дискретизации и время наблюдения так, что основной
вклад в возмущения вносят погрешности измерения [7].
В работах [2, 96, 150] и ряде других обратная задача решается как задача
оптимальной фильтрации. В работе [2] показана возможность построения
устройства оптимальной обработки выходного сигнала линейного измерителя
на базе элементов аналоговой вычислительной техники, задача решалась в
терминах преобразования Лапласа и передаточных функций. Был получен
физически реализуемый корректирующий фильтр. Однако, метод определения
оптимальной передаточной функции опирается на предположение об искомой
импульсной передаточной функции как элементе стационарного случайного
процесса, что не вполне корректно [151].
В работе [147] обратная задача рассматривается как компенсация
динамических составляющих погрешности измерения. Решается задача синтеза
алгоритма определения измеряемого сигнала по зарегистрированной
реализации выходного сигнала датчика. Синтез алгоритма произведен, исходя
20
из условия минимума среднего квадрата сигнала погрешности, спектральные
плотности которого задаются своими верхними и нижними пределами на
каждой частоте. Получены и проанализированы решения задачи синтеза
фильтра, при нестационарном характере входного воздействия и неточном
задании импульсной характеристики. Однако, уменьшения априорной
информации и увеличение погрешности приводит к тому, что степень
компенсации динамической погрешности уменьшается.
Известны работы, в которых для решения обратной задачи используют
фильтр Калмана [145, 172]. Этот фильтр может осуществлять фильтрацию в
темпе измерения для нестационарных входных воздействий и нелинейных
уравнений измерительных преобразователей. Однако при реализации фильтра
возможна его расходимость. Способ борьбы с этим недостатком — загрубление
фильтра.
Как уже отмечалось, с математической точки зрения постановка обратной
задачи (1.8) является некорректной. Поэтому практическое решение задачи
происходит с трансформацией ее к корректной постановке и нахождению
регулярных (устойчивых к помехам) решений. При этом большинство
регуляризованных решений получено на основе метода регуляризации
А.Н. Тихонова [158, 159], использующего при минимизации функционала
минимизирующие добавки. Результатом таких решений является частотная
характеристика фильтра, имеющего полюсы в правой полуплоскости. Поэтому
реализация корректирующего фильтра в виде линейного звена невозможна.
Определение входного сигнала, динамически искаженного средством
измерений, по априорной информации о том, что случайные помехи
ограничены многомерными параллелепипедами, приведено в работе [48]. Для
улучшения устойчивости решения задачи восстановления входного сигнала к
помехам в работе [73] используется априорная информация о свойствах
измеряемого сигнала, служащая дополнительным регуляризующим фактором.
Кроме того, в работе [146] восстановление сигнала производится посредством
решения интегрального уравнения с параметром регуляризации, выбираемым
21
оптимальным образом по информации о статистических характеристиках
помех. В работе [141] предложен регуляризующий метод компенсации влияния
аппаратной функции на результат измерения. Предлагаемый метод основан на
спектральном представлении оператора свертки, является регуляризующим и
использует информацию о погрешностях ядра и правой части, представленных
в виде замкнутых эллипсоидов. Вместе с тем характеристики помех могут быть
известны приближенно. Кроме того, они могут изменяться в процессе
измерения. Это существенно снижает точность восстановления измеряемого
сигнала.
Согласно методу, предложенному в работе [102], восстановление
выполняется для случая связи входного и выходного сигналов в форме
обратного оператора — линейного дифференциального уравнения с
постоянными коэффициентами. В этом случае априорной информацией служит
полная нормированная динамическая характеристика средства измерения.
Кроме того, предполагается наличие зарегистрированной реализации
выходного сигнала достаточной длительности. Применяемая операция
дифференцирования должна обладать регуляризующими свойствами. Для
выбора параметра регуляризации необходимо, чтобы после восстановления
входного сигнала дисперсия погрешности результата, обусловленная шумами в
выходном сигнале средства измерения, не превосходила исходную дисперсию
погрешности. Метод основан на приближенном представлении -функции в
виде экспоненты и использовании ее в интегральном уравнении. Метод требует
нахождения интеграла на каждом шаге и, следовательно, большого объема
вычислительных операций. Данный метод близок к подходу, применяемому в
данной работе, однако, существенно отличается применяемой моделью в виде
дифференциального уравнения.
Таким образом, применяемый в работе подход, основанный на
использовании интегральных уравнений остается менее исследованным и, судя
по некоторому опыту решения практических задач [26, 143], является
достаточно эффективным и перспективным.
22
1.2. Интегральные модели обратных задач динамики
Интегральное уравнение Вольтерра II рода. При рассмотрении задачи
формирования динамических моделей по заданным внешним возмущениям и
реакциям динамический объект описывается интегральными уравнениями
Вольтерра II рода, которые (относительно u(t)) имеют вид
)()(),()(
0
tfdssustKtu
t
t
  ],[ 0 Ttt  , (1.9)
где правая часть f(t) и ядро ),( stK – известные функции. Существенное
значение имеет вид ядра ),( stK . В частности, ядро
)()(),(
1
ststK
n
i
ii


называется вырожденным и играет важную роль при численной реализации.
Уравнения Вольтерра могут рассматриваться как частный случай
интегральных уравнений типа Фредгольма
 
T
t
tfdssustKtu
0
),()(),()(
в которых ядро определяется в виде







,0
,),(
),(
tsпри
tsприstK
stK
т.e. считается заданным в треугольнике, ограниченном сторонами
stTtts  ,,0 .
Уравнения Вольтерра II рода могут быть получены как по структуре
системы, так и путем эквивалентных преобразований исходных
дифференциальных уравнений. Уравнение (1.9) может быть представлено в
форме
 
t
t
t
t
,dssft,sGt,tsut,sHtuH*u
0 0
)()()()()()()( (1.10)
где ядро ),( stH характеризует «собственную» динамику моделируемого
23
объекта и в совокупности с функцией ),( stG отображает преобразующую
способность объекта по отношению к внешнему возмущению )(tf . Можно
отметить следующее важное для приложений свойство универсальности
интегральных динамических моделей: интегральное уравнение с производным
ядром не может быть путем эквивалентных преобразований приведено к
дифференциальным уравнениям; обратный переход возможен всегда.
Как и в случае начальной задачи, интегральные динамические модели,
описывающие краевые задачи, обладают высоким уровнем универсальности.
Путем эквивалентных преобразований к ним сводятся принципиально все
дифференциальные уравнения с ограничениями в виде краевых условий, тогда
как обратный переход возможен лишь в некоторых частных случаях.
Определяющей составной частью любого интегрального уравнения
является интегральный оператор. Нелинейные интегральные операторы,
естественно, представляют собой модели нелинейных объектов, хотя задача
формирования этого вида моделей значительно сложнее линейного случая.
Интегральное преобразование
 
T
t
KxdssstKtu
0
,)(),()( (1.11)
в котором  TtCt ,)( 0 , а ядро ),( stK — заданная нелинейная функция,
принадлежащая области (квадрату) },{ 0 TsttP  , представляет собой
интегральный оператор Фредгольма. Из непрерывности ядра в области P
следует непрерывность функции )(tu для произвольной непрерывной функции
)(t .
Уравнение Вольтерра I рода. Согласно методу интегральных уравнений
[21, 24], задача восстановления внешних возмущений при заданной структуре
объекта сводится в общем случае к решению уравнения Вольтерра I рода
 
t
t
tfdssustK
0
)()(),( , (1.12)
24
где ядро ),( stK представляет собой аппаратную функцию объекта; )(tf − ее
выходная переменная; )(su − искомая величина, поступающая на вход.
Уравнение (1.12) на интервале ),( 0 tt имеет единственное непрерывное
решение, если ядро и правая часть имеют непрерывные производные
t
K


и
t
f


,
и, кроме того, 0)( 0 tf , а ),( ttK на ],[ 0 Tt не обращается в нуль. При этих
условиях от уравнения (1.12) посредством дифференцирования можно перейти
к эквивалентному уравнению Вольтерра II рода





t
t
t
ttK
tf
dssu
ttK
stK
tu
0
),(
)(
)(
),(
),(
)( .
В том случае, когда 0),( ttK , данный способ перехода к уравнению II рода
можно продолжить, выполняя дифференцирование несколько раз. После n-го
дифференцирования получим уравнение
 






 t
t
n
n
n
n
n
tfdssu
t
stK
tu
t
ttK
0
)()(
),(
)(
),( )(
1
1
,
которое и позволит найти единственное решение, если на ],[ 0 Tt функция
1
1
),(




n
n
t
ttK
в нуль не обращается.
Применяется и другой способ сведения уравнения (1.12) к уравнению II
рода. Если обозначить
 
t
t
tfdssuty
0
)()()( , 0)( 0 ty
и выполнить интегрирование по частям
  





t
t
ts
ts
t
t
dssy
s
stK
systKdssustK
0
0
0
)(
),(
)(),()(),( ,
то уравнение (1.12) примет вид
 
t
t
s
ttK
tf
dssy
ttK
stK
ty
0
),(
)(
)(
),(
),(
)( .
25
Среди приложений распространены слабосингулярные уравнения, т. е.
уравнения с ядрами 


)(
),(
),(
st
stQ
stK , 10  . Для решения таких уравнений
требуется использовать специальные приемы точного или приближенного
преобразования. Имеются частные случаи, для которых решения могут быть
записаны в явном виде. Решением обобщенного уравнения Абеля
 
 
t
tfds
st
su
0
)(
)(
)(
является
 



t
ds
st
sf
dt
d
tu
0
1
)(
)(sin
)( .
Определение аппаратной функции объекта с переменными параметрами.
В задачах восстановления возмущающего воздействия по измеренной реакции
линейного объекта с переменными параметрами эффективно используется
аппаратная функция ),( stA , входящая в качестве ядра в интегральное
уравнение I рода
,)()(),( 
t
a
tydssxstA (1.13)
где )(tx — искомое возмущение; )(ty — реакция объекта на )(tx . На практике
аппаратная функция известна не всегда и задача ее определения может
оказаться сложной.
Аппаратную функцию в аналитической форме получают из
составленного для рассматриваемого объекта линейного дифференциального
соотношения [24]
)()()()()(...)()()( 0111
1
txtytaty
dt
d
taty
dt
d
taty
dt
d
n
n
nn
n
 

(1.14)
с начальными условиями
______
,
1,0
)(


niy
at
i
i
.
26
Непосредственное использование дифференциального соотношения
(1.14) для нахождения )(tx осложняется наличием случайных помех в
измеренном сигнале )(ty , из-за которых дифференцирование )(ty сопряжено
со значительными ошибками.
Последовательным интегрированием выражение (1.14) можно привести к
эквивалентному интегральному соотношению
,)()(),()(  
t
a
tdssystKty (1.15)
где
 








n
i
in
j
j
in
i
ji
ts
sCstK
ji
1 0
;
)!1(
)(
)()1(),(
1
);()(
)!1(
)(
)(
1
tPdssx
n
st
t
t
a
n



 

(1.16)
;
)!1(
)(
)1()(
1
11
1
0
)(
1
1
 





 




k
j
j
jk
n
k
k
i
i
k
ji
at
CtP
ji
j
i
;)()(
ati
i
i
k ta
dt
d
k  .
)!(!
!
qpq
p
Cq
p

На основании формулы (1.15), рассматривая ее как интегральное
уравнение, можно записать
,)(),()()(  
t
a
dssstRtty (1.17)
где ),( stR — резольвента, связанная с решением линейного однородного
дифференциального уравнения вида
0),()()1(),( 1
1
1
)(
1 0
 






  stg
ds
d
saCstg
ds
d
ji
ji
i
n
n
j
in
i
in
n
i
in
j
при начальных условиях
1,2,0,0 1
1
_______
 

 stn
n
stk
k
g
ds
d
nkg
ds
d
соотношением
27
).,(),( stg
ds
d
stR n
n

Для представления уравнения (1.17) в форме (1.13) выполняется ряд
преобразований. С учетом (1.16) соотношение (1.17) можно представить в виде
).()(
)!1(
)(
)(),()(
)!1(
)(
),()(
11
tPdssx
n
st
dssPstRdsdx
n
s
stRty
t
a
t
a
t
a
s
a
nn















  

(1.18)
Меняя порядок интегрирования, рассмотрим сумму первого и третьего
слагаемых правой части (1.18):
.)(
)!1(
)(
),(
)!1(
)(
)(
)!1(
)(
)(
)!1(
)(
),(
)(
)!1(
)(
)(
)!1(
)(
),(
)(
)!1(
)(
)(
)!1(
)(
),(
11
11
11
11
dssxd
n
s
tR
n
st
dssx
n
st
dsdx
n
s
tR
dssx
n
st
ddsx
n
s
stR
dssx
n
st
dsdx
n
s
stR
t
a
t
s
t
a
t
a
t
s
t
a
t
a
t
t
a
t
a
s
a
nn
nn
nn
nn
 
 
 
 



































































Таким образом, в результате преобразований из (1.18) получаем
),()(),()(),(
)!1(
)(
)!1(
)(
)(
11
tPdssPstRdssxdtR
n
s
n
st
ty
t
s
t
a
t
s
nn















  

которое при условии
0)( tP (1.19)
представляет собой интегральное уравнение Вольтерры I рода вида (1.13) с
ядром
.),(
)!1(
)(
)!1(
)(
),(
11
 







t
s
dtR
n
s
n
st
stA
nn
28
Таким образом, восстановление )(tx можно осуществить, используя
аппаратную функцию, построенную на основе дифференциального уравнения
объекта при условии (1.19).
1.3. Численная и программная реализация интегральных
динамических моделей
Основными классами численных методов решения интегральных
уравнений являются прямые, итерационные и проекционные методы [7,
17, 33, 35, 104, 161-162, 174-175]. При выборе численного метода для
решения рассматриваемых обратных задач динамики следует учитывать
их специфику, а также назначение программных средств, реализующих
методы. Особенность численной реализации уравнений Вольтерра II рода
в задачах идентификации состоит в получении по заданной структуре
уравнения расчетных выражений для определения параметров модели,
что приводит к необходимости применения прямых численных методов.
Вместе с тем алгоритм идентификации может содержать процедуры
оценки получаемых решений, для выполнения которых могут быть
применены и другие методы.
Специфика задач восстановления внешних воздействий на
динамический объект заключается в повышенных требованиях к
устойчивости алгоритмов и необходимости высокого быстродействия,
что также приводит к целесообразности применения прямых методов с
учетом регуляризации вычислительного процесса [35, 55-56, 113].
Общий подход к численной реализации интегральных моделей
посредством прямых методов наглядно иллюстрируется при решении
интегральных уравнений Вольтерра II рода
       xfdsssxKx
x
a
  , . (1.20)
Для численного решения уравнения (1.20) необходимо получить
аппроксимирующую систему уравнений, для чего воспользуемся выражением
29
(согласно квадратурному методу)
       i
x
a
ii xfdsssxKx
i
  , .
Принимая значение ix в качестве узлов квадратурной формулы и заменяя
интеграл конечной суммой, получим систему
          

iijji
i
j
ji RxfxxxKAx ,
1
.
Полагая  iR малым и отбрасывая его, получим систему линейных
алгебраических уравнений
       ijji
i
j
ji xfxxxKAx  

~~,~
1
, (1.21)
где hjxj  .
Выражение (1.21) дает приближенное значение функции  ix~ в узлах ix .
В соответствии с выражением (1.21) и, применяя формулы трапеций для
нахождения приближенных значений искомой функции  ix~ в общем случае,
можно записать следующие расчетные выражения:
   
 
     
 
 
         
 




















 
















.
,
2
1
,
2
,
2~
,
,
2
1
,
2~
,~
1
2
1
11
2
22
2
112
2
2
2
11
ii
i
i
j
jji
jj
ii
i
xxK
h
xxxK
hh
xxxK
h
xf
x
xxK
h
xxxK
h
xf
x
xfx
где ni ,...,4,3 ; 1 jjj xxh ;
для постоянного шага (h=const):
30
   
 
         
 






















,
,
2
1
,,
2~
,~
1
2
11
11
ii
i
j
jjiii
i
xxK
h
xxxKhxxxK
h
xf
x
xfx
(1.22)
где ni ,...,3,2 .
Для ряда динамических объектов используются модели в виде
уравнения
10),()(
)(
)(
)(
0



  
tfdssu
st
stK
tu
t
, (1.23)
со слабосингулярным ядром 



)(
)(
)(
st
stK
stG . Слабосингулярность
уравнения (1.23) приводит к определенным затруднениям при численном
решении. Непосредственное применение различных алгоритмов метода
квадратур исключается, поскольку 00)(  tприstG . Эффективный
метод решения уравнений вида (1.23) может быть получен на основе
идеи регуляризации [95, 149].
На основе рассмотренного квадратурного подхода к численной
реализации интегральных динамических моделей разрабатываются также
алгоритмы решения уравнения Вольтерра I рода (см. раздел 3).
Программные пакеты для решения задач динамики. В связи с
повышением требованием к современным процессам управления становится
исключительно важной проблема решения обратных задач динамики.
Качественное управление системой зависит от точности ее математической
модели. Опыт, накопленный при проектировании систем, свидетельствует, что
нельзя построить математическую модель, адекватную реальной системе,
только на основе теоретических исследований физических процессов в системе
[159]. Поэтому, в процессе проектирования систем управления одновременно с
теоретическими исследованиями проводят многочисленные эксперименты, в
том числе вычислительные, по определению и уточнению ее математической
31
модели. При наличии достаточно сложных математических моделей
эффективность вычислительного эксперимента определяется качеством
имеющегося алгоритмического и программного обеспечения [3, 59, 94]. В связи
с этим становится актуальным задача выбора программных средств для
решения обратных задач динамики на основе использования интегральных
динамических моделей.
В настоящее время для реализации математических моделей
используются пакеты прикладных программ численного анализа и
математические библиотеки. Использование математических библиотек
требует наличие компилятора или интерпретатора определенного языка
программирования, в частности, Pascal, С, С++, Fortran, Python. Дополнительно
требуется также инструментарий для визуализации полученных результатов –
либо в виде утилит операционной системы, либо в виде набора подпрограмм
отдельной библиотеки. Отсюда, частое использование математических
библиотек при написании целостной программы влечет за собой определенные
трудности, связанные с синхронизацией работы инструментальных средств,
различных версий библиотек, а также экспорта/импорта данных. Вследствие
этого, при решении задач математического моделирования более выгодным
является использование пакетов прикладных программ, являющихся
целостными программными продуктами и обеспечивающих необходимую
функциональность.
В общем случае пакеты прикладных программ реализуются в виде
интерактивных математических систем, включают в себя системную часть
(ядро пакета) и набор функциональных модулей. Функциональные модули –
это набор отдельных программ, предназначенных для решения конкретных
математических задач, имеющих общее алгоритмическое описание. Из этих
модулей могут составляться программы (в принципе произвольной сложности)
для компьютерной реализации имеющихся математических моделей.
Системная часть обычно выполняет функции сервисного характера и
32
предназначена для организации связи функциональных модулей между собой, а
также для ввода хранения и отображения информации.
Пакет программ обычно допускает развитие, старые модули
модифицируются, новые — добавляются. Достоинством организации
программного обеспечения вычислительного эксперимента в виде пакетов
прикладных программ является также то, что их создают
высококвалифицированные специалисты, знающие и использующие самые
последние и самые эффективные достижения вычислительной математики
и программирования.
Пакеты прикладных программ имеют, как правило, встроенный язык
программирования, повышающий гибкость использования программ и
расширяющий спектр решаемых задач за счет создаваемых пользователем
собственных модулей. Кроме того, применение одной и той же инструментальной
среды как для проведения вычислений, так и для написания собственного
программного кода, позволяет упростить и ускорить процесс тестирования
реализованных алгоритмов. Особенностью современных интерактивных систем
является также и объединение численных вычислений, символьной математики и
графических средств визуализации, а также наличие встроенных средств для
организации как однопоточных, так и параллельных вычислений.
Применение стандартных языков программирования накладывает
ограничения на точность математических расчетов, которая напрямую зависит от
аппаратного обеспечения вычислительной техники. Данные ограничения
становятся несущественными при использовании систем компьютерной алгебры,
в которых в качестве промежуточных результатов можно применять символьные
выражения или значения в виде рациональных дробей с контролируемой длиной
числителя и знаменателя.
С целью оптимального выбора программной платформы для решения
обратных задач динамики анализировались возможности следующих наиболее
распространенных серийных инструментальных средств моделирования [34, 58-
59, 114, 180]:
33
 GAUSS, разработчик Aptech Systems Inc. (http://www.aptech.com/);
 Maple, разработчик Waterloo Maple Software Inc. (http://www.maplesoft.com/);
 MathCAD, разработчик MathSoft Inc. (http://mathcad.com.ua/);
 Mathematica, разработчик Wolfram Research Inc. (http://www.wolfram.com/);
 MATLAB, разработчик The Mathworks Inc. (http://www.mathworks.com/);
 Octave, разработчик Джон Итон и др. (https://www.gnu.org/software/octave/);
 O-Matrix, разработчик Harmonic Software (http://www.omatrix.com/);
 SciLab, разработчик Scilab Enterprises (http://www.scilab-enterprises.com/).
Систематизация и анализ результатов испытательного тестирования
позволяют сравнить пакеты по возможностям их изучения, функциональным
возможностям, скорости работы с большими наборами данных при их
математической, статистической и графической обработке.
В первой части тестирования проводилось исследование возможностей
установки (наличие инсталлятора для различных операционных систем,
возможность клиент/серверной установки, поддержка обновлений), изучения
соответствующего программного пакета, а также возможности поддержки
интерфейса пользователя, возможность импортирования документов в различные
форматы, наличие демонстрационных программ. При проведении оценки
использовались следующие весовые коэффициенты: 0.1 – для оценки установки,
0.3 – для оценки возможности изучения, 0.6 – для оценки поддержки
пользователей, так как использование инструментального пакета опирается на его
собственные функциональные возможности и реализованные подпрограммы.
Во второй части исследовалась математическая функциональность
рассматриваемых пакетов по следующим категориям: набор стандартных
математических функций; функции линейной алгебры; функции математического
анализа (нахождение границ, символьное и численное интегрирование и
дифференцирование, выполнение прямого и обратного преобразований Фурье);
функции численной математики (интерполяция сплайнами, классическая
одномерная и многомерная интерполяция, кусочно-полиномиальная
интерполяция, реализация численных методов для решения дифференциальных
34
уравнений и т.п.); набор статистических функций. Исходя из важности
определенных групп функций для решения описанных в работе задач
использовались следующие весовые коэффициенты: 0.1 – для функций
стандартной математики, 0.2 – для функций линейной алгебры, 0.3 – для функций
анализа, 0.3 – для функций численной математики, 0.1 – для статистических
функций.
В третьей части исследовалась графическая функциональность прикладных
систем. Важное место в исследовании отведено возможностям экспорта/импорта
и представления в разных форматах графических объектов: При оценивании были
выбраны следующие весовые коэффициенты: 0.8 для графических функций, 0.2
для функций экспорта/импорта.
В четвертой части проводилось исследование функциональности
программного окружения. При оценке использовались следующие весовые
коэффициенты: 0.3 – для редактирования кода, 0.3 – для отладки программ, 0.3 –
для встроенного языка программирования, 0.1 – для программных интерфейсов.
В пятой части было проведено сравнение скорости работы тестируемых
пакетов в среде Windows при выполнении наиболее часто используемых операций
над выбранными структурами данных:
 тест на выполнение вложенных циклов;
 возведение случайной матрицы в степень;
 сортировка 1 млн. случайных значений;
 выполнение быстрого преобразования Фурье для 220 значений;
 вычисление детерминанта случайной матрицы;
 поиск обратной матрицы для случайной матрицы;
 нахождение собственных значений и собственных векторов случайной
матрицы;
 разложение Холецкого для случайной матрицы;
 матричное умножение двух матриц;
 расчет 1 млн. чисел Фибоначчи;
 разложение на главные компоненты матрицы;
35
 нахождение значения Гамма-функции для случайной матрицы;
 вычисление параметров линейной регрессии для случайной матрицы;
 интегрирование функции на интервале;
 интерполяция данных на интервале;
 решение дифференциальных уравнений.
Вычисления проводились на ПК с микропроцессором Intel Quad Core 2.4
ГГц, 4 Г ОЗУ и операционной системой MS Windows 7.
Результаты тестирования для выбранных выше пакетов приведены в
таблице 1.1, при этом, при расчете общего рейтинга, результаты тестов по каждой
части брались с весовыми коэффициентами 0.1, 0.2, 0.2, 0.2, 0.3 соответственно,
что объясняется важностью наличия в исследуемых прикладных пакетах
алгебраических и численных функций, необходимостью визуализации
полученных результатов, а также развитой функциональной системой для
построение собственных программных модулей. Все значения приведены в
процентах от максимально возможного значения 100%.
Учитывая результаты тестов, а также доступность рассматриваемых
пакетов, можно сделать вывод, что наиболее приемлемыми пакетами
прикладных программ для численного анализа являются MATLAB [4, 176],
Mathematica [34] и MathCAD [180]. Кроме того, ни один из анализируемых
пакетов не содержит встроенных возможностей для решения интегральных
уравнений I и II рода. По набору функций, необходимых для численной
реализации интегральных динамических моделей, наиболее мощным
прикладным пакетом является MATLAB.
MATLAB является интегрированным программным комплексом, который
является одновременно и операционной средой, и языком программирования
для решения самого широкого круга математических задач, таких как задачи
линейной алгебры, решение дифференциальных уравнений, решение
нелинейных систем уравнений и ряд других задач. Он поддерживает
математические вычисления и визуализацию научной графики.
36
Таблица 1.1.
Результаты сравнения серийных средств моделирования
Тест Gauss Maple Math-
CAD
Mathe-
matica
MATLAB Octave O-
Matrix
SciLab
Установка 67 100 85 85 100 75 33 80
Изучение 58 98 92 98 95 92 46 52
Поддержка 19 80 88 97 93 63 40 27
Итого 36 87 89 96 94 73 41 40
Мат. функции 77 99 98 99 98 91 81 81
Алгебраические
функции
77 88 82 85 95 83 73 79
Функции мат.
анализа
84 100 100 100 100 91 54 85
Численная
математика
53 75 75 100 95 84 42 42
Функции
статистики
65 45 72 68 78 54 22 28
Итого 71 85 86 94 95 84 54 65
Графические
функции
63 65 88 80 90 82 42 61
Экспорт/импорт 54 50 100 100 100 90 68 80
Итого 61 62 90 84 92 84 47 65
Редактор кода 80 62 81 100 100 52 19 80
Отладка
программ
85 38 75 82 95 42 92 68
Язык програм-
мирования
67 48 58 65 72 38 43 39
Программные
интерфейсы
24 22 25 33 30 25 27 31
Итого 72 47 67 77 83 42 49 59
Скорость
вычислений
22 11 32 39 55 41 74 25
Всего 51 51 67 72 80 61 56 49
37
Основными отличительными чертами пакета MATLAB являются
следующие: модульная структура пакета позволяет наращивать его мощность
путем включения новых программных модулей, в том числе программ
пользователя; внутренний язык пакета позволяет осуществлять операции в
векторно-матричной форме; возможность вызывать подпрограммы, написанные
на С и FORTRAN, как встроенные функции MATLAB; интегрированные
программные модули, предназначенные для решения широкого круга задач,
таких как построение цифровых и аналоговых фильтров, адаптивная
фильтрация, анализ систем автоматического управления, идентификация,
спектральный анализ, финансовый анализ, обработка и анализ изображений,
робастное управление и т.д.; большое количество демонстрационных примеров,
иллюстрирующих возможности пакета MATLAB [4, 101, 142, 144, 179].
В связи с вышеизложенным, именно MATLAB был выбран в качестве
платформы для реализации разработанных алгоритмов.
1.4. Выводы
1. К обратным задачам динамики систем относятся задачи:
восстановления возмущений по заданным параметрам системы и реакциям;
восстановления уравнений или параметров по заданным внешним
возмущениям и реакциям; подбора управляющих сигналов по заданной
структуре и закону изменения выходных координат. Таким образом, это
известные в теории систем задачи восстановления входных сигналов,
идентификации и управления. Отметим также, что в основе методов
диагностики систем лежат способы восстановления параметров, дополненные
чисто диагностическими процедурами (декомпозиции, сравнения, принятия
решений и т. д.).
2. Наряду с традиционными математическими моделями непрерывных
динамических объектов в виде дифференциальных уравнений (обыкновенных и
в частных производных) эффективным математическим аппаратом являются
интегральные уравнения (уравнения Вольтерра I и II рода), обладающие рядом
достоинств, как принципиального характера, так и в прикладном аспекте, в том
38
числе свойством универсальности. Интегральные уравнения одного и того же
вида являются единой формой описания стационарных и нестационарных
систем, систем с распределенными параметрами и запаздыванием, различаясь
лишь видом ядра; содержат в себе полную математическую постановку
описываемой задачи; структура математической модели при обобщении и
обосновании постановок одномерных задач на многомерные задачи
сохраняется. Таким образом, интегральные динамические модели
обеспечивают решение широкого круга задач в системах управления.
3. Основой компьютерных технологий для исследования динамических
объектов, особенно в технических приложениях являются типовые (серийные)
пакеты прикладных программ (ППП), разработка, совершенствование и
развитие которых в настоящее время являются актуальными и ведутся очень
интенсивно. Пакеты обладают различными функциональными возможностями,
имеют определённую прикладную ориентацию, охватывают в целом широкий
класс исследовательских и проектных задач. Следует отметить, что многие
важные достоинства пакетов проявляются, как правило, при решении
«однорежимных» задач, решение которых состоит в воспроизведении
результатов решения тех или иных уравнений при фиксированном наборе
параметров модели. Одним из наиболее важных направлений развития ППП,
как информационных технологий исследования сложных систем и процессов,
является создание инструментария, обеспечивающего возможности решения
задач моделирования в режиме активного вычислительного эксперимента с
участием пользователя. Сравнительный анализ ППП с возможностями
компьютерного моделирования позволил выбрать систему MATLAB для
реализации интегральных моделей обратных задач динамики.
39
РАЗДЕЛ 2
ИНТЕГРАЛЬНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ ДИНАМИЧЕСКИХ
ОБЪЕКТОВ
2.1. Методы формирования интегральных динамических моделей в
задачах идентификации
Интегральные модели динамических объектов могут быть
сформированы посредством следующих основных подходов: 1) на основе
физических закономерностей (этот подход является общим и для других
видов моделей); 2) посредством эквивалентных преобразований
дифференциальных моделей; 3) на основе заданной структуры
моделируемого объекта, как совокупности взаимодействующих составных
частей (элементов, блоков, узлов и т.д.). Методы формирования интегральных
уравнений динамических объектов на основе второго и третьего подходов
являются наиболее конструктивными при реализации системного подхода в
технических приложениях.
Метод преобразования с расщеплением. Пусть известна модель
динамического объекта в виде обыкновенного дифференциального уравнения
)()()(][ )1(
1
)(
xfxyaxyyD n
n
i
i
n
 

 , i
i
Cy )0()(
, 1,0  ni , (2.1)
или в операторной форме fyD ][ . Для получения ряда эквивалентных
интегральных динамических моделей, т.е. зависимостей, что содержат
интегральный оператор, может быть применен достаточно общий прием,
который основан на различных расщеплениях исходного дифференциального
оператора. Действительно, расщепляя оператор D на два оператора, т.е.
записывая 21 DDD  , получаем дифференциальное уравнение
][1 yD , (2.2)
где ][)( 1 yDxf  . Выбирая такой способ расщепления, чтобы допустимым
было решение уравнения (2.2), получаем решение
40
][
1
1 

Dy , (2.3)
которое есть интегральным или интегро-дифференциальным уравнением,
поскольку оператор 1
1

D как обратный по отношению к 1D есть
интегральным оператором.
Рассмотренный метод эквивалентного преобразования может быть
применен в нелинейных задачах. Если, например, задано нелинейное
дифференциальное уравнение HH DDD 21  , где 1D − линейный оператор.
Тогда исходное уравнение также сводится к виду (2.3), т.е. в общем случае к
нелинейному интегро-дифференциальному уравнению.
Рассмотрим данный метод более детально на примере уравнения (2.1),
которое запишем в виде
)()()()( )1(
1
)1(
1
)(
xyaxfxyaxy n
n
mi
i
n
m
i
i
n 



  ,
После замены переменных
)()(,),()(),()( )()()1()(
xyxuxyxuxyxu nmmnmn
 

получаем уравнение m-го порядка
)()()( )(
1
)(
xxuaxu in
m
i
i
m
 

 , (2.4)
где
)()()( )(
1
xyaxfx in
n
mi
i


 .
Переходя от (2.4) к эквивалентной системе дифференциальных
уравнений и используя фундаментальное решение относительно
канонической системы дифференциальных уравнений, получаем уравнение с
ядром экспоненциального вида
 
x
AsAt
dssuaeuexu
0
0 ),,()( , (2.5)
41
где )](,),(),([)( )(
xuxuxuxu m
 , )]0(,),0(),0([ )(
0
m
uuuu  ,
)](,,0,0[),,( xsua   , а матрица А порядка m имеет вид
















 11
000
010
aaa
A
mm 



.
Искомые переменные уравнений (2.1) и (2.5) связаны зависимостью
dssusx
mn
dssuxy
mnx
mn
xx
)()(
)!1(
1
)()(
1
000


 



 .
Переход от одного варианта модели к другому происходит путем
замены значения nm ,1 .
Способ последовательного интегрирования. Сущность этого способа
состоит в том, что интегрируется левая и правая часть



r
i
i
i Tttftytq
0
)(
],0[),()()( (2.6)
необходимое число раз с применением формулы интегрирования по частям
[26]. В частности, в случае стационарных объектов его интегральная модель
принимает вид
)()()()(
0
tFdssystKty
t
  , (2.7)
где






n
i
i
i
i
st
qstK
1
1
,
)!1(
)(
)( (2.8)
42
.
)!1(
...
)!1(
...
!!
)(
)!1(
)(
)(
1
1
0
1
0
12
1
1
1
0
1

















  
n
t
y
i
t
qy
i
t
qy
i
t
ydssf
n
st
tF
n
n
t n
i
in
i
ii
in
i
i
i
i
n
(2.9)
Пример. Получим интегральную динамическую модель для
дифференциального уравнения с постоянными коэффициентами
1,1,0,sin23 210  yyyxyyyy . (2.10)
Используя (2.7)-(2.9) получим эквивалентное интегральное уравнение в
виде
  


t t
t
tsds
st
dssyststty
0 0
22
2
.
2
3
sin
2
)(
)(])()(3[)(
Наряду с рассмотренным способом перехода от моделей вида (2.6) к
интегра можно применить и ряд других способов: способ подстановки;
способ интегральных преобразований (операционный способ), основанный на
преобразованиях Лапласа, Фурье, Меллина и др. [109]. Проиллюстрируем
некоторые из этих способов на примере перехода к интегральным
динамическим моделям от дифференциальных уравнений с постойными
коэффициентами, описывающих линейные стационарные динамические
объекты с сосредоточенными параметрами
.1,0,)0(),()(...)( )()1(
1
)(
 
njyytftyqyqty j
j
n
nn
(2.11)
Способ подстановки. Получим интегральное уравнение относительно
старшей производной. Обозначив
)()( )(
sysU n
 , )()( )1(
1
0
tyydssU n
t


и т.д., получаем эквивалентное уравнению (2.11) интегральное уравнение
 
t
tdssUstKtU
0
),()(),()( (2.12)
43
где
.)...)()()(
,
)!1(
)(
),(
0122111
1
1
nnnnn
n
i
i
i
qytyqytyqytft
i
st
qstK








(2.13)
Пример. Получение интегральной динамической модели данным
способом рассмотрим на примере уравнения (2.10), для которого 31 q ,
12 q , 23 q , 02 y , 11 y , 00 y . Формулы (2.12), (2.13) для ядра и
правой части дают:
2
)()(3),( stststK  ,
)1(2sin)
2
()(sin)( 301
2
221212  ttqyty
t
yqytyqytt .
Тогда эквивалентное интегральное уравнение имеет вид
 
t
ttdssUststtU
0
2
)1(2sin)(])()(3[)( .
Отметим, что к достоинствам способа подстановки следует отнести
менее громоздкий вид правой части в (2.12) по сравнению с (2.9).
Недостатком (при решении задачи построения моделей динамических
объектов по экспериментальным данным) такого способа является
необходимость нахождения функции )(tU путем численного
дифференцирования экспериментально заданной функции )(ty .
Способ интегральных преобразований (операционный способ).
Рассмотрим способ получения интегральной динамической модели на
основании применения преобразования Лапласа к левой и правой части
(2.11). Воспользовавшись элементарными свойствами преобразования
Лапласа [49, 54, 77, 115], из (2.11) получаем
01122
3
1
2
0
1
2
1
1
0
1
1
)(...)...(
)...()()()...(
qyqpyqpqpy
qpqpypFpYqpqp
nnn
nn
n
nn
n
nn






(2.14)
или
44
).()()()( pPpFpYpQ 
При этом )]([)( tyLPY  − изображение исходного решения,
)]([)( tfLPF  − изображение входного сигнала и
n
nn
qpqpqpQ  
...)( 1
10 − характеристический многочлен
дифференциального уравнения. Отсюда получим
)(
)(
)(
1
).()(
pQ
pP
pQ
pFpY  .
Если )(1 ty и )(2 ty являются оригиналами функций )(/1 pQ и )(/)( pQpP
соответственно (они могут быть получены разложением на элементарные
дроби), то для искомого решения, согласно теоремы свертки, получим
формулы
 
t
tydssystfty
0
21 ).()()()( (2.15)
Пример. Задано уравнение ),cos(sin5)(6)(5)( tttytyty 
0)0( 0  yy , 1)0( 1  yy , 0)0( 2  yy . Согласно формуле (2.14), получим
.1)()()65( 2  pFpYpp Откуда
65
1
)65(
)(
)( 22




pppp
pF
pY .
Используя (2.15), окончательно получим



t
ttss
eedseeststty
0
2323
))](cos()[sin(5)( .
Достоинства и недостатки метода интегральных преобразований
очевидны.
Структурный метод получения интегральной динамической модели. В
таблице 2.1 приведены интегральные модели, полученные при заданных:
структуре ДО, динамической характеристике )(tK (импульсная переходная
функция, передаточная функция, переходная функция) и нелинейной
зависимости F.
45
Таблица 2.1
Структурный метод построения интегральных динамических моделей
Структура ДО Интегральная динамическая модель

t
dssxstKty
0
)(),()(
(оператор Вольтерра)

t
dssxFsxKty
0
)]([),()(
(оператор Вольтерра-Гаммерштейна)
))(),(()(
0

t
dssxstKFty
(оператор Вольтерра-Немыцкого)

t
dssxtKty
0
))(,()(
(уравнение Вольтерра-Урысона)
 
t
dssysxstKty
0
)]()()[,()(
(уравнение Вольтерра II рода)
 
t
dssysxstKFty
0
))]()()[,(()(
(интегральное уравнение типа
Вольтерра)
 
t
dssysxFstKty
0
)]()([),()(
(интегральное уравнение Вольтерра-
Гаммерштейна)
x(t)
K(s)
y(t)
x(t)
K[s,x(s)]
y(t)
K(s)
x(t) y(t)
x(t)
F K(s)
y(t)
x(t)
K(s) F
y(t)
F
y(t)
x(t)
K(s)
K(s)
y(t)
x(t)
F
46
2.2. Метод и алгоритмы идентификации динамических объектов на
основе интегральных моделей
Применение интегральных моделей позволяет исследовать большое
многообразие процессов, протекающих в технических системах [143]. Данные
модели относятся к классу непараметрических. Поэтому, алгоритмы,
применяемые для определения параметров дифференциальных моделей [26], не
могут использоваться при моделировании динамических объектов на основе
интегральными уравнений.
Рассмотрим задачу идентификации линейного стационарного объекта,
модель которого представлена уравнением
1,0,)0(),()()( )(
1
)()(
 


mkcutftuptu k
k
m
j
jm
j
m
, (2.16)
где f – заданный входной сигнал; u – заданный выходной сигнал; p − вектор
неизвестных параметров модели; с – вектор начальных условий; ],0[ Tt  .
Применив для (2.16) метод последовательного интегрирования,
рассмотренный в параграфе 2.1, получаем эквивалентное интегральное
уравнение Вольтера II рода
  


 







 

 





 1
00
1
1
1
00
1
).(
!
)(
)!1(
)(
)!(
)(
)!1(
)( m
j
j
j
t mm
j
jm
k
jk
k
t j
j tu
j
t
cdf
m
t
jk
t
cdu
j
t
p (2.17)
Из (2.17) для моментов измерения ),1(, Nit ji  вида
Tttt N  100 ; TN  100
и, полагая, что ,nm  получим следующую систему линейных уравнений
относительно mjp j ,1,  :
,bpA 
где ,][,),...,(,),...,( 1,11
m
jiij
T
m
T
m AAbbbppp 
47
,
)!(
)(
)!1(
)( 1
00
1


 





 jm
k
jk
i
k
t j
i
ij
jk
t
cdu
j
t
A
i
(2.18)
.
!
)()(
)!1(
)( 1
00
1
 





 m
v
v
i
v
t
i
m
i
j
v
t
ctydf
m
t
b
i
(2.19)
Для вычисления интегралов (2.18) и (2.19) используем квадратурные
формулы [25], которые в случае стационарного объекта будут записаны
следующим образом
  

 ii N
k
ijk
j
kiij
t
j
i urutWdut
0
1
0
1
],[)()()()( (2.20)
  

 ii M
k
imk
m
kiik
t
m
i urftWdft
0
1
0
1
],[)()()()( (2.21)
где it , k – узлы разбиения ( ik tt 0 ); ijW – веса квадратурной формулы;
NMN ii  ,1 , imij rr , – остаточные члены соответствующих формул.
С учетом того, что значения сигналов получены экспериментально с
некоторыми погрешностями, и отбрасывая ][yrij и ][ frim , из (2.18)-(2.21)
получим следующие расчетные выражения:
 

 







1
00
1
,1,
)!(
)(~)(
)!1(
1~ jm
l
i
jl
i
l
N
k
k
j
kiikij NN
jl
t
cutW
j
A
i
(2.22)
.1,)(~
!
)(
~
)(
)!1(
1~ 1
00
1
NMtu
v
t
cftW
m
b i
m
v
i
v
i
v
M
k
k
m
kiiki
i
  





(2.23)
Таким образом, приходим к окончательной системе уравнений для
определения приближенных значений вектора :)~,...,~(~
1
T
mppp 
,
~~~
bpA  (2.24)
где
   
T
m
m
jiij bbbAA
~
,...,
~~
,
~
11,


.
Рассмотренная задача является частным случаем более общей задачи
идентификации нестационарного динамического объекта с сосредоточенными
параметрами [29], описываемого интегральным уравнением
48
)()(),()()()()(),()()( 2
)(
221
)(
11
21
tdftKtfttdutKtut
tGtG
   , (2.25)
где i , iK , i )2,1( i − неизвестные величины; u и f – определены в (2.16),
)(tGi − области интегрирования ( ],0[],,0[)()( 21 TtttGtG  ).
Очевидно, что для стационарного объекта
.
)!(!
)(,
)!1(
)(
),(
,,
)!1(
)(
)(),(,0)(,0)(,1)(
1
1
1
0
2
1
2
1
1
1121
 

























m
j
jm
k
jk
kj
j
j
m
m
j
j
j
jk
t
cp
j
t
ct
m
t
tK
Nm
j
t
ptKtKttt
(2.26)
Для решения уравнения (2.25) проведем дискретизацию модели в узлах
Niti ,0,  и применим квадратурные формулы, в результате чего получим
алгебраическую систему относительно неизвестных параметров, содержащую
1N уравнение:
.,1,,1
),()(),()()(
)()(),()()(
),0()0()0()0()0()0(
0
222
0
111
2211
NiNNM
tftKWtft
tutKWtut
fu
ii
M
j
ijjiijii
N
j
ijjiijii
i
i

 
 



Данная система является недоопределенной [26], что может вызвать
трудности при ее решении.
Чтобы убедиться в эффективности метода, рассмотрим примеры решения
тестовых задач (исходные данные тестовых задач обеспечивают возможность
получения точного решения и проверки точности применяемых численных
алгоритмов, а также обладают возможностью воспроизводимости результатов
вычислительных экспериментов).
Пример 1: выходной сигнал: ;01.0],2;0[,1)( 2
 
htetu t
входной
сигнал: ;2.014)( 2
  t
etf ,01 C ,22 C ,43 C ,84 C 165 C –
начальные условия для эквивалентного дифференциального уравнения
49
),()()()()()()( 5
)1(
4
)2(
3
)3(
2
)4(
1
)5(
tftuptuptuptuptuptu 
.5,1,)0()1(

iCu i
i
Необходимо определить коэффициенты ip~ (точные значения: 2.11 p ,
22 p , 1.33 p , 7.04 p , 2.05 p ).
Используя выражения (2.22)-(2.24) и квадратурную формулу трапеций
для аппроксимации интегралов, входящих в выражения (2.18), (2.19), получаем
систему относительно неизвестных коэффициентов ip~ . Применяя для ее
решения метод наименьших квадратов, получаем значения искомых
коэффициентов:
1995,0~,9459,1~,7472,5~,3704,3~,0113,0~
54321  ppppp ,
при этом максимальная погрешность выходного сигнала umax равна
0,000125.
Добавим к входному сигналу f случайную помеху, распределенную по
нормальному закону, с учетом амплитуды f. На рис. 2.1 и 2.2 изображены
графики входного и выходного сигнала соответственно при уровне случайной
помехи 10%. В табл. 2.2 представлены значения коэффициентов ip~ ,
полученные при различных значениях помехи.
Рис. 2.1. График входного сигнала 2,014)( 2
  t
etf при уровне помехи 10%
50
Рис. 2.2. Экспериментальные и рассчетные значения выходного сигнала при
уровне помехи 10%
Таблица 2.2
Значения коэффициентов ip~ , 5,1i при помехах выходного сигнала,
описываемого экспоненциальным законом
Величина
помехи
входного
сигнала в %
Максимальная
абсолютная
погрешность
umax
1
~p 2
~p 3
~p 4
~p 5
~p
1 0,003053 0,0059 -1,6820 5,7503 -4,8095 -1,3727
5 0,014173 0,0059 -1,1268 5,5406 -11,4488 -0,7102
10 0,059389 0,0183 -5,6392 5,0458 9,8715 -3,2394
Пример 2: выходной сигнал: ;1)( 1
 t
etu входной сигнал:
;15.0)( 1
 t
etf начальные условия: ,7183.31 C 7183.22 C , 7183.23 C ;
эквивалентное дифференциальное уравнение
),()()()()( 321 tftuptuptuptu 
3,1,)0()1(

iCu i
i
; точное решение: 1,5.0,2 321  ppp . Нужно
определить коэффициенты ip~ .
51
В процессе решения тестового примера получено значение максимальной
абсолютной погрешности выходного сигнала 0024378,0max u (рис. 2.3).
Рис. 2.3. Абсолютная погрешность выходного сигнала
(точное значение ;1)( 1
 t
etu )
В табл. 2.3 представлены значения коэффициентов ip~ , полученные при
различных значениях помехи.
Таблица 2.3
Значения коэффициентов ip~ , 3,1i при помехах выходного сигнала,
описываемого экспоненциальным законом
Величина
помехи
входного
сигнала в %
Максимальная
абсолютная
погрешность
umax
1
~p 2
~p 3
~p
0 0,002438 0,0034 3,0077 -0,9974
1 0,037324 2,0267 0,5265 -0,9779
5 0,048346 1,9757 0,5471 -0,9859
10 0,017157 2,0083 0,5315 -1,0057
Пример 3: выходной сигнал: ;)( 3
ttu  входной сигнал:
;6125.1)( 23
 ttttf начальные условия: 01 C , 02 C , 03 C . Нужно
определить коэффициенты ip~ эквивалентное дифференциальное уравнение
3,1,)0(),()()()()( )1(
321  
iCutftuqtuqtuqtu i
i
.
52
Точное решение: 1,5.0,2 321  ppp . Результаты моделирования
представлены в таблице 2.4.
Таблица 2.4
Значения коэффициентов ip~ , 3,1i при помехах выходного сигнала,
описываемого полиномом 3-й степени
Величина
помехи
входного
сигнала в %
Максимальная
абсолютная
погрешность
umax
1
~p 2
~p 3
~p
0 0,021668 2,0856 4,7155 -0,6312
1 0,024827 2,0828 0,2345 -0,7736
5 0,026551 2,2235 -0,5445 0,4487
10 0,028324 2,1337 -0,0666 -0,1927
Результаты проведенных вычислительных экспериментов
свидетельствуют о таких свойствах интегрального метода идентификации, как
высокая устойчивость, эффективность по затратам машинного времени и
объему вычислений, простота реализации. Рассмотренный метод может быть
эффективно использован при решении задач параметрической идентификации
динамических объектов, представленных как дифференциальными
уравнениями, так и интегральными моделями в случае их параметризации.
2.3. Идентификация динамических объектов при произвольном
воздействии на основе метода многократного интегрирования
Интегрирование переходных процессов позволяет определять
динамические свойства испытуемого объекта при произвольном входном
воздействии.
Рассмотрим соотношения [183], позволяющие определять
коэффициенты линейного дифференциального уравнения типа
)()()()()( 1
)1(
1
)(
tkxtytyatyatya n
n
n
n  
  , (2.27)
соответствующего передаточной функции )1(
1



n
i
i
i pak , при следующих
условиях:
53
.0)()()(;0)0()0()0( )1()1(
  nn
yyyyyy 
Указанные условия означают, что испытуемый объект при 0t и
t должен находиться в неизменном стационарном состоянии. В
аналогичном состоянии, очевидно, должен также находиться входной
сигнал х(t). В интервале  t0 входной сигнал может быть
произвольным. В том случае, когда х(0) = х(∞) = 0 и соответственно y(0) =
y(∞) = 0, коэффициент усиления определяется из равенства



00
xdtydtk .
Для определения коэффициента а1 вначале интегрируется уравнение (2.27)
в пределах от t до ∞:






tt
n
n
n
n xdtkydttyatyatya )()()( 1
)2(
1
)1(
 , (2.28)
а затем уравнение (2.28) в пределах от 0 до ∞:
  




0
2
0
2
0
1 )(
1
tt
xdtkydt
ydt
a . (2.29)
Интеграл  

0
2
t
ydt численно равен площади, ограниченной кривой 
t
ydt
0
и
прямой 

0
ydt . Такой же геометрический смысл имеет и интеграл  

0
2
t
xdt .
При вычислении коэффициента а2 и последующих коэффициентов,
для снижения порядка производной при определяемом коэффициенте al до
нулевого выполняется l-кратное интегрирование обеих частей уравнения
(2.27) в пределах от t до ∞, а затем в (l+1)-й раз – в пределах от 0 до ∞. В
результате
])()1()([
)(
)1( 1
0
11
1



 


l
i
ili
i
l
l
l ySaxkS
yS
a , (2.30)
54
.)(,)(
0
1
0
1
l
l
t t
l
l
l
t t
l xdtxSydtyS     


 

 




 (2.31)
Дальнейшее развитие метода многократного интегрирования,
рассматриваемое ниже, расширяет возможности его применения.
Переходные процессы при произвольном входном воздействии с
произвольным установившимся состоянием в начале и в конце процесса
относятся к более общему случаю исследования. Анализ таких процессов
проще анализа процессов, у которых y(0) = y(∞), так как требует
определения меньшего количества интегралов.
Из очевидных соображений находится коэффициент усиления
системы
)()0(
)()0(



xx
yy
k . (2.32)
Для определения остальных коэффициентов необходимо преобразовать
уравнение (2.27). Введение нормированных переменных
)(
)(
1)(;
)(
)(
1)( 11




x
tx
tx
y
ty
ty (2.33)
при не сказывающемся на общности предположении, что х(0) = у(0) = 0,
позволяет записать уравнение (2.27) в виде
)()()()()( 1111
)1(
11
)(
1 txtytyatyatya
n
n
n
n 

  . (2.34)
Величины х1(∞) и у1(∞) согласно (2.33) равны нулю, и это позволяет
интегрировать уравнение (2.34) в пределах от 0 (или t) до ∞.
В результате многократного интегрирования определяются
последовательно коэффициенты уравнения (2.34), для которых может быть
записана следующая рекуррентная формула:
])()1()([)1(
1
0
11 



l
i
ili
i
l
l
l ySaxSa (l=1, 2, …,n). (2.35)
55
Исследование систем более общего вида значительно усложняется,
так как в этом случае не существует рекуррентной формулы для
вычисления коэффициентов полиномов в числителе и знаменателе
передаточной функции.
Для определения n коэффициентов знаменателя и m коэффициентов
числителя составляется n+m уравнений, связывающих определяемые
коэффициенты с численными значениями интегралов типа (2.31),
вычисленными по данным эксперимента. В последних m уравнениях
системы все m+n коэффициентов связаны однотипными зависимостями,
отличающимися только порядком интегралов.
Структура таких систем уравнений для произвольных входных
воздействий типа х(0) = х(∞) приведена в табл. 2.5, а для х(0) ≠ х(∞) – в
табл. 2.6.
Для вычисления коэффициентов передаточной функции по формулам,
получаемым в каждом конкретном случае из приведенных систем
уравнений, целесообразно использовать ЭВМ.
Отметим, что метод площадей [62, 181, 183] и метод многократного
интегрирования оперируют с однотипными интегралами и решают одну
задачу – определение коэффициентов передаточной функции. Представляет
интерес установить связь между этими методами в явной форме.
Преобразуем выражение для многократного интеграла с переменным
нижним пределом. В результате первого интегрирования по частям
интеграл Sl(у) (2.31) примет вид
dtydttydttdtydtyS l
l
t t
l
l
t t
l
l
t t
l      



 


 


 


























0
2
2
0
1
1
0
1
1
|)(





 .
В силу экспоненциального характера затухания переменной у первое
слагаемое в правой части равно нулю не только в нижнем, но и в верхнем
пределе.
56
Таблица 2.5
Структура систем уравнений для определения коэффициентов передаточной функции с полиномом в числителе
при входном воздействии типа х(0)=х(∞)
Число
уравнений
Коэффициенты при определяемых параметрах Правые части
уравненийa1 a2 … an b1 b2 … bm
m
)(
)(
)(
)(
1
2
1
yS
yS
yS
yS
m
m






)(
)(
)(
0
1
2
1
yS
yS
yS
m
m



0
0
0
0

)(
)(
)(
)(
1
2
1
xkS
xkS
xkS
xkS
m
m

)(
)(
)(
0
1
2
1
xkS
xkS
xkS
m
m






)()1(
0
0
0
1
1
xkSm


)()(
)()(
)()(
)()(
11
33
22
ySxkS
ySxkS
ySxkS
ySxkS
mm
mm
 




n-m
)(
)(
)(
1
1
yS
yS
yS
n
n
m






)(
)(
)(
1
2
yS
yS
yS
n
n
m



)()1(
0
0
1 ySn


)(
)(
)(
1
1
xkS
xkS
xkS
n
n
m



)(
)(
)(
1
2
xkS
xkS
xkS
n
n
m






)()1(
)()1(
)()1(
1
1
1
2
1
xkS
xkS
xkS
mn
m
mn
m
m









)()(
)()(
)()(
11
22
ySxkS
ySxkS
ySxkS
nn
nn
mm






m
)(
)(1
yS
yS
mn
n





)(
)(
1 yS
yS
mn
n


)()1(
)()1(
1
2
yS
yS
m
n
n



)(
)(1
xkS
xkS
mn
n



)(
)(
1 xkS
xkS
mn
n



)()1(
)()1(
1
1
2
1
xkS
xkS
n
m
mn
m







)()(
)()(
11
22
ySxkS
ySxkS
mnmn
nn





57
Таблица 2.6
Структура систем уравнений для определения коэффициентов передаточной функции с полиномом в числителе
при входном воздействии типа х(0)≠х(∞)
Число
уравнений
Коэффициенты при определяемых параметрах Правые части
уравненийa1 a2 … an b1 b2 … bm
m
)(
)(
)(
)(
1
11
12
11
yS
yS
yS
yS
m
m






)(
)(
)(
0
11
12
11
yS
yS
yS
m
m



0
0
0
0

)(
)(
)(
)(
1
11
12
11
xS
xS
xS
xS
m
m

)(
)(
)(
0
11
12
11
xS
xS
xS
m
m






)()1(
0
0
0
11
1
xSm


)()(
)()(
)()(
)()(
11
1111
1212
1111
ySxS
ySxS
ySxS
ySxS
mm
mm






n-m
)(
)(
)(
1
11
11
yS
yS
yS
n
n
m






)(
)(
)(
11
12
1
yS
yS
yS
n
n
m



)()1(
0
0
11 ySn


)(
)(
)(
1
11
11
xS
xS
xS
n
n
m



)(
)(
)(
11
12
1
xS
xS
xS
n
n
m






)()1(
)()1(
)()1(
11
1
1
1
12
1
xS
xS
xS
mn
m
mn
m
m









)()(
)()(
)()(
11
1111
1111
ySxS
ySxS
ySxS
nn
nn
mm






m
)(
)(
1
11
yS
yS
mn
n





)(
)(
11
1
yS
yS
mn
n


)()1(
)()1(
11
12
yS
yS
m
n
n



)(
)(
1
11
xS
xS
mn
n



)(
)(
11
1
xS
xS
mn
n



)()1(
)()1(
11
1
12
1
xS
xS
n
m
mn
m







)()(
)()(
11
1111
ySxS
ySxS
mnmn
nn





58
Последовательным интегрированием по частям выражение для Sl(у)
сводится к виду
dty
l
t
dty
l
t
y
l
t
dty
l
t
ydt
l
t
yS
lll
t
l
t
t
l
l  
  

 












0
1
0
1
0
1
2
0
22
)!1()!1()!1()!2()!2(
)( || ,
или
l
l
l rdty
l
t
yS 

 
 
0
1
)!1(
)( . (2.36)
Таким образом, многократные интегралы Sl(у) и Sl(x) численно равны
моментам l-го порядка от соответствующих величин. Однако в отличие от
метода площадей здесь моменты вычисляются для произвольного (в
частном случае ступенчатого) воздействия.
Учитывая равенство (2.36), можно записать рекуррентные формулы
(2.30) и (2.35) в другой форме:
])()1()([
)(
)1( 1
0
11
1



 


l
i
ili
i
l
l
l yraxkr
yr
a , x(0)=x(∞)=0; (2.37)
])()1()([)1(
1
0
11 



l
i
ili
i
l
l
l yraxra , x(0)≠ x(∞). (2.38)
Из рассмотрения (2.37) и (2.38) можно сделать вывод, что метод
площадей является частным случаем метода многократного
интегрирования. Действительно, при подстановке в (2.38) значений
моментов от входного ступенчатого воздействия имеем
0)( 1 xrl (l=1, 2, 3, …).
Преобразованная формула для al имеет вид






1
0
1
1
)()1(
l
i
ili
il
l yraa (2.39)
и совпадает с соответствующей метода площадей (в данном случае у1 = 1–h
и ql = аl).
59
Главное достоинство метода многократного интегрирования состоит в
том, что он позволяет исследовать переходные процессы, вызванные
входным воздействием произвольного характера, т.е. при проведении
испытаний объекта в условиях его нормальной эксплуатации и, в
частности, при натурных испытаниях. Кроме того, можно избежать
погрешностей, связанных с неточным фиксированием входного, например,
быстро изменяющегося, сигнала.
2.4. Способ определения передаточной функции динамического
объекта при входном воздействии произвольной формы на основе
интегральных спектров Пуассона
Известно, что наилучшую оценку параметров математической модели
объекта может дать только специально организованный активный эксперимент
с известным тестовым воздействием [111]. Однако организация такого
эксперимента не всегда возможна по причине высокой стоимости или
практической неосуществимости. Поэтому приходится определять параметры
модели объекта по его отклику на входное воздействие произвольной формы,
что позволяет получить явную динамическую модель объекта в форме
передаточной функции, как исходной основы решения задач восстановления
сигналов. Кроме того, передаточная функция позволяет эффективно получить
интегральную динамическую модель.
Методика оценки параметров математической модели объекта заданного
аналитического вида (обычно дробно-рациональной функции
pbpa
i
n
i
i
k
m
k
kpH 


00
/)( , mn  ), наиболее применимая для решения
поставленной задачи, состоит в следующем. Передаточная функция объекта
бесконечно-дифференцируема ( 
CpH )( ), а измеренные входное воздействие
и реакция объекта, заданные на конечном дискретном множестве, описываются
некоторыми непрерывными функциями 0
)(),( Ctytx  . При этом возможны
60
случаи, когда непосредственно использовать измеренные значения x(t) и y(t)
для оценки параметров H(p) затруднительно, так как любой метод решения
системы алгебраических уравнений, к которой сводится данная задача, по сути,
заключается в оценке не менее чем 2n первых конечных разностей от x(t), y(t)
(где n − порядок знаменателя H(p)). Поэтому на первом шаге необходимо
обеспечить мощное сглаживание x(t) и y(t), такое, чтобы выполнялось условие
n
Ctytx 2
)(),(  , что может быть достигнуто, например, последовательным 2n-
кратным интегрированием.
Наиболее подходящая форма интегрального сглаживания вытекает из
определения преобразования Лапласа
dttpH e
pt
)()(
0
 


. (2.40)
Если в (2.40) экспоненту заменить ее разложением в ряд Тейлора-Маклорена в
точке p*
=p+ α, где α − произвольное положительное действительное число, то
получим










0
*
00
*
*
)(
!
)(
)(
k
k
k
kt
k
k
pPdttte
k
p
pH ,
dttte
k
P kt
k
k )(
!
)1(
0


 


, (2.41)
где Pk − к-й момент Пуассона [54, 121]; )(t − импульсная переходная функция
объекта. Если при проведении эксперимента измерена не функция объекта (t),
а реакция y(t) объекта на воздействия x(t), то необходимый для оценки величин
коэффициентов дробно-рациональной функции H(р) спектр Пуассона
nkHk 2,0,  определяется из решения известного равенства
)(
)(
)(
pX
pY
pH  . (2.42)
Пусть Xk и Yk – последовательность моментов Пуассона входного
61
воздействия x(t) и реакции объекта y(t). Тогда искомый спектр Hk вычисляется
по вытекающим из равенства








000 k
k
k
k
k
k
k
k
k pXpYpH
формулам
000 XYH  , 0
1
0
)( XXHYH
k
m
mkmkk 


 . (2.43)
Из системы (2.43) непосредственно следует, что погрешность в
определении k -го момента Пуассона значительно больше погрешности оценок
моментов Yk и Xk. Следовательно, достоверность параметров модели H(p) при
произвольном входном воздействии будет хуже, чем при оценке их величин,
например, по переходной или импульсной функции объекта. Этот недостаток
метода принципиально неустраним при любой методике вычислений.
В этом случае рекомендуется обеспечение хорошей помехозащищенности
и надежности измерительной аппаратуры, а также достаточной избыточности
обмеров x(t) и y(t). Иными словами, частота дискретизации x(t) и y(t) не должна
существенно отличаться от частоты по Котельникову, т.е. шаг измерений
должен быть не больше, чем срезft /1 , где срезf – верхняя граница спектра
H(j), соответствующая частоте (в герцах), при которой модуль амплитудно-
частотной характеристики объекта становится меньше утроенной величины
приведенной погрешности измерительного комплекса.
При вычислении спектров Пуассона существенное значение имеет
используемый метод численного интегрирования. В [74] показано, что при
применении классических методов интегрирования получают смещенные
оценки величин моментов вследствие эффекта «мимикрии» частот. Наиболее
подходит для вычисления спектра Пуассона является метод Филона второго
порядка [74], суть которого в том, что на шаге интегрирования функция x(t) или
y(t) представляется параболой второго порядка. При этом интеграл (2.41) берется
в явном виде, и вычисления спектра Pk выполняется по рекуррентной формуле.
При решении ряда практических задач существенное значение имеет
62
выбор порядка метода Филона. В случае использования метода первого порядка
достоверность результатов часто оказывается недостаточной, а при
использовании метода третьего порядка значительно увеличивается
вычислительное время, однако сохраняется качестве результатов. Наилучшие
результаты обработки сигналов, имеющих непрерывную первую производную,
достигаются аппроксимацией x(t) и y(t) на шаге интегрирования сплайном
третьего порядка 32
)( dtctbtatf  , удовлетворяющего условию
непрерывности производной )(tf  .
Известно [74], что определители систем алгебраических уравнений, при
решении которых определяются коэффициенты H(р), плохо обусловлены,
точнее, близки к гильбертовским. Величины гильбертовского определителя G
для ряда значений n систем алгебраических уравнений, соответствующих числу
неизвестных коэффициентов передаточной функции H(p), приведены в табл. 2.7
Таблица 2.7
Значения определителей Гильберта
n 4 5 6 7 8
G 7
102 

12
107,3 
 18
104,5 
 25
108,4 
 33
107,2 

Отсюда следует, что оценка определителя по экспериментально измеренным
динамическим характеристикам более семи неизвестных коэффициентов H(р)
является нереальной задачей. Причина этого заключается в свойствах k-го
момента Пуассона
dttte
k
P k
T
t
k
k )(
!
)1(
0


 

,
где Т – длительность переходного процесса, по истечении которого амплитуда
(t) будет меньше, чем утроенная величина погрешности измерительного
комплекса.
Из известной теоремы Чебышева о полиномах, наименее отклоняющихся
от нуля, следует, что функция ],0[ Ttk
 может быть представлена функцией
63
степени 1k с погрешностью не хуже, чем k21
2 
. Например, функцию 5
t можно
заменить рядом четвертой степени
512
1
256
25
32
25
16
35
5,2 2345
 ttttt
с погрешностью не больше чем 0,2%. Следовательно, можно утверждать,
что если погрешность измерительного комплекса =0,5%, то все моменты
Пуассона, начиная с пятого, будут линейно зависимыми от первых четырех.
Если  = 0,1%, то шестой и последующие моменты Пуассона можно представить
как линейную комбинацию первых пяти. Таким образом, при реально
достижимой точности обмеров динамических характеристик промышленных
объектов (~ =1%) можно оценить величины не более чем четырех - пяти
неизвестных коэффициентов передаточной функции H(p).
С помощью алгоритма идентификации объекта, построенного по данной
схеме, вычисляются коэффициенты дробно-рациональных функций второго и
третьего порядка по следующим формулам:
при n=2:
32
21
0
PP
PP
D  ,
31
20
1
PP
PP
D  ,
21
10
2
PP
PP
D  ; 210 DDDD  ;
,,
)2(
,1 0
2
01
10
2
D
D
b
D
DD
bb




;
2
(
,
2
)( )0 2110
1
2112
0
D
DPDP
a
D
DPDDP
a




при n=3:
543
432
321
0
PPP
PPP
PPP
D  ,
542
431
320
1
PPP
PPP
PPP
D  ,
532
421
310
2
PPP
PPP
PPP
D  ,
432
321
210
3
PPP
PPP
PPP
D  ;
0123
DDDDD  ;
;,
)3(
,
)32(
,1 0
3
01
2
012
10
22
D
D
b
D
DD
b
D
DDD
bb






64
 
D
DPDDPDDDP
a
2
)()( 322311230
0

 ,
 
D
DPDDPDDP
a
2
2)2()2( 32231120
1

 ,
 
D
DPDPDP
a
2
322110
2
2

 ,
где  /1 .
Как свидетельствуют результаты расчетов, их качество зависит от
удачного выбора весового коэффициента α в (2.41). Каких-либо теоретических
оценок по выбору оптимальной величины α не существует. Однако область
существования оптимальной величины известна. Ее обратная величина 
должна быть не меньше шага дискретизации x(t) или y(t) и не больше
длительности переходного процесса. Оптимальной величине 0 соответствует
наименьшее среднеквадратичное отклонение S между измеренной и расчетной
реакцией объекта на заданное входное воздействие. Зависимость величины S от
 многоэкстремальна. Кроме того, область существования  может оказаться
разбитой на подобласти физически реализуемых решений, определяемых
условиями Гурвица.
Для определения наименьшей величины среднеквадратического
отклонения S выбирается сочетание панорамной оценки зависимости )(S для
двадцати значений 116.1  ii согласно методу градиента на интервале
00 13.187.0  j , где 0 соответствует наименьшей величине S, полученной
при панорамном просмотре.
Задача определения среднеквадратичного отклонения с помощью данного
алгоритма имеет свои особенности. Необходимо найти отклик объекта,
заданного передаточной дробно-рациональной функцией второго или третьего
порядка, на заданное на дискретной сетке (в общем случае не обязательно
регулярной) входное воздействие. При этом реакцию объекта следует вычислять
на дискретной сетке, в общем не совпадающей с той, на которой была измерена
реакция объекта. Алгоритм вычисления отклика объекта должен быть
максимально быстродействующим, так как при решении задачи идентификации
65
он выполняется не менее 40-50 раз и определяет время счета. Достаточно
эффективен в этом случае метод интегрирования Тейлора [136].
При реализации алгоритма интегрирования входное воздействие может
ступенчато изменяться только в точках отсчета. Между дискретами измерения
оно описывается параболой третьего порядка или, если априори известно, что
входной сигнал есть гладкая аналитическая функция, − сплайном третьего
порядка, обеспечивающим непрерывность первой производной x(t). При этом
как входное воздействие, так и отклик объекта может быть представлен рядом
Тейлора. Следовательно, можно записать
k
k
HpkkXpX )(!)()(
3
0


 ; k
k
HpkkYpY )(!)()(
0



 , (2.44)
где коэффициенты Х(k) и Y(k) − коэффициенты разложения функций x(t) и y(t) в
ряды Тейлора, а k – шаг их дискретизации. Подставив (2.44) в (2.42), помножив
полученное равенство на знаменатель передаточной функции H(p), а затем
приравнять члены с одинаковыми степенями при р, получим
k
kmn
m
k
m
k
k
kmn HkakXHkbkY 



   /)(/)(
00
, 1,0  nm ; (2.45)
k
k
n
k
n
k
k
k HmkakXHmkbkY 


  /)()(/)()(
00
,  ,0m , (2.46)
где n − порядок знаменателя Н(p).
Равенство (2.45) определяет реакцию объекта на ступенчатое изменение в
момент itt  величины входного воздействия. Равенство (2.46) описывает
реакцию объекта на монотонно изменяющуюся часть входного воздействия.
Искомая величина реакции объекта в момент времени 11 ttt ii  , где Ht 1 ,
имеет вид
km
k
ii
H
t
kYtY 

 






0
1
1 )()( .
Для практических задач можно ограничивается членом )(10)( 4
itYmY 
 , что
66
обеспечивает методическую погрешность не более 0,1%. В целом
вычислительный эксперимент свидетельствует, что предложенный алгоритм
позволяет на основе пассивных экспериментов вычислить коэффициенты
дробно-рациональной передаточной функции с точностью, обеспечивающей
практическое решение инженерных динамических задач анализа и синтеза в
технических приложениях.
Одним из продуктивных направлений рассмотренного моментного
подхода к формированию динамических моделей является получение
передаточных функций, описывающий такой традиционно трудный для
исследования класс объектов, как объекты с запаздыванием. Решение данной
задачи рассмотрено в Приложении А.
2.5. Метод аналитического представления экспериментальных
зависимостей
При решении обратных задач динамики существенный интерес
представляют аналитические выражения зависимостей, т.е. функций времени,
представленных дискретными значениями (таблицами), полученными
экспериментально или в результате расчетов. Как правило, такие зависимости
регистрируются на выходах физических объектов, в том числе различных
измерительных приборов или других технических устройств. В связи с этим
ниже рассматривается метод представления экспериментальных зависимостей в
виде решений дифференциальных уравнений как динамических моделей
широкого класса физических объектов. Такой подход является основой многих
методов идентификации в задачах динамики.
Будем рассматривать непрерывные, ограниченные по модулю функции
времени, полученные в результате эксперимента или расчета. При этом
воспользуемся соответствующими положениями теории динамических систем
[122, 154], согласно которым всякую непрерывную, ограниченную по модулю,
функцию времени можно с наперед заданной точностью аппроксимировать
интегралом однородного линейного дифференциального уравнения с
67
постоянными коэффициентами на конечном отрезке kttt 0 или на всей
полуоси  t0 , если функция стремится к пределу при t . Можно
показать, что эти положения справедливы для дискретных значений функции в
равноотстоящих точках в случае представления зависимостей решениями
однородного линейного разностного уравнения с постоянными
коэффициентами.
Рассмотрим однородное линейное дифференциальное уравнение n-го
порядка с постоянными коэффициентами
.0)()(...)()( 1
)1(
1
)(


 tfatfatfatf o
n
n
n
(2.47)
Пусть vrrr ,...,, 21 − корни его характеристического уравнения кратности
v ,...,, 21 . Тогда общее решение уравнения (2.47) имеет вид
tr
ii
v
i
i
ii
i
etctcctf )...()( 1
1,1
1
0



  , где ijс − произвольные постоянные.
Теперь рассмотрим однородное линейное разностное уравнение n-го
порядка с постоянными коэффициентами
,0)(])1[(...])1[(])[( 11   kTfaTkfaTnkfaTnkf on (2.48)
такое, что корни его характеристического уравнения имеют вид Tr
e 1
1  ,
Tr
e 2
2  ,…, Tr
v e 0
 , а v ,...,, 21 − кратность этих корней. Общее решение
уравнения (2.48) имеет следующий вид
tr
ii
v
i
i
ii
i
etctccktf )...()( 1
1,1
1
0



  , (2.49)
где ijс − произвольные постоянные. Если )()( kTfkTf  при ,...2,1,0k , а
)(tf − аппроксимирующая функция для некоторой функции )(t , то и )(kTf
будет аппроксимирующей функцией для )(t с такой же погрешностью
аппроксимации в точках kTt  .
68
При представлении какой-либо функции интегралом дифференциального
уравнения возникают трудности, связанные с тем, что неизвестны значения
производных при 0t , являющиеся начальными условиями. В случае
использования решения разностного уравнения n-го порядка начальными
условиями являются известные значения аппроксимирующей функции при
kTt  , 1,...,2,1,0  nk .
Подвергнем уравнение (2.48) z-преобразованию. Обозначим )(zF
изображение решения )(kTf уравнения (2.48), удовлетворяющего начальным
условиям
0)0( ff  , 1)( fTf  , 2)2( fTf  ,…, 1])1[(  nfTnf . (2.50)
Используя теорему сдвига и теорему линейности, получаем
.0)(])([...]...)([
...)(
0012
2
1
1
0
1
1
1
2
2
1
10







zFazfzzFazfzfzfzzFa
zfzfzfzfzzF
n
nnn
n
nn
nnn
Группируя члены уравнения по степеням z и решая его относительно )(zF ,
находим
,1,)(
0
1
0
)1(










nn
j
jn
jn
n
i
in
in
a
za
zb
zF (2.51)
где
....
...............................................
,
,
,
01322110
021123
0112
01
fafafafb
fafafb
fafb
fb
nnnnn
nnn
nn
n








(2.52)
69
Формула (2.51) устанавливает связь между изображением )(zF решения )(kTf
и коэффициентами 01,...,aan уравнения (2.48), а также между )(zF и
начальными условиями (2.50).
Согласно определению z-преобразования изображение функции )(kTf
можно также представить в виде
,)(
0





k
k
k zfzF (2.53)
где ),(kTffk  k 0, 1, 2, … Разделив числитель и знаменатель дроби (2.51) на
n
z и приравняв ее правой части выражение (2.53), получим
 








 
1
0
)1(
0 0
n
i
i
in
n
j k
k
k
j
jn zbzfza .
Умножая степенные ряды в левой части, находим
.,0,,
000 0
nsafaczczfza sn
q
s
sqsnq
q
q
q
n
j k
k
k
j
jn  









   , (2.54)
Следовательно,







 
0
1
0
)1(
q
q
q
n
i
i
in zczb .
Поскольку результат суммирования не зависит от обозначения переменной, в
правой части полученного равенства можно заменить букву q буквой i.
Приравнивая в обеих частях коэффициенты при одинаковых степенях z и
приняв, что 0)1(  inb для 0)1(  in , т. е. для ni  , с учетом (2.54)
окончательно получаем


 
i
s
sisnin fab
0
)1( ; i 0, 1, 2,…,
где 0)1(  inb , ni  ; 0sna , ns  ; sif  − значения функции )(kTf при
sik  . Придавая i последовательно значения
70
    
значенийmзначенийn
mn,n, n,..., n,,i 1...,1,1210  , nm 
получим n + m таких соотношений:
;...1
,1
,0
012110
0112
01
fafafb,ni
.............................
fafb,i
fb,i
nnn
nn
n






(2.55)
....01
,...02
,...012
,...01
,...0
101211
0111212
10122112
102111
001111










mmmnnmn
nnnnn
nnnnn
nnn
nnn
fafafaf,mni
........................................................
fafafaf,ni
fafafaf,ni
.........................................................
fafafaf,ni
fafafaf,ni
(2.56)
Первые n соотношений в (2.55) (при i 0, 1, …, n-1) устанавливают связь
между коэффициентами числителя и знаменателя в выражении (2.51) и
первыми n значениями функции )(kTf , а именно 110 ,...,, nfff , и совпадают с
соотношениями (2.52). Остальные m соотношений (2.56) (при ni  , n+1, ...,
n+m−1) устанавливают связь между n+m значениями функции
)(kTf : 110 ,...,, mnfff , и коэффициентами знаменателя 01,...,aan , которые
являются также коэффициентами разностного уравнения (2.48). Запишем эти
соотношения в виде матричного равенства:








































































0
2
1
132
12212
13222
121
0121
1
2
12
1
)1(
a
a
a
ffff
ffff
ffff
ffff
ffff
f
f
f
f
f
n
n
mmmnmn
nnnn
nnnn
nn
nn
mn
n
n
n
n









, (2.57)
71
или в сокращенной форме,
Faf  , (2.58)
где f − столбец, ),...,,( 11  mnnn ffff ; F – прямоугольная (m×n)-матрица,
элементами которой являются значения функции )(kTf от 0f до 2mnf ; a –
столбец коэффициентов ),...,( 01 aaa n . Равенство (2.58), соотношения (2.55) и
формула (2.51) позволяют решить задачу аппроксимации.
Пусть теперь f(t) – заданная функция, которую нужно аппроксимировать
разностным уравнением n-го порядка. Для этого положим m=n, разобьем
интересующий нас отрезок аппроксимации на n+m–1=2n–1 равных частей T и
определим значения функции f(t) в точках разбиения 1210 ,...,, nfff . Тогда для
равенства (2.58) получим: f – столбец, ),...,,( 121  nnn ffff ; F – квадратная
(n×n)-матрица, элементами которой являются значения функции 1210 ,...,, nfff ;
a – столбец коэффициентов ),...,( 01 aaa n . Решив (2.58) относительно a,
найдем fFa 1
 , где 1
F – обратная матрица для квадратной матрицы F.
Если с помощью соотношений (2.55) вычислить коэффициенты 01,...,bbn
и построить изображение разностного уравнения в виде (2.51), то оригинал
этого изображения и будет аппроксимирующей функцией f(t). Обе функции
будут совпадать при 2n значениях аргумента t=0, T, 2T,..., (2n–1)T. Однако в
интервалах между точками разбиения могут быть определенные отклонения
аппроксимирующей функции от заданной.
Для повышения точности аппроксимации во всех точках отрезка
аппроксимации можно использовать один из методов наилучшего
приближения. Для этого рассмотрим общий случай (2.57), когда m>n. Как и
ранее, разобьем отрезок аппроксимации на n+m–1 равных частей и определим
значение функции f(t) в точках разбиения 110 ,...,, mnfff . Теперь система (2.57)
является несовместной и может иметь бесчисленное множество решений. В
теории матриц доказано [39, 52], что такая система всегда имеет одно и только
72
одно наилучшее приближенное решение (по методу наименьших квадратов),
которое определяется по формуле
fFa 
0
, (2.59)
где 
F – псевдообратная матрица для прямоугольной (m×n)-матрицы F.
Таким образом, вычислив псевдообратную матрицу 
F и умножив ее на
столбец f, найдем столбец коэффициентов ),...,( 00
01
aaa n
 , являющихся
наилучшим приближенным решением системы (2.57). Вычислив, далее, по
формулам (2.55) коэффициенты 00
01
,...,bbn
, построим изображение (2.51).
Оригинал )(0
tf этого изображения есть наилучшее приближение (по методу
наименьших квадратов) к заданной функции f(t). Если все полюсы F(z) простые
(этот случай представляет наибольший практический интерес), то
аппроксимирующая функция будет суммой членов вида )(kT
Ae
,
)](sin)(cos[)(
kTCkTBe kT

.
Величины m и n выбираются по виду аппроксимирующей функции.
Точность аппроксимации можно оценить по относительной величине среднего
квадрата ошибки







 1
0
2
1
0
20
)]([
)]()([
mn
k
mn
k
kTf
kTfkTf
E . (2.60)
Воспользуемся методом нахождения псевдообратной матрицы [3],
который требует вычисления определителей и эффективно реализуется на
ЭВМ.
В табл. 2.8 приведены значения функции f(t), полученные в результате
расчета. Для аппроксимирующей функции принято n=3, m=14.
73
Таблица 2.8
Значения точных и расчетных значений функции
t f(t) )(0
tf t f(t) )(0
tf
0 0,0002 0,0002 3,5 0,0787 0,0680
0,5 0,0659 0,0657 4,0 0,0460 0,0462
1,0 0,3136 0,3133 4,5 0,0315 0,0407
1,5 0,4561 0,4399 5,0 0,0273 0,0422
2,0 0,4003 0,3937 5,5 0,0226 0,0416
2,5 0,2735 0,2611 6,0 0,0164 0,0313
3,0 0,1527 0,1380 6,5 0,0105 0,0207
В результате решения по формуле (2.59) матричного равенства






















































































0
1
2
0273,00226,00164,0
0315,00273,00226,0
0460,00315,00273,0
0787,00460,00315,0
1527,00787,00460,0
2735,01527,00787,0
4003,02735,01527,0
4561,04003,02735,0
3136,04561,04003,0
0659,03136,04561,0
0002,00659,03136,0
0105,0
0164,0
0226,0
0273,0
0315,0
0460,0
0787,0
1527,0
2735,0
4003,0
4561,0
)1(
a
a
a

получены значения коэффициентов 6346,10
2 a , 1087,10
1 a , 3362,00
0 a , а
по соотношениям (2.55) найдены коэффициенты; 0002,00
2 b , 0634,00
1 b ,
2075,00
0 b .
Изображение аппроксимирующей функции имеет вид
3362,01087,16346,1
2075,00634,00002,0(
)( 23
2



zzz
zzz
zF .
74
Для оригинала получаем выражение аппроксимирующей функции в виде
)7040,1sin3307,07040,1cos7239,0(7241,0)( 809,0558,00
tteetf tt
 
.
Полученные значения )(0
tf приведены в табл.2.8. Графики функций f(t) и
)(0
tf представлены на рис.2.4.
Рис.2.4. Аппроксимация расчетных значений функции f(t)
Относительная величина среднего квадрата ошибки, вычисленная по
формуле (2.60), составляет %5E .
Особенностью предлагаемого метода является тот факт, что увеличение
порядка аппроксимирующих уравнений незначительно влияет на точность
приближения. Рассмотрим это утверждение на следующем примере. Выполнена
аппроксимация кривой затухающего гармонического процесса (рис. 2.5).
Поскольку процесс гармонический, принято n=2 и получена
аппроксимирующая функция )275,6sin0136,1275,6(cos)( 055,10
ttetf t
 
.
75
Рис.2.5. Кривая затухающего гармонического процесса
Затем была проведена аппроксимация при n=4, вследствие чего внесено
два паразитных корня, которым соответствуют два дополнительных члена в
аппроксимирующей функции
).615,7sin0052,0615,7cos0028,0(
)280,6sin0308,1280,6cos9972,0()(
095,3
0
tte
ttetf
t
t




(2.61)
Как видно из (2.61) и рис. 2.5, паразитные члены имеют малую амплитуду,
большой отрицательный показатель степени экспоненциального сомножителя и
быстро затухают. В обоих случаях точность приближения составляла %2E .
Изложенный метод позволяет получить необходимое аналитическое
выражение функции времени, заданной экспериментальными данными.
Поскольку начальными условиями решения разностного уравнения являются
значения аппроксимирующей функции, данный метод более предпочтителен,
чем аппроксимация функции интегралом дифференциального уравнения, при
котором начальные условия неизвестны. Подход, использованный для
наилучшего приближения функции, эффективно реализуется алгоритмически.
Точность представления функции слабо зависит от порядка
аппроксимирующих уравнений.
76
2.6. Выводы
1. Рассмотрена группа задач построения динамических моделей
стационарных и нестационарных динамических объектов как с
сосредоточенными, так и распределенными параметрами. Традиционный
подход при решении таких задач предполагает необходимость применения
обыкновенных дифференциальных уравнений. К числу основных проблем,
возникающих при этом подходе, относится некорректность задачи численного
дифференцирования экспериментально заданных данных. Для устранения
указанных проблем предложены способы получения интегральных моделей
динамических объектов по заданным дифференциальными уравнениями, а
именно: способ преобразования с расщеплением; способ последовательного
интегрирования на основе использования формулы интегрирования по частям;
способ подстановки; способ интегральных преобразований на основе
применения преобразований Лапласа и теоремы о свертке; структурный
(операционный) метод при заданной структуре и динамических
характеристиках объекта; метод на основе фундаментальной системы решений.
Применение полученных таким образом интегральных динамических моделей
позволяет получить основу для построения устойчивых квадратурных
алгоритмов расчета параметров моделей для достаточно широких классов
динамических объектов, что расширяет возможности методов математического
моделирования динамических объектов.
2. Разработан метод параметрической идентификации интегральных
динамических моделей линейных объектов, основанный на использовании
квадратурных формул. В рамках данного метода рассматривается частный
случай стационарного объекта, использование которого позволяет избежать
трудностей решения недоопределенной системы алгебраических уравнений, к
которой сводится алгоритм предложенного метода в общем случае. Результаты
решения тестовых задач при использовании квадратурных алгоритмов
свидетельствуют о таких свойствах интегрального метода идентификации, как
высокая устойчивость, эффективность по затратам машинного времени и
77
объемам вычислений, простота реализации. Таким образом, предлагаемый
метод может быть эффективно использован при решении задач
параметрической идентификации динамических объектов.
3. Усовершенствован метод параметрической идентификации
передаточных характеристик динамического объекта на основе многократного
интегрирования левой и правой частей соответствующего дифференциального
уравнения путем нормализации входного и выходного сигнала объекта и
использования формулы интегрирования по частям. Таким образом, получены
эквивалентные математические модели в виде интегральных уравнений. Для
объектов общего вида не существует рекуррентной формулы для вычисления
коэффициентов полиномов, входящих в передаточную функцию. Для этого
случая разработана структура уравнений для определения коэффициентов
передаточной функции с полиномом в числителе. Таким образом,
интегрирование переходных процессов позволяет определять динамические
свойства изучаемого объекта любой сложности при произвольном входном
воздействии. Кроме того, данный метод позволяет избежать ошибок, связанных
с неточным фиксированием быстро меняющегося входного сигнала.
4. Предложен способ построения модели линейного объекта в форме
дробно-рациональной передаточной функции на основе преобразования
Лапласа. Получены коэффициенты передаточной функции второго и третьего
порядков на основе использования формулы расчета k-го момента Пуассона.
При этом лучшие результаты были получены при аппроксимации входного и
выходного сигнала сплайнами третьего порядка. Благодаря представлению
функций входного воздействия и отклика объекта рядами Тейлора получены
расчетные выражения, определяющие реакцию объекта на ступенчатое
изменение величины входного воздействия в момент t = ti, и реакцию объекта
на монотонно меняющуюся часть входного воздействия. Предложенный
алгоритм позволяет на основе пассивных экспериментов вычислить
коэффициенты дробно-рациональной передаточной функции с точностью
высокой для инженерных расчетов.
78
5. Произвольную дискретно заданную функцию времени можно с заранее
заданной точностью аппроксимировать решениями однородного линейного
разностного уравнения с постоянными коэффициентами и получить расчетные
выражения для параметров передаточной функции на основе z-преобразования
разностного уравнения. Улучшение точности достигается путем применения
метода псевдообратных матриц. Поскольку начальными условиями решения
разностного уравнения является значение аппроксимирующей функции,
данный метод более предпочтителен, чем аппроксимация функции интегралом
дифференциального уравнения, при котором начальные условия неизвестны
Полученные параметры передаточных функций являются также
коэффициентами соответствующих дифференциальных уравнений, что
позволяет получать эквивалентные математические модели в виде
интегральных уравнений. Структура представления функции не зависит от
порядка аппроксимирующего уравнения.
Основные результаты данного раздела представлены в работах автора
[70-71, 81, 84-87, 89, 90, 92, 182].
79
РАЗДЕЛ 3
МЕТОДЫ И АЛГОРИТМЫ ВОССТАНОВЛЕНИЯ ВХОДНЫХ
СИГНАЛОВ ДИНАМИЧЕСКИХ ОБЪЕКТОВ
3.1 Формирование и виды явных динамических моделей
Основным видом интегральной модели задачи восстановления входного
сигнала динамического объекта являются уравнения Вольтерра I рода,
совпадающими по структуре с оператором Вольтерра. Отличие состоит в том,
что оператор Вольтерра представляет собой модель явного вида, описывает
«прямую» задачу анализа и предназначен для определения реакции )(ty
объекта на входное воздействие )(tx . Эта же модель позволяет определить
входной сигнал )(tx по известной реакции )(ty , однако при этом необходимо
решать интегральное уравнение относительно функции )(tx , входящей под знак
интеграла. Непараметрические модели динамических объектов в форме
интегральных операторов и уравнений являются самостоятельным видом
математического описания задач динамики. В отличие от параметрических
моделей, для формирования которых в качестве исходных данных
используются заданные параметры объекта, непараметрические динамические
модели формируются на основе заданных динамических характеристик объекта
или его элементов. Динамические характеристики представляют собой
функциональные зависимости, которые могут быть получены в виде
экспериментальных данных или в аналитическом виде. Применение
непараметрических динамических моделей позволяет расширить круг
эффективно решаемых исследовательских и проектных задач.
Явные линейные модели. Линейные дифференциальные или интегральные
уравнения, представляющие математические модели динамических систем,
позволяют исследовать системы с постоянными или зависящими от времени
параметрами. При этом общее уравнение системы записывается следующим
образом
80
   ,tLfty  (3.1)
где функция f(t) характеризует входное воздействие (входной сигнал), у(t) –
реакцию (выходной сигнал) системы, а линейный оператор L представляет
явную динамическую характеристику и определяется свойствами самой
системы.
Исходя из фильтрующего свойства -функции, получаем выражение
     


 dtftf , (3.2)
где t – текущее время;  − формальная переменная интегрирования. Подставляя
выражение (3.2) в уравнение (3.1), получаем соотношение
           




 dtLfdtfLtLfty (3.3)
в котором обозначим реакцию динамической системы на дельта-функцию
   ,,  tLtG (3.4)
Очевидно, что соотношение (3.4) является частным случаем уравнения
(3.1) при )()(  ttf . Реакция системы на такое воздействие называется
функцией Грина.
С учетом обозначения (3.4) уравнение (3.3) принимает вид
      ,,


 dftGty (3.5)
и описывает реакцию системы на произвольное внешнее воздействие в том
случае, когда известна функция Грина.
Функция Грина зависит от способа задания краевых условий. В частности,
если эти условия заданы на концах интервала bta  , , то выражение (3.5)
принимает вид
      ,, 
b
a
dftGty
Когда речь идет об изучении поведения системы при  ,t0 ,
равенство (3.5) записывается так:
81
      ,,
0


 dftgty (3.6)
а функция g(t,τ) называется полной импульсной реакцией динамической системы
с переменными параметрами [132].
Если исследуемая система имеет постоянные параметры, то вид ее
импульсной реакции не зависит от момента приложения импульсного
воздействия, что приводит к равенству
    tgtg , .
В таком случае для линейных стационарных систем функция Грина совпадает с
импульсной переходной функцией. подстановка которого в выражение (3.6)
приводит к интегралу свертки
      ,
0


 dftgty (3.7)
с помощью которого по известной импульсной реакции системы g(t–τ) можно
определить ее реакцию на произвольное внешнее воздействие f(τ).
Формула (3.7) может быть записана в виде
     


 dgtfty .
Необходимо отметить, что в выражениях (3.6), (3.7) отсутствуют
начальные условия, которые учитываются иным способом. Известно, например,
что если динамическая система описывается дифференциальным уравнением,
решение которого характеризует ее поведение, то это решение содержит две
компоненты — общую и частную. Общая зависит от некоторых постоянных,
которые определяются через начальные условия, а частная учитывает реакцию
на внешнее воздействие [122]. Таким образом, выражения (3.6) или (3.7) задают
частную компоненту решения, а начальные условия входят в общую.
Условие перехода от уравнения (3.5) к уравнениям (3.6) и (3.7) было
записано в виде  ,t0 . Однако следует учесть, что при изменении τ можно
записать также условие ,t 0 которое легко понять, рассматривая
82
импульсную реакцию g(t–τ). В случае ,t ее аргумент будет отрицательным.
Однако эта ситуация противоречит физическому смыслу, требующему, чтобы
до момента подключения внешнего воздействия реакция системы равнялась
нулю. С учетом этого замечания равенство (3.7) имеет вид
      
t
dftgty
0
.
Это же замечание относится и к выражению (3.6), где верхний предел нужно
заменить на t.
Если исследуется система с m входами и n выходами, то вводятся
импульсные характеристики )(tkij ),1;,1( mjni  , каждая из которых
отображает сигнал на i-м выходе при подаче на j-й вход -функции.
Совокупность функций )(tkij образует матрицу импульсных характеристик К.
Тогда (3.3) для многомерного случая приобретает вид
     


 dtKFtY ,
где Y(t) − m-мерный вектор выходного сигнала, )(F − n-мерный вектор
входного сигнала.
В случае, когда модель объекта представляет собой l последовательно
соединенных линейных моделей объектов с  ,tgi , li ,1 ,  ,tg объекта в
целом будет иметь вид
         .,,...,,,
21
11122121211  






lu
llll
u
tl
t
l uguugduuugduutgdutg
Для l параллельно соединенных линейных моделей объектов с импульсной
переходной функцией  ,tgi , li ,1 ,  ,tg , очевидно, имеет вид
 

tgtg
t
i
i
1
),( .
Для полного описания линейной модели объекта достаточно знать его
реакцию на какой-нибудь один тип элементарных возмущающих сигналов.
83
Подадим на вход модели объекта единичную ступенчатую функцию
 






.,1
,,0
,
t
t
tx (3.8)
Тогда на выходе модели объекта, в соответствии с (3.2) получим
   
 








.,,
,,0
,
tduutg
t
thty t (3.9)
Функция  ,th , которая описывает переходный процесс при нулевых
начальных условиях и при возмущающем сигнале в виде (3.8), называется
разгонной характеристикой или единичной переходной функцией. О качестве
модели объекта судят по виду переходного процесса, который описывает
разгонная характеристика. Из (3.9) следует, что
   



,
,
th
tg .
Разгонная характеристика стационарной линейной модели объекта  ,th
будет зависеть от t :
 
 






 
,0,
,0,0
0
duug
h
и связь  h с g(u) имеет вид
   

0
,duugh  



h
g .
Частотная характеристика Ф(iω) и g(u) связаны между собой при помощи
прямого и обратного преобразований Фурье
        dueugdueug uiui
iФiФ







 
2
1
,
0
.
В случае невыполнимости условия абсолютной интегрируемости вводят в
84
рассмотрение преобразование Лапласа, которое применимо для функций  tf ,
удовлетворяющих условию
  0,0  ttf , (3.10)
не только, когда  tf абсолютно интегрируема, но и тогда, когда можно
выбрать такое положительное число с, что
  

 dtetf tc
0
. (3.11)
При выполнении (3.10) и (3.11) преобразование Лапласа имеет вид:
    dtetfpF pt


0
, cp Re .
Передаточная функция Ф(p) и g(u) связаны при помощи прямого и
обратного преобразования Лапласа
        .0,
2
1
,
0







udpepФ
i
ugdueugpФ pu
ic
ic
pu
Передаточная функция для линейных моделей объектов с переменными
параметрами связана с  ,tg соотношением [57, 77]
     
  

detgtpФ tp
t
,, .
Подадим на вход линейного стационарного объекта сигнал   tatx sin .
Тогда
      tiФaty sin , (3.12)
где
 
 


A
B
arctg ,  A и  B − соответственно действительная и мнимая
части  iФ . Из (3.12) следует, что вынужденные колебания, вызываемые в
линейной модели объекта гармоническим воздействием, представляют собой
также гармоническую функцию времени, имеющую ту же частоту  , что и
85
воздействие, но отличающуюся от последнего по амплитуде и по фазе, причем
 iФ указывает, во сколько раз изменилась выходная амплитуда относительно
a , а  — сдвиг по фазе для выходного сигнала. Величины  iФ и  зависят
от частоты . Существует определенная частота 0 такая, что объект не
пропускает сигналы с частотой 0 . Частота 0 называется частотой среза.
Применяя к  iY и  pY соответственно обратные преобразования
Фурье или Лапласа, получим
        



 





 deiФiXdeiYty titi
2
1
2
1
,       dpepФpX
i
ty itp
ic
ic




2
1
. (3.13)
Из соотношения (3.13) следует, что если известна  iФ или  pФ , то мы
можем вычислить не только вынужденные колебания на выходе объекта, но и
переходный процесс, который возникает в нем при любом воздействии  tx на
его входе. Поэтому передаточные функции могут рассматриваться как
полноценные линейные модели объекта.
Передаточная функция  pФ объекта, состоящего из l последовательно
соединенных линейных моделей объектов с передаточными функциями  pФk ,
lk ,1 , равна их произведению:    


l
k
k pФpФ
1
. Передаточная функция  pФ
объекта, состоящего из l параллельно соединенных линейных объектов с
передаточными функциями  pФk , lk ,1 , равна их сумме:    


l
k
k pФpФ
1
.
Передаточная функция  pФ объекта, состоящего из линейной модели объекта
с передаточной функцией  pФ1 , охваченной обратной связью с передаточной
функцией  pФ2 , имеет вид    
   pФpФ
pФ
pФ
21
1
1 
 .
Структурный подход дает возможность представлять реальные
динамические модели объектов как конечную комбинацию простых моделей и,
кроме того, определять динамические характеристики реальных объектов [29, 99].
86
Интерполяционные алгоритмы формирования явных динамических
моделей. На сегодняшний день существует множество алгоритмов
идентификации, обеспечивающих получение динамических моделей
переходных процессов в форме разнообразных математических зависимостей
[44, 78, 165, 169]. Рассмотрим задачу компьютерной идентификации
передаточной функции по переходной характеристике, полученной
экспериментальным путем. Одной из удобных форм представления некоторого
переходного процесса объекта с самовыравниванием (устойчивой
динамической системы) является аппроксимирующее выражение




n
i
i
i
x
xaeax
1
1
0)( , (3.14)
где , 0a , а, − постоянные коэффициенты ( − коэффициент затухания)
применение к которому преобразования Лапласа-Карсона позволяет получить
передаточную функцию в виде
i
in
i
i
p
hpW
)(
)(
0 

 

, (3.15)
где













 
 




.,,3,2,
)!1(
,
,
1
1
100
0
0
niah
i
aahh
ah
i
n
ij
j
i
n
i
i
n
i
i

(3.16)
Определение коэффициентов в выражении (3.14) можно выполнять
различными методами [111], что приводит к различным алгоритмам
идентификации.
Алгоритм 1. Метод интерполяции для определения коэффициентов в
выражении (3.14) состоит в следующем [111]. Задается значение 0 , что
приводит к системе
87
,,,2,1,)(
1
1
0 njxaeax
n
i
i
ji
x
j
j
 


(3.16)
решение которой дает искомые коэффициенты ia , Здесь jx − дискретные точки
задания переходного процесса, а 0a определяется выражением
).(lim0 xa
x


(3.17)
Существенным недостатком данного метода является прямая зависимость
размерности системы (3.16) от количества точек дискретизации переходного
процесса. Это приводит к необходимости решения плохо обусловленной
системы линейных уравнений большой размерности (что, в свою очередь,
может привести к численной неустойчивости данного алгоритма интерполяции)
и получению передаточной функции (3.15) в виде ряда с огромным
количеством членов. Для решения системы с плохо обусловленной матрицей
предлагается алгоритм, представленный в работе автора [177]. Алгоритм
базируется на ограниченном количестве перестановок строк и столбцов
матрицы, индексы которых отличаютсчя друг от друга в пределах заданного
натурального числа k и нахождении локального минимума ошибки решения.
Алгоритм 2. Вариационный метод [111] определения ia , позволяющий
обеспечить определенную независимость количества членов в (3.14) от
количества точек интерполяции nm  , состоит в следующем.
Вводится функция







n
i
i
ix
xa
e
ax
x
1
10* )(
)( , (3.18)
однозначно связанная с )(x . Задается значение 0 ; определяется 0a из
(3.17) и из условия наименьшего среднеквадратичного уклонения строится
аппроксимирующий полином
,)(
2
1*
D
D
x  (3.19)
который представляет собой отношение определителей
88
)1(211
211
1100
1
2
10







nnnn
n
n
n
ccc
ccc
ccc
xx
D





, (3.20)
)1(21
21
110
2



nnn
n
n
ccc
ccc
ccc
D




, (3.21)
где



m
j
r
jr xc
1
, )1(2,,2,1,0  nr  , (3.22)
 


m
j
j
l
jl xx
1
*
, 1,,2,1,0  nl  , (3.23)
mj ,,2,1  − номера точек интерполяции.
После раскрытия определителей 1D , 2D и построения полинома (3.19)
каждое значение ia , ni ,,2,1  получается как коэффициент при 1i
x , т.е.
таким образом получается функция  x*
 .
Построив функцию  x , оценивают погрешность приближения и при
необходимости уменьшают ее путем нового расчета с увеличением порядка
полинома (3.14). Эффективным способом улучшения полученного
приближения является уточнение коэффициента затухания, выбранного ранее
произвольно. Для этого обычно достаточно решить систему, составленную из m
независимых уравнений
0)( 0
1
1
 


axaex
n
i
i
ji
x
j
jj
(3.24)
относительно mjj ,1,  , и в качестве расчетного принять среднее значение
89



m
j
jcp
m 1
1
. (3.25)
Использование этого значения в сочетании с ранее определенными ia
позволяет, как правило, резко уменьшить погрешность аппроксимации. Такой
процесс уточнения может быть продолжен, если для уточнения  заново
вычислить коэффициенты ia по формулам (3.18)-(3.23) или даже повторить
цикл вычисления ia ,  по формулам (3.18)-(3.25) несколько раз.
Как уже отмечалось выше, существенным недостатком алгоритма 1
является большая размерность аппроксимирующего полинома, что приводит к
серьезным трудностям при компьютерной реализации данного алгоритма
применительно к задачам идентификации динамических моделей по
экспериментальным данным. Более перспективным для рассматриваемой
области применения является алгоритм 2, который в отличие от алгоритма 1
позволяет также осуществлять итерационное уточнение модели.
На рис. 3.1 и в таблице 3.1 приведены результаты идентификации
некоторого переходного процесса, полученного экспериментальным путем.
Модель имеет следующие параметры: 2n ; 500 a ; 521 a ; 492 a ;
004,1 ; 20 h ; 2,31 h ; 8,482 h ; 2
)004,1(
1912,49
004,1
2128,3
2)(




pp
pW .
Следует отметить, что приведенная модель для данного переходного процесса
является оптимальной в смысле использования для ее получения
рассмотренного алгоритма идентификации. Дальнейшее уточнение параметров
ia , , а также увеличение порядка п аппроксимирующего полинома не дают
существенного уменьшения ошибки идентификации и даже могут привести к ее
увеличению.
Несмотря на достаточную эффективность применения неустойчивость
для алгоритма 1 обусловлена необходимостью решать систему линейных
алгебраических уравнений большой размерности, зачастую с плохо
обусловленной матрицей. В алгоритме 2 численная неустойчивость вызвана
90
использованием приближения по методу наименьшего среднеквадратичного
отклонения (что может давать весьма большую ошибку аппроксимации на
начальном участке переходного процесса). Однако существенным
достоинством обоих алгоритмов является полное совпадение переходных
процессов в области установившихся значений.
Рис. 3.1. Графики идентифицируемого (обозначен сплошной линией) и
смоделированного (обозначен пунктирной линией) переходных процессов
Табл. 3.1
Результаты идентификации
x ( )x ( )ix
0 -2 0
2 29,86146 29,86146
4 45,52982 45,52982
6 49,16269 49,16269
8 49,85575 49,85575
10 49,97636 49,97636
12 49,99625 49,99625
14 49,99942 49,99942
3.2. Квадратурные алгоритмы восстановления входных воздействий
на основе решения уравнений Вольтерра I рода
Применение явных интегральных моделей динамических объектов для
решения задачи восстановления входных воздействий состоит в обращении
“прямой” задачи анализа и решении интегрального уравнения Вольтерра I рода
91
  
x
TxxfdtttxK
0
,0),()(),( (3.26)
Данный переход применяется на практике, является эффективным. Однако при
этом имеются определенные трудности, вызванные рядом особенностей в
применении квадратурных алгоритмов решения и связанные с
некорректностью данной задачи, имеющей особенности.
В частности, незавершенными остаются вопросы о применимости метода
квадратур, основанного на формулах трапеций, Симпсона, Грегори І и ІІ
порядка, для численного решения уравнения (3.26) с ядрами, равными нулю на
диагонали. Требует анализа случай, когда правая часть уравнения (3.26) задана
с погрешностью и обладает ли процедура дискретизации уравнения (3.26),
регуляризирующим свойством, если шаг сетки, являющийся параметром
регуляризации, определенным образом согласовать с погрешностью исходных
данных. Важным остается вопрос о равномерной сходимости
регуляризованного решения к точному.
Известно, что уравнение (3.26) имеет единственное решения в С , если
выполнены следующие условия:
а) 0)0(,, )1()1(
  fCfCK ;
б) 0),(min 

xxK
x
, где  Txttx  0:),( .
Приближенному решению уравнения (3.26) посвящены многие
публикации [124, 139, 143, 157], где предложены различные численные методы
и доказана их сходимость при выполнении условия б).
Случай для 0),( ii xxK . При использовании методов квадратур
невозможно вычислить значение  0 , так как при axx  1 интеграл в
уравнении (3.26) равен нулю и   01  faf . Поэтому для определения  0
используют выражение
92
   
 0,
0
0
aK
f 
 ,
путем дифференцирования (3.26) по x при 0x .
Тогда, используя квадратурные формулы, последовательно можно
вычислить приближенные значения
   
     








j
i
j
jiji
iij
j xxxKWxf
xxKW
x ~,
,
1~~ 1
1
,
где jW − весовые коэффициенты квадратурной формулы.
Для определения  0f  можно использовать различные
интерполяционные способы.
Окончательное получаем следующее выражение для приближенного
решения уравнения (3.26) с использованием формулы трапеций при h=const:
   
 
 
 
 
   


















,,2,~,
,
2~
1,,
,
~
1
1
1
nixxxKW
h
xf
xxK
x
ixa
aaK
af
a
j
i
j
jij
i
ii
i
(3.27)
где







.11
,15,0
jпри
jпри
W j
Из выражения (3.27) видно, что при решении уравнения Вольтерра I рода
с произвольным ядром время вычисления функции  ix~ зависит от числа
шагов дискретизации. С увеличением количества шагов дискретизации
пропорционально увеличивается количество циклов по j и соответственно
количество вычислительных операций. Данная трудность устранима, если
регулярное ядро интегрального уравнения (3.26) обладает свойством
представимости ядра в виде суммы произведений независимых функций, т.е.
имеет вид:
93
   
   
   
  ,,,1
,
!1
1
!1
,
1
1
1
1
1
1
Nmml
sxsxС
ml
sx
qsxK l
m
l
l
llm
m
l
l
m
lm
l
l






 





 (3.28)
где lq − неизвестные величины, x и s − независимые переменные,
 !!
!
mnm
n
Cm
n

 ,   ,1
1
lml
ml xCx 
   l
l ss  .
С учетом (3.28) (3.26) принимает вид
       xfdsssx
x
a
l
m
l
l  
1
.
Тогда рекуррентная формула для приближенного решения методом
трапеций (при постоянном шаге (h=const)) примет следующий вид:
   
   
 
       
   











 






  


 






.,2,
~
~
,1,,~
1
1
11
1
1
ni
xxW
xxWxxf
x
ixa
aa
af
a
il
m
l
ili
i
j
jjlji
m
l
li
i
l
m
l
l
(3.29)
Выражения (3.29) является аналитическим описанием
быстродействующего (специального) алгоритма для решения интегрального
уравнения Вольтерра 1 рода. Как видно из выражений (3.29), количество
вычислительных операций не зависит от номера шага дискретизации, т.е.
количество вычислений на каждом шаге остается неизменным. Поэтому при
машинной реализации (3.29) значительно сокращаются затраты времени на их
решение и объем требуемой памяти ЭВМ.
Пример. Пусть решается интегральное уравнение Вольтерра I рода:
    .1sin 2
0
2

tt
edssyst (2.30)
94
Дифференцируя обе части уравнения (2.30) по t , получаем
    .cos 2
0
2
tt
tedssyst  (2.31)
Используя общую формулу (3.27) к уравнениям (3.31), получаем
соответственно следующие системы расчетных соотношений
   
 
 
 
 
 












 







,~)cos(2~
,10
0cos
0
0~
1
1
i
j
jjij
i
iOI
OI
tyttW
h
t
ty
y
(3.32)
где ni ,...,3,2 ;       222
22
1,
ii t
ii
t
ii ettett  ;







.11
,15,0
jпри
jпри
W j
Используя свойство разделяемости ядер и применяя формулу трапеций
(3.29) к уравнению (3.31), соответственно имеем рекуррентные соотношения
   
 
 
       


















 









,~sinsin~coscos2~
,10
0cos
0
0~
1
1
1
1
i
j
i
j
jjjijjji
i
iMI
MI
tytWttytWt
h
t
ty
y
(3.33)
где ...,3,2i       222
22
1,
ii t
ii
t
ii ettett  ;







.11
,15,0
jпри
jпри
W j
Решение будем искать на интервале [0; 3,2] с шагом дискретизации
h=0,02. Результаты вычисления приведены для выражений (3.32)-(3.33) в
таблице 3.2, где указаны также результаты точного решения, а на рис. 3.2
приведен график кривых погрешностей решения заданного уравнения.
Время решения по алгоритму (3.32) при шаге h=0,02 составляет 0,19 сек,
а по алгоритму (3.33) составляет 0,07 сек. По точности результатов решений
оба алгоритма совпадают.
95
Таблица 3.2
Результаты исследования для примера 1
t  iT ty  iOI ty~  iMI ty~
1
~yyy T 
0 1 0,9996 0,9996 0,0004
0,32 1,2128 1,2124 1,2124 0,0004
0,64 1,9573 1,9567 1,9567 0,0006
0,96 3,6317 3,6308 3,6308 0,0009
1,28 7,2543 7,2525 7,2525 0,0018
1,6 15,4006 15,397 15,397 0,0036
1,92 34,9172 34,909 34,909 0,0082
2,24 85,2396 85,218 85,218 0,0216
2,56 225,5638 225,5 225,5 0,0638
2,88 650,082 649,89 649,89 0,192
3,2 2046,7598 2046,1 2046,1 0,6598
Рис. 3.2. График погрешности решения
Случай для 0),( ii xxK . В приложениях имеется большой класс задач для
уравнения (3.26), когда ядро обращается в нуль на диагонали. Рассмотрим
задачу восстановления в данной постановке.
1. Относительно ядра ),( txK и правой части )(xf предположим
следующее:
96
;0)0()0(,, )2()2(
  ffCfCK (3.34)
.0
),(
min,0),( 0 







h
x
txK
xxK
xtx
(3.35)
Тогда уравнения (3.26) также имеет единственное решение в С .
Построим теперь на  T,0 равномерную сетку с шагом h и узлами
Txxx n  ...0 10 , ihxi  , где nTh / . Далее, полагая 1 ixx , запишем
(3.26) в виде
 





1
1
_______
11
1
1,0),()(),(
i
j
x
x
ii
j
j
nixfdtttxK . (3.36)
В качестве аппроксимации интеграла в (3.36) использование формулы
трапеций, с учетом (3.35), приводит к треугольной системе уравнения:


 
i
j
i
h
jji
h
i nifKhK
h
1
_______
1,100,1 1,0,
2
, (3.37)
где
)(),(),,( 111,1 j
hh
jiijiji xxffxxKK   .
Из условия (3.35) следует, что для достаточно малых h
hkhkK ii  2/0,1 . (3.38)
Очевидно, что система (3.37) имеет единственное решение.
Можно показать, что если 0),(,),( )4(
  xxKCtxK ,
0
),(
min 0 






k
x
txK
xtx
и )2(
)(  Cx , то метод квадратур, оснований на
формуле трапеций, является сходящимся, причем имеет место оценка
)()()(max
10
hOxx ii
h
ni


. (3.39)
Действительно, можно видеть, что для погрешности решения
i
h
i
h
i  , где i − значение точного решения уравнения (3.26), справедливо
равенство
97
)1,0(,
2
1
1
_______
1,100,1 

 
i
j
i
h
jji
h
i niRKhK , (3.40)
где dsKKttxKR
i
j
x
x
jjijjiii
i
j
 


 




1
1
,111,111 )(
2
1
)(),( − остаточный член
квадратичной формулы трапеций.
Вычитая из ( 1i )-й строки системы (3.40) i -ю, получим



 
1
1
_______
,,100,0,11,1 1,0,)()(
2
i
j
h
jjiji
h
iiii
h
iii niKKhKK
h
RRhK . (3.41)
Вновь, вычитая из 1i -й строки системы (3.41) i -ю, получим уравнение для
ошибки



 
1
1
,
)2(
00,
)2()2(
,1
2
i
j
h
jji
h
ii
h
iii KhK
h
RhK , 1,...3,2  ni , (3.42)
где
11
)2(
,1,,1,
)2(
2,2   iiiijijijiji RRRRKKKK .
Отсюда, учитывая условия (3.34), (3.35), (3.38), приходим к неравенству




1
1
0
i
j
h
j
hRh
i
k
hK
k
hK
k
L
, 1,...3,2  ni . (3.43)
Здесь
2
2
),(
),(
max
x
txK
K
tx 



, 2
2
12
max
h
R
L i
ni
R



. (3.44)
Из (3.43) следует
2
10 1
2














i
hhRh
i
k
hK
k
hK
k
hK
k
L
. (3.45)
Используя оценку остаточного члена квадратурной формулы трапеций, можно
показать, что )(hOLR  . Далее, из (3.40), (3.41) получаются оценки для h
0 и
h
1 : 1,0),(  shOh
s . Таким образом, используя неравенства
)/exp(/1 khKkhK  , Txih i  , из (3.45) получим оценку (3.39).
98
2. Проанализируем возможность применения квадратурных формул,
имеющих алгебраический порядок точности выше двух, поскольку для
численного решения уравнения (3.26), когда ядро не обращается в нуль на
диагонали, использование квадратурных формул Грегори І, ІІ порядков и
Симпсона, как показано в [25] приводит к расходящимся методам. Можно
показать, что эти формулы могут быть применены для численного решения
уравнения (3.26) с разностным ядром.
Выпишем веса формул Грегори ІІ [25]:
1,12/13,12/5 110   jii AAAAA , 1,,3,2  ij  .
Следовательно, в силу условия (3.35), получим следующие расчетные
формулы:
),
6
7
/()
12
5
( 1,200,21 hKhKf hh
 ,1,2,
0
_______
1,1

 
i
j
i
h
jjij nifKAh
( h
0 − известно) для нахождения приближенного решения уравнения (3.26).
Запишем уравнение для ошибки
)1,2(
12
1
6
1 _______
22,111,,
)2(
1
0
)2(
,1  


 nihKhKKAhRhKA h
jii
h
iii
h
jji
i
j
ji
h
iiii
аналогичное уравнению (3.42). Отсюда, с учетом (3.34), (3.35), (3.38), (3.44),
имеем
h
i
h
i
h
j
i
j
j
ii
Rh
i A
kA
hK
kA
L
21
1
0 13
1
13
2



 .
Далее, усилим это неравенство, заменяя в правой части два слагаемых h
i 2 ,
h
i 1 на h
i . Тогда после преобразования получим неравенство
)1,2(
5
6
5
6 _______1
0
 


niA
k
hK
k
L h
j
i
j
j
Rh
i ,
из которого следует оценка
2
10
5
6
1
12
13
12
5
5
6














i
hh
R
h
i
k
hK
hKhKL
99
аналогичная (3.45).
Вновь используя неравенства TihkhKkhK  ),5/6exp(5/61 и замечая, что
1,0,0,0  sL h
sR при 0h , получим
0maxmax
10


i
h
i
i
h
s
ni
при Tnhnh  ,,0 .
Теперь рассмотрим формулу Грегори ІІ порядка, имеющую веса [25]:
_______
12110 2,3,1,24/23,6/7,8/3   ijAAAAAAA jiii .
С учетом (3.35) получим следующую расчетную формулу:


 
i
j
i
h
jjij fKAh
0
1,1 )1,,5,4(  ni  . (3.46)
При реализации (3.46) считаем известным h
0 , а
___
3,1,  sh
s находятся из
треугольной системы уравнений



















































h
h
h
h
h
h
hKf
hKf
hK
h
f
hKhKhK
hKhK
hK
00,44
00,33
00,22
3
2
1
3,42,41,4
2,31,3
1,2
8
3
8
3
3
6
7
12
11
6
7
8
9
8
9
3
4
.
Уравнение для ошибки будет выглядеть так
),1,,5,4()8(
24
)42(
24
24
11,1,122,12,
33,1,
)2(
1
0
)2(
,1






 
niKK
h
KK
h
K
h
KBhRhKA
h
iiiii
h
iiiii
h
iii
h
jji
i
j
ji
h
iiii

где 1,,4,3,1,2,0,
___
 ijBsAB jSs  .
Вновь, с учетом (3.34), (3.35), (3.38), (3.44), приходим к неравенству
  h
i
h
i
h
i
h
i
h
i
h
j
i
j
j
ii
Rh
i
hK
hK
B
kA
hK
kA
L
12123
1
0 7
2
7
1
2
)(
)2(
28
1



  . (3.47)
В силу условий (3.35), (3.38) следует, что для достаточно малых h
  3)(/)2( hKhK .
100
Далее, усилив неравенство (3.47), заменяя в правой части 3,1,   sh
si на h
i
получим неравенство
,)1,...,5,4(
66 1
0
 


niB
k
hK
k
L h
j
i
j
j
Rh
i
из которого следует оценка
43
0
6
1
6














 
i
h
s
s
sR
h
i
k
hK
BhKL
k
.
Так как
____
3,0,0,0  sL h
sR при 0h , то 0max h
i
i
при
Tnhnh  ,,0 .
Рассмотрим квадратурную формулу Симпсона, часто употребляемую в
приложениях. Для применения формулы Симпсона нужно брать четное число
отрезков разбиения промежутка интегрирования. При нечетном разбиении
можно использовать специальную «половинную» формулу Симпсона [25].
С учетом условия (3.35), применение формулы Симпсона приводит к
следующей системе уравнений для нахождения )( i
h
x :
)1,...,2,1(,
0
1,1 

 nifKAh
i
j
i
h
jjij ,
где h
0 − начальное заданное значение.
Выпишем коэффициенты jA для матрицы этой системы:




















































3
4
3
2
3
4
3
2
3
4
3
1
3
2
3
1
12
1
3
4
3
2
3
4
3
1
3
4
3
2
3
4
3
1
3
2
3
1
12
1
3
4
3
1
3
4
3
1
.
Опуская промежуточные выкладки, запишем уравнение для ошибки:
101
h
iii
h
iii
h
jji
i
j
ji
h
iii K
h
K
h
KBhRhK 11,22,,
)2(
1
0
)2(
,1
3
2
63
4



   , для четного i+1,
h
iii
h
iii
h
iii
h
jji
i
j
ji
h
iii K
h
K
h
K
h
KBhRhK 11,122,122,1,
)2(
1
0
)2(
,1
12312



   ,
для нечетного i+1, где 3/10 B , 3/41231  kBBB  , 3/2242  kBBB  .
Далее, используя вышеизложенные приемы, также доказывается
сходимость метода, т. е.
0max h
i
i
при Tnhnh  ,,0 .
Полученный результат свидетельствует о следующем. Пусть )4(
)(  CtxK ,
)4(
)(  Cx и выполнены условия (3.35), (3.38). Тогда метод квадратур,
оснований на формулах Симпсона, Грегори I и II порядка сходится, т. е.
0max
10


ii
h
ni
, при Tnhnh  ,,0 .
3. Рассмотрим теперь задачу приближенного решения уравнения (3.26), когда
вместо точной правой части )(xf задана )(
~
xf такая, что
 CC
xxfxf )()()(
~
.
Пусть каркас приближенного решения уравнения (3.26) находится из
треугольной системы
1,1,)(
~
)(),()(
2 1
1100,1  





 nixfxxxKhxK
h i
j
ij
h
ji
h
i . (3.48)
Выполнив те выкладки, которые были сделаны в пункте 1, получим оценку для
погрешности решения
constChhCxx ii
h
ni


1
2
1
10
),/()()(max .
Поэтому, для погрешности решения (3.48) справедлива оценка
)()()(max 3/1
 
Oxx ii
h
, если 3/1
)( h .
102
Таким образом, сама процедура дискретизации уравнения (3.26) обладает
регуляризирующим свойством, если шаг сетки h определенным образом
согласовать с мерой точности .
Численные примеры. Рассмотрим интегральное уравнение с разностным
ядром
))exp(cos(sin
2
1
)())exp(1(
0
xxxxdttxt
x
 .
Его точное решение xx sin1)(  . Методом квадратур, основанном на
формулах трапеций, Симпсона, Грегори I и II порядка, получены
приближенные решения для N (где 1Nh , h − шаг сетки), равного 10, 20, 40,
60, 80, 100. При использовании формул Грегори, Симпсона считалось
начальное условие 1)0(  . В таблице 3.3 приведены результаты расчетов для
N равного 10, а в таблице 3.4 вычислены величины погрешности
)()(max
10
ii
h
ni
xx 

для различных N .
Таким образом, исследованы возможности конструктивного применения
ряда квадратурных формул для построения алгоритмов восстановления
входных сигналов динамических объектов, что, в целом, существенно
повышает эффективность применения интегральных моделей в решении
обратных задач динамики.
Таблица 3.3
Результаты решения модельного примера методами квадратур
ix Метод
трапеций I
Метод
Симпсона IV
Метод
Грегори II
Метод
Грегори III
0 1,050816 1 1 1
0,1 1,100579 1,099837 1,120897 1,099837
0,3 1,296069 1,294139 1,291325 1,295508
0,5 1,479757 1,478884 1,479720 1,479413
0,7 1,644318 1,643541 1,644087 1,644206
0,9 1,783192 1,782978 1,783210 1,783317
103
Таблица 3.4
Погрешность вычислений модельного примера разными методами квадратур
N I II III IV
10 2
101,5 
 2
101,2 
 4
104,1 
 3
108,1 

20 2
105,2 
 2
101 
 5
101,1 
 4
105,5 

40 2
103,1 
 3
103,5 
 6
109,1 
 4
105,1 

60 3
103,8 
 3
106,3 
 7
101,6 
 5
107,6 

80 3
103,6 
 3
107,2 
 7
102,4 
 5
108,3 

100 3
105 
 3
101,2 
 7
107,3 
 5
104,2 

Задача численного дифференцирования. Одной из характерных задач
обращения интегрального оператора Вольтерра является задача численного
дифференцирования. Данная задача, как правило, присутствует в процессах
управления в технических системах, в частности, в системах управления,
построенных по «принципу отклонения». Широко распространенным методом
управления в таких системах является «метод старшей производной». Задача
состоит в том, чтобы вычислить (найти)
)()( tfty  ,
где функция f(t) – задана чаще всего в дискретном виде. Если обозначить
 
tt
dfy
00
)()( ,
то вычисление производной сводится к решению уравнения Вольтерра I рода,
ядро которого равно 1:
 
tt
ftfdfy
0
0
0
)()()()( . (3.49)
Обобщением указанного процесса вычисления производной порядка
1p функции  ty , заданной при Tt 0 некоторым приближением  ty
является решение интегрального уравнения первого рода
 
     
 
  .
!
0
!1
1 1
00
1 k
p
k
kt
p
t
k
y
tydssxSt
p






(3.50)
104
При    
 sysx p
 это равенство есть разложение функции у класса p
C в
степенной ряд. Определение производной порядка k требует последовательного
решения уравнений (3.50) для p = 1,…,k с целью определения значений
 
  .10,0  pky k
Алгоритмически более простой путь заключается в
последовательном решении задач однократного дифференцирования.
Приближенная функция  ty обычно задается в точках некоторого
разбиения отрезка
.0 1 Ttt m   (3.51)
Если функция  ty задана на всем отрезке, будем считать разбиение
(3.51) выбранным с целью применения метода частичной дискретизации,
соответствующего случаям поточечной или среднеквадратической
погрешностей.
Дискретизация уравнения связана с разбиением (3.51) и представлением
ядра:
 
 
 
.1,0,
!1
1
mits
p
st
sk
p
i
i 




Отметим, что решение уравнения (3.49) также, как и уравнения (3.50)
является некорректной задачей, поскольку исходные данные f(t) содержат
погрешности и процесс вычисления может быть неустойчивым.
Рассмотрим метод решения, обладающий регуляризирующими
свойствами и позволяющий повысить устойчивость вычислительного процесса
благодаря применяемому при этом способу регуляризации. Представим
уравнение (3.49) в следующем эквивалентном виде
)()()()()( 0
0
  ftftyyty
t
,
Введем в уравнение малый параметр  в следующем виде
)0()()(~)1()(~)(~
0
ftftyyty
t
  , 1 ,
105
Данная запись позволяет применить структурно-алгоритмический процесс
решения, характеризующий процесс вычислений с обратной связью
)0()()(~)1()(~)(~
0
ftftyyty
t
  . (3.52)
Численная реализация данного выражения наиболее удобна при применении
методики, заложенной в системе MATLAB/SIMULINK. Структура,
реализующая расчетное выражение (3.52), приведена на рис. 3.3. Данная
структура позволяет подбирать значения регуляризирующего параметра  ,
исходя из условий устойчивости данной схемы. Получаемое при этом
отклонение от исходной зависимости (3.49) приводит к определенной ошибке в
получаемом результате, которая, тем не менее, оказывается вполне приемлемой
как при исследовательских, так и в практических задачах.
(1-α)
- 
f(t)-f(0) ỹ(t)
Рис. 3.3. Структура процесса вычислений с обратной связью
Реализующаяся в системе MATLAB/SIMULINK модель в случае 1-ой
производной представлена на рис. 3.4.
Проведенные эксперименты позволяют сравнить результат
дифференцирования по предлагаемому методу с стандартной для MATLAB
процедурой дифференцирования на основе разностного метода. На рис. 3.5 при
параметре 05,0 приведены графики 1-ой производной для функции
xxy sin : график производной, полученной предложенным методом
(рис. 3.5 а); график производной, полученной использованием конечных
106
разностей (рис. 3.5 б); график производной, полученной точно (аналитически)
без помех (рис. 3.5 в).
Рис. 3.4 Модель процесса вычисления 1-й производной f(t)
Рис. 3.5 Графики 1-й производной для функции xxy sin
а)
б)
в)
107
При добавлении к дифференцируемой функции случайной помехи
05.0 (~5% от величины сигнала) производная, полученная по
предложенному методу, имеет ошибку в пределах 0,04 %. Производная,
полученная разностным методом имеет ошибку более 0,06 %.
Предложенный метод позволяет вычислять производные высших
порядков, добавляя к модели рис. 3.4 дополнительные контуры интегрирования
(см. рис. 3.6).
Рис. 3.6 Модель процесса вычисления 2-й производной f(t)
При этом также возникают проблемы сильного влияния случайных
помех, которые необходимо сглаживать, экспериментируя с шагом
моделирования и параметром регуляризации. Результаты вычисления 2-й
производной приведены на рис. 3.7 с учетом влияния помехи.
Можно видеть, что результат применения предлагаемого метода
практически пригоден, тогда как применение стандартной процедуры MATLAB
не приводит к результату.
Отметим также, что на результат дифференцирования влияет как
значение параметра регуляризации, так и величина шага квадратуры, например,
при 1,0 и количестве шагов на интервале дифференцирования 1000 средняя
квадратическая погрешность предложенного метода равна 1,1722, а
108
стандартного – 1,2158, соответственно при 05,0 эти величины равны:
1,1851 и 1,2158.
Рис. 3.7 Графики 2-й производной для функции xxy sin
Таким образом, предложенный метод дифференцирования основанный на
решении обратной задачи динамики дает улучшенные результаты по
сравнению с методикой MATLAB и может быть применен на практике.
3.3. Многошаговые алгоритмы решения интегральных уравнений
Вольтерра I рода в задаче восстановления сигналов
Рассмотрим линейное интегральное уравнение I рода типа Вольтерра
 
x
TxxfdtttxK
0
],0[),()(),( (3.53)
с ядрами
 xxxK 0),( и 0)0( f (3.54)
109
и
0)0()0(0),(,0),(  ff,xxxKxxK x . (3.55)
Как известно [25] из теории интегральных уравнений, если правая
часть )(xf и ядро ),( txK удовлетворяют определенным условиям гладкости, то
решение задачи (3.53) )(x , существует, единственно и, следовательно, задача
(3.53) корректна по специально выбранной паре пространств. Однако задача
решения уравнения (3.53) по приближенно заданными функциями )(
~
xf ,
),(
~
txK является некорректной.
Известны различные регуляризирующие алгоритмы (р.а.) для
устойчивого решения уравнения (3.53). В работах [53, 103, 139] рассматривался
подход, связанный с аппроксимацией решения исходного уравнения
решениями некоторых вспомогательных уравнений II рода. Так как задача
численного решения уравнения (3.53) связана с нахождением каркасов
приближенных решений, то процедура дискретизации может играть
существенную роль в решении задачи. В [11] показано, что при использовании
одношаговых методов, основанных на простейших формулах прямоугольников,
порождаются регуляризирующие алгоритмы, в которых параметром
регуляризации является шаг дискретизации. Однако одношаговые методы
имеют низкий порядок сходимости. Задача построения устойчивых методов
высокого порядка точности является нетривиальной. При изучении методов
порядка выше двух уже в [7, 178] показано, что применение классических
интерполяционных формул (типа Симпсона, Грегори I и II порядка) приводит к
расходящимся методам, если они применяются для решения задачи (3.53),
(3.54). Однако, как показано в [157], напротив, методы, основанные на этих
формулах, пригодны для решения задачи (3.53), (3.55).
В работах [155, 156] для численного решения задачи (3.53), (3.54)
предложена общая схема построения линейных многошаговых методов,
основанная на использовании формул типа Адамса. Взяв за основу работы [155-
110
157], рассмотрим задачу устойчивого построения каркасов приближенных
интегральных уравнений Вольтерра I рода.
Алгоритмы для случая K(x,x)≠0. Введем на [0,T] равномерную сетку
110  ,...,n,iih,xi , где )1(  nT/h и обозначим через h
i приближение к
точному решению )( ix в точке ix . Важный класс численных методов
приближенного решения уравнения Вольтерра получается
дискретизацией в (3.53) с помощью семейства квадратурных формул, т.е.
заменой (3.53) на систему уравнений с треугольной матрицей
n...qixf,xxKh i
h
ννi
i
ν
,νi ,,),()( 11
1
0
1  


 , (3.56)
где ,..., q,s,h
s 10 − заданные начальные значения, а ,νi 1 − веса
квадратурной формулы.
При конструировании многошаговых методов высокой точности не
все интерполяционные квадратурные формулы пригодны, например, типа
Симпсона и Грегори. Сходящиеся многошаговые метода, имеющие вид
(3.56) построены в работе [173], где использованы модификации
интерполяционных формул и циклически различные квадратурные
формулы соответственно.
В отличие от метода (3.56), сходящиеся многошаговые методы,
основанные на использовании «экстраполяционных» формул типа
Адамса, построены в [155, 156]. Общая форма записи многошаговых
методов, использующих эти формулы имеет вид
q,...,ni,xf,xxKh i
h
ννi
i
ν
,νi  

 )()( 11
0
1 , (3.57)
где h
q-
h
, ..., 10  − заданные начальные значения, а  ,1i − веса квадратурной
формулы.
Для выбора весов  ,1i будем рассматривать следующие квадратурные
формулы:
111
.yRxyωhyrxybhyr
xyahdttydttyy(t)dt
iν
i
ν
,νi
i
qj
q
ν
jνjνq
x i
qj
x
x
q
ν
νν
x q j
j
i
)()()()()(ˆ
)()()(
1
0
1
0
1
0 00
11



 

 









 
   

(3.58)
Здесь a − веса квадратурной формулы Ньютона-Котеса с 1q узлом, а веса
b могут быть найдены единственным образом из системы уравнений


 


q
j
q...,j
j
b
0
0
10,1,0,
1
1
)( . (3.59)
При таком выборе весов ),()()( 3
1
)1(2
1



  q
qj
qq
j hOCxyhyr где
 
1
0
)1()1(
1
dαq-α...αα
q!
Cq , а )()(ˆ 2
 q
q hOyr и, следовательно, метод
имеет погрешность аппроксимации )()( 1
1

  q
i hOyR .
Перейдем к сходимости метода (3.57) с произвольным параметром
q . Как и при решении дифференциальных уравнений, свойства
устойчивости методов решения интегральных уравнений можно связать с
характеристическим полиномом




q
q
b
0
)( .
Будем говорить, что метод (3.57) удовлетворяет сильному корневому
условию, если все корни полинома )( лежат строго внутри единичного
круга.
Условие сходимости формулируется следующим образом. Пусть
 )0)((),( )2(
Txt,x,tΩtxK C
q
 
 ,  xxxK 0),( , C
q
βx 

 )1(
)( ,
0)0( f и начальные значения 10,  qsh
s заданы с точностью
)( 1q
hO . Тогда, если метод (3.57), основанный на формуле (3.58),
удовлетворяет сильному корневому условию, то он сходится с порядком
1q , т.е.
112
)()(max 1
0


 q
i
h
i
ni
hOx .
Используя критерий Рауса-Гурвица [80], нетрудно показать, что
метод (3.57) удовлетворяет сильному корневому условию для 5,,1,0 q .
Метод не годится, начиная с 6q .
Методы вида (3.57), использующие квадратурные формулы (3.58),
требуют специальные процедуры для начала счета. Для вычисления
начальных значений h
s с точностью )( 
hO можно воспользоваться
неявным методом типа Рунге-Кутта, предложенным в [25].
Построение многошаговых методов для случая 0),( xxK .
Рассмотрим случай 0),( xxK ,  
xtxK xtx 0),( . В [147] показано,
что для решения таких классов задач применим метод, основанный на
квадратурных формулах, непригодных в стандартном случае (для класса
уравнений с 0),( xxK таких, как формула Симпсона и Грегори I и II
порядка. Сходящиеся методы, основанные на комбинации формулы
Симпсона с правилом 8/3 , построены также в [173]. Покажем, что можно
обобщить методы (3.57) для решения задачи (3.53), (3.55) и далее
построим сходящиеся методы высокого порядка точности, основанные на
интерполяционных формулах типа Адамса.
Чтобы определить, какие квадратурные формулы порождают
сходящиеся методы рассмотрим модельную задачу
 
x
.(x)dtttx
0
0,0)()( (3.60)
Применяя метод (3.57), основанный на формуле (3.58), к (3.60),
получим 10,  qsh
s ,
  





 
q
h
j
i
qj
ji
q
h
i xxbhxxah
0
1
0
1 0)()( (3.61)
Из (3.61) нетрудно подучить разностное уравнение q-го порядка с
постоянными коэффициентами
113
  0)1()1( 1
1
10  


h
qiq
h
i
q
h
i qbbbb
Таким образом, сходимость метода (3.57) будет зависеть от нулей
полинома
  q
q
q
q
qbbbb  




1
1
1
1
0 )1()1()( . (3.62)
Пусть C
q
txK )3(
),( 
 , 0),( xxK , C
q
x (x)xxxK )1(
0),( 
 ,
0)0()0(  ff и начальные значения q-s,h
s 10  заданы с точностью
)( q
hO . Тогда, если метод (3.57), основанный на формуле (3.58),
удовлетворяет сильному корневому условию, то он сходится с порядком
q, т.е.
)()(max
0
q
i
h
i
ni
hOx 

.
Определим максимальный порядок точности метода (3.57). Полагая
в (3.62) 1q )2/1,2/3( 10  bb , получим характеристическое уравнение
,0123 2

корни которого лежат строго внутри единичного круга. При 2q
)12/5,12/16,12/23( 210  bbb будем иметь
.ii 3,2,1,1,010313223 23

Однако уже при 3q )24/9,24/37,24/59,24/55( 3210  bbbb
корни уравнения
02711017011855 234

не лежат внутри единичного круга.
Таким образом, многошаговый метод (3.57), основанный на формуле
(3.58), удовлетворяет сильному корневому условию для 2,1q и,
следовательно, максимально возможный порядок точности метода (3.57)
равен двум.
114
Для построения методов высокой точности рассмотрим
интерполяционную формулу типа Адамса
).()()()(
)(ˆ)()()()(
1
1
0
1
1
1
0 00
11
yRxyωhyrxybh
yrxyahdttydttydtty
iν
i
ν
,νi
i
qj
q
ν
jνjν
x i
qj
x
x
q
q
ν
νν
x q j
j
i




 

 
















 
   

(3.63)
Здесь a − веса квадратурной формулы Ньютона-Котеса с 1q узлом, а
веса b определяются однозначно из системы уравнений [98]


 


q
j
.q,,j
j
b
1
11,0,
1
1
)(  (3.64)
При таком выборе весов, имеем
),()()( 1
2
)2(3
1



  q
qj
qq
j hOCxyhyr
где
,dq
q
Cq 

 


0
1
1 )()1(
)!1(
1
 )()(ˆ 2
 q
q hOyr .
Следовательно, )()( 2
1

  q
i hOyR .
Формула (3.63), где веса b определяются формулой (3.64),
соответствует квадратурной формуле Грегори [164]. Очевидно, что
использование формулы Грегори (3.63) к функции )(),()( ttxKty  в силу
условия 0),( xxK приводит к треугольной системе уравнений вида (3.57)
для приближенного нахождения h
i .
Вновь применяя метод (3.57), основанный на формуле (3.63), к
задаче (3.60) можно выяснить, что сходимость метода будет зависеть от
нулей полинома
  .)1()1()( 1
0
1 q
q
q
qbbb  

 (3.65)
Пусть )4()2(
),(,)( 


  qq
CtxKCx , 0),( xxK ,  xkxxKx 0),( ,
0)0()0(  ff и начальные значения qsh
s 1,,1,0,   заданы с
115
точностью )( q
hO . Можно показать что, если все корни полинома (3.65)
лежат строго внутри единичного круга, то метод (3.57), основанный на
формуле (3.63), сходится с порядком q, т.е.
)()(max
0
q
i
h
i
ni
hOx 

.
Таким образом, метод (3.57), основанный на формуле Грегори q –го
порядка, сходится со скоростью )( q
hO , если начальные значения заданы с
точностью )( q
hO .
В табл. 3.5 выписаны характеристические уравнения для 5,...,1q .
Таблица 3.5
Результаты анализа сходимости метода
Порядок
точности
Вид характеристического уравнения
1q 01213 2

2q 014514 23

3q 01996194176299 234

4q 018109276374266317 2345

5q 0131530426921931558521589739292284199 23456

Устойчивость многошагового метода к возмущениям исходных
данных. В большинстве приложений интегральных уравнений Вольтера
вместо f и K заданы приближения f
~
и K
~
такие, что 
c
ff
~
,

c
KK
~
. Требуется по данным f
~
и K
~
восстановить устойчивый каркас
приближенных решений задач (3.53), (3.54) либо (3.53), (3.55). Проведем
анализ устойчивости многошагового метода к возмущениям исходных
данных.
Рассмотрим случай, когда ядро задано точно, а вместо точной
правой части f задана непрерывная функция f
~
такая, что
 cc
xxfxf )()()(
~
.
116
Сначала перейдем к исследованию устойчивости приближенного
решения задачи (3.53), (3.54), полученного методом (3.57), основанным на
формуле (3.58).
Пусть каркас приближенного решения находится из треугольной системы
уравнений
nqixfxxKh i
i
ii ,,),(
~
)( 1
0
1,1  


 , (3.66)
где h
q
h
10 ,...,  ̶ заданные начальные значения,  ,1i ̶ веса квадратурной
формулы.
Найдем оценку погрешности метода (3.66). Полагая )( iii x 
и
записывая уравнение ошибки в виде
 
 





 
i
qj
q
iijji
i
ii RKbhKah
0
11,1
0
,1 ,
можно показать что,
,max 2
1
1
0 h
chc q
i
ni

 

(3.67)
где ic ̶ постоянные не зависящие от h .
Из оценки (3.67) видно, что первое слагаемое характеризующее точность
метода, убывает с уменьшением h , а второе слагаемое, связанное с
погрешностью исходных данных, напротив, растет.
Из (3.67), выбирая 2
1
)( 
 q
h , находим
).()(max 2
1



 q
q
ii
i
Ox (3.68)
Пусть выполнены условия сходимости и 
c
xfxf )()(
~
. Тогда
многошаговый метод, основанный на формуле (3.58) для 5,,2,1 q ,
порождает р.а., причем справедлива оценка (3.68), если 2
1
)( 
 q
h .
117
В работах [7, 11] показано, что метод, основанный на формуле средних
прямоугольников дает порядок сходимости по , равный 3/2 . В то же время,
метод, основанный на формуле (3.58), может давать наивысший порядок
сходимости, равный 7/6 .
Для того чтобы построить устойчивое решение задачи (3.53), (3.55)
используем метод, основанный на формуле (3.63). При этом, оценка
погрешности метода имеет вид
constcc
h
chсx q
ii
i



21221 ,,)(max . (3.69)
Таким образом, при достаточно малом , выбирая 2
1
)( 
 q
h , будем
иметь оценку погрешности р.а.
.4,,1),()(max 2
0
 

qOx q
q
ii
ni
Числовые результаты.
Пример 1. В качестве примера рассмотрим задачу [11]
 
x
xxdtttx
0
20,cos1)()cos( ,
которая имеет решение xx  )( . В табл. 3.6 приведены максимальные
погрешности решений для h , равного 0.1, 0.05, 0.025, 0.02.
Таблица 3.6
Зависимость максимальной погрешности решения от шага дискретизации
q h=0.1 h=0.05 h=0.025 h=0.02
1 3
101.8 
 3
102 
 4
101.5 
 4
103.3 

2 3
106.1 
 4
101.2 
 5
108.2 
 5
104.1 

3 4
109.1 
 5
102.1 
 7
108 

7
103.3 

4 5
109.1 
 7
101.6 
 8
101.2 
 9
109.6 

5 6
106.2 
 8
105.4 
 9
101.1 
 10
109.3 

118
Результаты табл. 3.6 показывают 1q -й порядок сходимости метода, но
для 5,4q заметен эффект машинного округления.
Пример 2. Рассмотрим задачу [12]
  
x
xxt
xexxxdtte
0
20),cos(sin5,0)()1( ,
которая имеет решение xx sin1)(  . В табл. 3.7 приведены максимальные
погрешности решения.
Таблица 3.7
Сравнение максимальных погрешностей решения разными методами задачи
восстановления
Метод 1,0h 05,0h 025,0h 02,0h
А
Б
2
109,4 

2
101,2 

2
104,2 

2
101 

2
102,1 

3
103,5 

3
109,9 

3
102,4 

В
Г
3
104,7 

5
104,1 

3
102 

6
101,1 

4
104,5 

7
108,1 

4
105,3 

7
101 

Д
Е
5
101,1 

7
108,4 

6
106,1 

8
108,1 

7
102,2 

8
106,1 

7
102,1 

8
109,3 

Из табл. 3.7 видно, что методы типа А – метод (3.37) с 1q , Б – Грегори
І порядка, имеют первый порядок сходимости, В – метод (3.37) с 2q , Г –
Грегори ІІ порядка, - второй порядок, Д – Грегори ІІІ порядка – третий порядок,
Е – Грегори ІV порядка – четвертый порядок сходимости.
3.4. Частотный способ восстановления сигнала на входе линейного
динамического объекта
В состав развитого алгоритмического и программного обеспечения
систем инверсной обработки результатов наблюдений, т.е. систем решения
обратных динамических задач, должны входить блоки определения полных
передаточных характеристик динамических объектов по исходным данным,
неявно содержащим эти характеристики. К данным такого рода относятся
119
амплитудно-частотные характеристики системы (АЧХ). Поскольку,
экспериментальное определение фазо-частотных характеристик элементов, как
правило, осложнено аппаратно-технологическими трудностями, необходимо
рассмотреть получение по данной АЧХ объекта его передаточной функции,
которая проще определяется и предполагается известной.
На основе данной постановки обосновывается способ восстановления
сигнала на входе динамического объекта с ориентацией на его компьютерную
реализацию.
Восстановление передаточной функции динамического объекта. Для
рассматриваемого объекта предполагаются известными его амплитудно-
частотная характеристика )(A и значения )( iq tY квантованного сигнала на
выходе объекта в дискретные моменты времени it . Принципиально
поставленная задача решается использованием преобразования Гильберта,
которое описывает связь между фазовой )( и амплитудно-частотными
характеристиками объекта [148, 149]:


 
 du
u
uA )(ln1
)( .
Это соотношение может быть приведено к виду, в ряде случаев более
удобному для практического использования:








 dcth
d
Ad
2
)(ln1
)( ,


u
ln . (3.70)
Отсюда, в частности, при Constv
d
Ad


)(ln
легко определяется
2
)(

 .
В [49] получено приближение фазо-частотной характеристики при
аппроксимации полубесконечной логарифмической характеристики )(L
линейными зависимостями с постоянным наклоном (рис. 3.8):
120


























































,10,
2
,101
,1414.0,
2
lnln
1
4
,414.00,
2
0
0
00
0
0
0
0
00
0
(3.71)
где 0 – точка сопряжения прямолинейных отрезков аппроксимации )(L .
Рис. 3.8 – Полубесконечная логарифмическая амплитудно-частотная
характеристика
Погрешность аппроксимации (3.71) может быть достигнута в пределах
2%. На участках амплитудно-частотной характеристики, где величина )(ln uA
отлична от нуля, представляется рациональной аппроксимация функции
)(ln)( uAuL  параболой kn порядка. Пусть на отрезках k частот  kk  ,
получены выражения:
),1(,)(
~
ln
0
][
m
n
j
jnk
jk kkuauA
k
k
 


(3.72)
121
Из (3.70) и (3.72) получаем:





mk
k
k
1
)(
1
)( , (3.73)
где
  




 



k
kn
n
j k
jn
k
jn
k
kk
k
k kk
G
jn
jG ln)()(
1
0
, (3.74)
при этом




j
i
ijk
ik a=)j(G
0
][
, (3.75)
т.е. данная функция является полиномом степени j с коэффициентами  k
i .
В частности, при 2kn для всех mk интервалов частотной
характеристики имеем:
 
        
        .,1,ln
2
)(
21
2
0
10
220
m
k
kkkk
kk
kk
kk
k
k
kk 






(3.76)
Так как при малых значениях )(uA аппроксимация (3.72) невозможна, то
в алгоритме определения фазо-частотной характеристики представляется
целесообразным комбинированное использование аппроксимаций (3.71), (3.73)-
(3.75).
Таким образом, можно считать известной и передаточную функцию
рассматриваемого элемента системы
)(
)()( 
 j
eAjW , (3.77)
если задана его амплитудно-частотная характеристика.
Восстановления входного сигнала. Используя связь
)()()(  jWjXjY (3.78)
122
между Фурье-образами )(Y и )(X выходного и входного сигналов )(tY и
)(tX соответственно, можем записать известные соотношения [43]:
 

 deYjY j
0
)()( , (3.79)
)(
)()(
)(



A
e
jYjX
j
, (3.80)
  




0
)cos(Re
2
)( dtjXtX . (3.81)
Соотношения (3.71), (3.77)-(3.81) принципиально решают поставленную
задачу.
Необходимо учесть, что известные значения )( iq tY выходного сигнала
объекта отягощены погрешностью квантования qY . Следовательно, перед
использованием (3.79) имеющийся сигнал должен быть подвергнут
фильтрации:
)()()( ttYtY q  ,
где )(t – оператор фильтра квантованного сигнала. Этот оператор может быть
программно реализован с помощью сглаживающей сплайн-аппроксимации
сигнала )(tYq [4]. Программа сплайн-аппроксимации используется также и для
реализации соотношения (3.72).
Согласно изложенному, восстановление сигнала на входе динамического
объекта может быть реализовано комплектом программ, блок-схема которого
приведена на рис 3.9.
При известной передаточной функции элемента и заданном массиве
значений выходного сигнала для решения задачи восстановления входного
сигнала можно использовать и другие алгоритмы, например, основанные на
решении соответствующих интегральных уравнений [110].
123
Рис. 3.9 – Блок-схема комплекта программ восстановления входного сигнала
динамического объекта
Ввод массивов )(),( kiq AtY 
параметров AYq  ,
Подпрограмма
аппроксимации сигнала
)( iq tY с параметром
сглаживания qY
Подпрограмма прямого
преобразования Фурье
Подпрограмма F-
изображения входного
сигнала
Подпрограмма обратного
преобразования Фурье
Подпрограмма
аппроксимации АЧХ с
параметром сглаживания
A
Подпрограмма
определения ФЧХ
Подпрограмма,
реализующая m-ый
алгоритм восстановления
входного сигнала
Блок осреднения оценок
входного сигнала
qY
)( iq tY
)( kA 
A
 ][k
ja
)( j
mitX )( m
)( itX
1
1)( itX
)( itY
)( jY 
)( jX
124
Оценка погрешности восстановления входного сигнала. Оценка
погрешностей вычисляемых характеристик представляет собой задачу, решение
которой на порядок сложнее самой задачи оценки требуемых характеристик,
так как требует учета характеристик погрешностей исходных данных, оценки
чувствительности алгоритмов к этим погрешностям, оценки методических
погрешностей и полных вычислительных погрешностей реализации
конкретных вычислительных алгоритмов. Предположим, что точность κ-го
алгоритма оценки входного сигнала характеризуется среднеквадратическим
отклонением k . Естественно при наличии нескольких )( an алгоритмов
оценки осреднять получаемые характеристики с весами, зависящими от
точности соответствующего алгоритма:



an
k
kk xwX
1
. (3.82)
В рамках линейной теории точности дисперсия комбинированной оценки
(3.82) определяется выражением



an
k
kkx wD
1
22
. (3.83)
Из (3.83) получим веса kw , минимизирующие дисперсию xD . Из
необходимого условия
022 22


 kk
k
k
k
k
x w
d
dw
w
dw
dD
(3.84)
получаем
k
k
k
k d
w
dw


 , откуда
k
k
c
w

 .
Константа с определяется условием 


an
k
kw
1
1, откуда 



an
k k
c
1
1
1 .
Можно убедиться, что выбор весов согласно соотношению




an
j
jkkw
1
1
1
действительно минимизирует дисперсию оценки (3.82).
125
3.4. Выводы
1. Явные динамические модели объектов представляют собой
интегральные операторы с переменным верхним пределом интегрирования,
причем операторы являются скалярными, в случае наличия в объекте одного
входа и одного выхода, или матричными, при наличии многих входов и
выходов. Полученные по динамическим характеристикам интегральные
операторы представляют собой наиболее простые и вместе с тем
универсальные динамические модели, поскольку обеспечивают адекватность
воспроизведения свойств объекта в пределах точности априорно заданных
динамических характеристик и не требуют при своем формировании каких-
либо методов аппроксимации.
2. Интегральные уравнения Вольтерра І рода описывают задачу
восстановления входных воздействий, поступающих на объект при известной
его динамической характеристике и измеренном выходном сигнале.
Особенности уравнений требуют целенаправленного выбора численных
алгоритмов для решения. Исходя из компромиса между сложностью
вычислительного процесса и точностью результатов, могут быть выбраны
различные модификации метода квадратур. Достаточно эффективными при
решении задач с „инженерной” точностью оказываются алгоритмы на основе
формул прямоугольников и трапеций, причем в качестве регуляризирующего
параметра может быть использована величина шага интегрирования. Анализ
квадратурных формул повышенной точности позволил найти и использовать
условия, которые обеспечивают построение устойчивых алгоритмов решения
задачи восстановления с повышенной точностью, достигаемой, в частности,
благодаря полученному соотношению между шагом дискретизации и
коэффициентом регуляризации.
3. Применение интегрального метода восстановления входного сигнала
динамического объекта к задаче численного дифференцирования позволило
улучшить получаемые результаты по сравнению с традиционным методом,
реализованным в пакете MATLAB. Численные эксперименты свидетельствуют
126
о работоспособности метода и возможности его применения на практике с
использованием стандартных программных средств системы
MATLAB/SIMULINK.
4. Многошаговые методы для численного решения уравнения Вольтерра I
рода основаны на формулах Адамса. Методы применимы и в том случае, когда
правая часть и ядро уравнения Вольтерра заданы с погрешностью. Анализ
многошаговых квадратурных алгоритмов позволили установить, что, исходя их
условий устойчивости могут быть получены возможности эффективного
применения квадратурных формул высокого порядка точности, что
подтверждается вычислительными экспериментами.
5. Частотный метод восстановления сигнала основан на взаимосвязи
фазовой и амплитудной частотных характеристик динамического объекта.
Данная зависимость описывается преобразованием Гильберта и производными
от него соотношениями. В процессе определения фазо-частотной
характеристики использовано ее смешанное приближение функциями с
постоянным наклоном и параболическими отрезками для разных диапазонов
логарифмической амплитудной частотной характеристики. Сигналы на входах
элементов определяются по значениям полной передаточной функции и
выходных сигналов, прошедших процесс фильтрации. Для повыщения
точности результатов решения задачи восстановления целесообразно
применять способ осреднения оценок искомых значений входного сигнала,
полученных при помощи нескольких алгоритмов с учетом весовых
коэффициентов, зависящих от точности этих алгоритмов.
Основные результаты данного раздела представлены в работах автора
[82, 83, 88, 89, 91, 93, 125, 177].
127
РАЗДЕЛ 4
ПРОГРАММНЫЕ СРЕДСТВА РЕШЕНИЯ ОБРАТНЫХ ЗАДАЧ
ДИНАМИКИ. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ
4.1 Структура комплекта программ в системе MATLAB
Основными требованиями, предъявляемыми к программному
обеспечению для математического моделирования, являются эффективность —
процессорное время моделирования, количество итераций, объем
задействованной памяти и точность результатов, а также надежность —
способность успешно решать требуемые задачи, достоверность выдаваемых
результатов, способность выделения ошибочных ситуаций. Кроме того,
важным аспектом является обеспечение удобства пользователя, прежде всего, с
точки зрения трудоемкости подготовки исходных данных и их ввода в ЭВМ,
возможности эффективного вывода промежуточной информации и конечных
результатов, гибкости программного обеспечения [135].
Исходя из указанных требований, систему компьютерного
моделирования для решения обратных задач динамики целесообразно
организовать в виде пакета прикладных программ (ППП), включающего
модули реализации следующих динамических моделей: интегральных моделей
в виде уравнений Вольтерра; дробно-рациональных передаточных функций;
моделей в виде обыкновенных дифференциальных уравнений, а также модули
оценки точности полученных результатов. В соответствии с модульным
принципом организации программы разбиваются на несколько подпрограмм и
функций, допускающих их дальнейшее развитие и коррекцию. Пакет состоит из
тринадцати основных модулей, предназначенных непосредственно для решения
задач идентификации и восстановления входного сигнала динамических
объектов, семи модулей, реализующих оконный интерфейс и обеспечивающих
диалоговый процесс решения модельных примеров, а также одиннадцати
дополнительных подпрограмм, предназначенных для подготовки и передачи в
128
основные модули исходных данных или вызываемых в качестве подпрограмм.
Назначение файлов интерфейса представлено в таблице 4.1.
Таблица 4.1
M-файлы, реализующие интерфейс ППП
Название
файла
Назначение
invTask Главное окно комплекта программ
identInt Реализация оконного интерфейса задачи идентификации при
помощи интегрального метода
identInt_res Окно вывода результатов задачи идентификации
identDiff Реализация оконного интерфейса традиционных
(оптимизационных) методов идентификации
identA Реализация оконного интерфейса получения аналитического
представления экспериментальных зависимостей (разностной
модели)
restInt Реализация оконного интерфейса задачи восстановления
входного сигнала динамического объекта
ident_App Реализация оконного интерфейса задачи идентификации
динамических характеристик объекта
Структура основных модулей разработанного пакета программ приведена
на рис. 4.1, а в таблице 4.2 представлены данные о его основных модулях.
Тексты программ, а также описание входных и выходных параметров
разработанных модулей приведены в Приложении Б.
При использовании комплекса программ для решения задач
идентификации предусмотрена возможность обработки значений функций
входного и выходного сигналов, заданных как в аналитическом, так и в
табличном виде.
Во время работы основных модулей требуется вызвать дополнительные
m-файлы, необходимые для работы данного модуля (см. табл. 4.3). Кроме того,
используются m-файлы, содержащие исходные данные для решения задачи
восстановления сигнала, которые имеют следующее назначение: kernel_... − m-
файлы, задающие ядра уравнений; rightSide… − m-файлы для вычисления
правых частей интегральных уравнений, а также исходные файлы с исходными
табличными данными для задачи идентификации.
129
paramsMSM
Квадратурный алгоритм
идентификации
(интегральная модель)
Оптимизационный алгоритм
идентификации
(дифференциальная модель)
Аналитическое представление
экспериментальных
зависимостей
(разностная модель)
Восстановления входного
сигнала линейного объекта
(интегральная модель)
Оценка точности расчетов
Интерполяционный алгоритм
идентификации динамических
характеристик объекта
paramsLM
MSM_general
inv_general
Основные функции комплекта
программ
Основные модули
volt1Mod
volt1Trad
calcZ
calcPInvZ
polyCoef
coefH
errorMiddle2
errorMax
Рис. 4.1. Структура комплекта программ
130
Таблица 4.2
Основные модули комплекта программ
Наиме-
нование
Формат вызова
функции
Дополни-
тельные
m-файлы
Назначение Реализуемый
метод
MSM_general [X,err]=
MSM_general
(A,B);
system_coeff_
tab
MGauss
Решение СЛАУ
относительно
параметров ИДМ
Квадратурный
метод
идентификации
на основе
метода
наименьших
квадратов
inv_general [X,err]= inv_general
(A,B);
system_coeff_
tab
Решение СЛАУ с
квадратной
матрицей
относительно
параметров ИДМ
Квадратурный
метод
идентификации
на основе
метода
обратной
матрицы
paramsMSM X=paramsMSM
(y_tab,f_tab,t_tab,w);
- Определение
параметров
дифференциаль-
ной модели для
входных и
выходных
сигналов,
заданных в виде
полиномов и
тригонометрическ
их функций
Оптимизацион-
ный алгоритм
на основе
метода
наименьших
квадратов
paramsLM X=paramsLM
(y_tab,
f_tab,t_tab,w,eps );
- Определение
параметров
дифференциально
й модели для
входных и
выходных
сигналов в
произвольном
виде
Метод
Левенберга-
Маркарда
131
Продолжение таблицы 4.2
Наиме-
нование
Формат вызова
функции
Дополни-
тельные
m-файлы
Назначение Реализуемый
метод
calcZ [y_msm,err_msm,
t_msm,a,b]=
calcZ( t,x,na,nb );
makeFs,
MSM_general
calcB
Построение
разностной
модели объекта на
основе данных,
полученных
методом
наименьших
квадратов
Метод
аналитического
представления
эксперименталь-
ных зависимостей
на основе
обратного z-
преобразования
передаточной
функцииcalcPInvZ [y_inv,err_inv,
t_inv,a,b]=
calcPinvZ
( t,x,na,nb );
makeFs,
calcAbyPInv,
calcB
Построение
разностной
модели объекта на
основе данных,
полученных
методом
псевдобратной
матрицы
polyCoef a=polyCoef
(X,F,Lambda,n,
eps )
Matr_SYM Определение
коэффициентов
переходной
характеристики
динамического
объекта
Интерполяцион-
ный алгоритм
идентификации
coefH H=
coefH(a, Lambda)
polyCoef Определение
коэффициентов
дробно-
рациональной
передаточной
функции
Преобразование
Лапласа-Карсона
errorMiddle2 err=errorMiddle2
(y0,y);
solveDiffEqTab Определение
относительной
среднеквадратичн
ой ошибки
На основе
предварительно
полученного
решения ДУ
методом Рунге-
Кутты 4, 5
порядков
132
Продолжение табл. 4.2
Наиме-
нование
Формат вызова
функции
Дополни-
тельные
m-файлы
Назначение Реализуемый
метод
errorMax err=
errorMax(y0,y);
solveDiffEqTab Определение
максимальной
абсолютной
ошибки
На основе
предварительно
полученного
решения ДУ
методом Рунге-
Кутты 4, 5
порядков
voltTrad [y,err]=
volt1Trad(x);
rightSide,
kernel
Решение линейного
интегрального
уравнения
Вольтера I рода с
ядром
произвольного вида
Метод квадратур
на основе
традиционного
подхода
volt1Mod [y,err]=
volt1Mod(x);
vFast1,
vFast2
Решение линейного
интегрального
уравнения
Вольтера I рода с
возможностью
выбора типа ядра
Метод квадратур
на основе
разделяющихся
ядер
133
Таблица 4.3
Дополнительные модули комплекта программ
Наименование Формат вызова
функции
Назначение Реализуемый метод
MGauss X=MGauss(A,B); Решение СЛАУ Метод Гаусса
calcAbyPInv a=calcAbyPInv(f,F); Расчет коэффициентов
знаменателя
передаточной функции
Метод
псевдообратной
матрицы
calcB b=calcB( f,a,n ); Расчет коэффициентов
числителя передаточной
функции
Z-преобразование
makeFs [f,F] = makeFs(x,m); Предварительная
подготовка данных для
определения
коэффициентов
передаточной функции
solveDiffEqTab [T,Y]=
solveDiffEqTab
(f,p,init,x);
Решение
дифференциального
уравнения с правой
частью в
табулированном виде
Рунге-Кутты 4, 5
порядков
system_coeff_tab [A,B]=
system_coeff_tab
(t,u,f,h,c);
Расчет коэффициентов
СЛАУ для реализации
ИДМ c исходными
функциями в табличном
виде
Метод трапеций
vFast1 [ y,err,t ] = vFast1( x ); Решение линейного
интегрального
уравнения Вольтерра I
рода с ядром в виде
тригонометрической
функции
Метод квадратур
на основе
модифицированного
алгоритма
vFast2 [ y,err,t ] = vFast2( x ); Решение линейного
интегрального
уравнения Вольтерра I
рода со степенным
ядром
Coef_CG [C,G]=
Coef_CG
(X,F,Lambda,n);
Предварительная
подготовка данных для
формирования матриц
Интерполяционный
алгоритм
идентификации
Matr_SYM [D1,D2]=
Matr_SYM(C,G,n)
Формирование матриц в
символьном виде
Lambda_Sr Lambda_Sr=
Lambda_Sr(a,X,F)
Уточнение
коэффициента затухания
134
4.2. Организация программных модулей
При использовании комплекта программ для решения обратных задач
динамики предусмотрена возможность обработки значений функций входного
и выходного сигналов, заданных как в аналитическом, так и в табличном виде.
В последнем случае экспериментально полученные данные предварительно
записываются в файлы формата *.doc или *.txt через пункт “Генерация данных”
меню “Файл” главного окна ППП (рис. 4.2).
Рис. 4.2. Главное окно комплекса програм
В главном окне комплекса задаются интервал и шаг измерений, значения
входного и выходного сигналов для задачи идентификации, уровень и тип
помехи сигналов. Предусмотрена возможность получения графиков заданых
функций.
Программные модули задачи идентификации. Программы MSM_general,
inv_general и system_coeff_tab предназначены для решения задачи интегральной
идентификации динамического объекта на основе дискретизации интегралов в
(2.20)-(2.21) при помощью квадратурной формулы трапеций. При этом
выполняется следующая последовательность действий:
1. Используя функцию system_coeff_tab вычисляются коэффициенты ijA и
jb СЛАУ. При вызове функции расчета коэффициентов СЛАУ передаются
следующие параметры: u − вектор значений функции выходного сигнала; f −
135
вектор значений функции входного сигнала; t – вектор дискретных значений
узлов измерений; h − шаг между соседними узлами сетки; c − вектор начальных
условий.
Результатом работы функции будут следующие векторы: A — матрица
коэффициентов при неизвестных в СЛАУ; B — вектор-столбец свободных
членов.
2. Полученная СЛАУ решается относительно неизвестных параметров jq
методом наименьших квадратов или методом обратной матрицы при помощи
функций MSM_general или inv_general соответственно. Функция MSM_general
использует подпрограмму MGauss, которая реализует метод Гаусса для
решения СЛАУ.
Рассмотрим типовый пример 1 решения задачи идентификации с
использованием соответствующих программ (Приложение Б).
Построим интегральную модель линейного объекта (2.17), на вход
которого подается сигнал 6125,1)( 23
 ttttf . Выходной сигнал,
получаемый при этом описывается функцией 3
)( tty  . Параметры модели
будем искать на интервале [0; 2] с шагом дискретизации h=0,01 (рис.4.3).
Рис. 4.3. Исходные данные для решения задачи идентификации
Порядок эквивалентной дифференциальной модели m=3. Зададим
начальные условия 3,1, iCi и вектор точных значений 3,1, ipi в окне,
136
вызываемом из главного меню «Идентификация», подменю «Интегральный
метод» (рис. 4.4).
Рис. 4.4. Заполнение полей векторов начальных условий и точных значений
коэффициентов
Во всплывающем окне отобразится график абсолютной погрешности
решений. Рассчитанные параметры модели, построенной при помощи
интегрального метода доступны пользователю в окне, вызываемом из подменю
«Результаты инт. и дифф. методов» (рис.4.5), в котором предусмотрена
возможность просмотра результатов оценки модели и построения графиков
входных и выходных сигналов объекта и модели.
Рис. 4.5. Результаты идентификации квадратурным методом
137
Для данного тестового примера были получены следующие параметры
(см. рис. 4.5): 0856,21 q , 7155,42 q , 6312,03 q .
Построим параметрическую модель этого же объекта, используя
классические оптимизационные алгоритмы. В пакете программ реализованы
следующие методы: наименьших квадратов; Левенберга-Маркарда [40]
(рис. 4.6).
Рис. 4.6. Окно задания параметров при идентификации оптимизационными
методами
Предусмотрена возможность построения графиков функций сигналов и
абсолютной погрешности решения.
Эффективность системы моделирования при решении группы тестовых
примеров оценивалась по таким критериям как точность решения (абсолютная
погрешность y , относительная погрешность y ) и время выполнения.
Для проверки устойчивости методов, реализованных программными
модулями, есть возможность наложения на входной сигнал аддитивной помехи,
которая может быть представлена в следующем виде: случайной помехой,
распределенной по нормальному закону; случайной помехой с учетом
амплитуды входного сигнала и синусоидальной помехи )sin()( ttkf .
138
Соответствующий выходной сигнал был получен с помощью метода Рунге-
Кутты 4 и 5 порядков при известных точных значениях параметров.
Результаты идентификации представлены в таблицах 4.4-4.5.
Таблица 4.4
Результаты применение интегрального метода идентификации, m=3, h=0,01
k , % ymax T, с 1q 2q 3q
0,00 0,021668 0,079242 2,0856 4,7155 -0,6312
0,01 0,021214 0,072266 1,9849 4,8702 -0,7717
0,05 0,021245 0,089712 1,8872 5,0162 -0,9027
0,10 0,021238 0,090289 1,7868 5,1687 -1,0378
Таблица 4.5
Результаты применение метода Левенберга-Маркарда, m=3, h=0,01
k , % ymax T, с 1q 2q 3q
0,00 0,071703 0,017017 1,9032 5,1420 -1,1246
0,01 0,072719 0,002606 1,8092 5,2763 -1,2410
0,05 0,076735 0,003727 1,7127 5,4168 -1,3612
0,10 0,081703 0,002532 1,6123 5,5679 -1,4896
В случае задания входного и выходного сигналов в виде полиномов
интегральный метод идентификации дал более точные результаты (см.
рис. 4.7).
Рис. 4.7 Зависимость максимальной абсолютной погрешности от уровня шума
( ;)( 3
tty  )
139
Рассмотрим пример 2 для задачи идентификации, когда сигналы заданы в
виде функции, содержащей экспоненту Входной сигнал: 2.014)( 2
  t
etf .
Выходной сигнал: t
ety 2
1)( 
 . Порядок эквивалентной дифференциальной
модели m=5.
При интегральной идентификации были получены следующие параметры
динамического объекта: 0113,01 q , 3704,32 q , 7472,53 q , 9459,14 q и
1995,05 q .
Для данного примера выбираем метод Левенберга-Маркарда, т. к. при
использовании других методов для сигналов, представленных функциями
экспоненты, были получены системы уравнений с плохо обусловленными
матрицами.
В таблице 4.6 представлены значения выходного сигнала y(t) и )(~ ty ,
полученные экспериментально и по результатам моделирования
соответственно и абсолютная погрешность решения по выходу модели
)(~)( tytyy  для разного шага дискретизации
Таблица 4.6
Результаты решения задачи идентификации
t y(t) Метод Левенберга-
Маркарда, h=0,01
Интегральный метод
h=0,01
Интегральный метод
h=0,1
Интегральный метод
h=0,5
)(~ ty )(~)( tyty  )(~ ty )(~)( tyty  )(~ ty )(~)( tyty  )(~ ty )(~)( tyty 
0 0 0 0 0 0 0 0 0 0
0,2 0,32968 0,329678 61002,2  0,329685 61016,5  0,329685 61051,5  0,329728 5108,4 
0,4 0,550671 0,550476 0,000195 0,550674 61057,2  0,550683 51022,1  0,551819 0,001148
0,6 0,698806 0,697422 0,001384 0,698807 61066,1  0,698876 51098,6  0,706549 0,007743
0,8 0,798103 0,792689 0,005415 0,798106 6105,2  0,798375 0,000271 0,826963 0,02886
1 0,864665 0,849267 0,015398 0,864671 61088,5  0,865442 0,000777 0,941922 0,077257
1,2 0,909282 0,873438 0,035844 0,909295 51032,1  0,911108 0,001826 1,076342 0,16706
1,4 0,93919 0,866432 0,072758 0,939216 51063,2  0,942927 0,003737 1,249834 0,310644
1,6 0,959238 0,825515 0,133723 0,959285 51076,4  0,966149 0,006912 1,474885 0,515647
1,8 0,972676 0,74466 0,228016 0,972756 51096,7  0,984494 0,011817 1,755697 0,783021
2 0,981684 0,74466 0,366786 0,981809 0,000125 1,000644 0,01896 2,088532 1,106848
Анализ результатов решения примера при задании разных значений шага
интегрирования показал, что квадратурный метод идентификации дает более
140
точный результат в сравнении с оптимизационным алгоритмом (см. рис. 4.8 и
таблицу 4.7).
Рис. 4.8. Влияние метода и шага дискретизации на точность результата задачи
идентификации
Таблица 4.7
Результаты оценки точности и быстродействия моделирования
Метод ymax ymax T, с 1q 2q 3q 4q 5q
Левенберга-Маркарда,
h=0,01
0,366786 0,436696 4,73 0,7820 -1,4175 2,5694 -4,6576 -0,2
Интегральный,
h=0,01
0,000125 0,000127 0,111956 0,0113 -3,3704 5,7472 1,9659 -0,1995
Интегральный,
h=0,1
0,01896 0,019314 0,013829 0,1081 -3,3084 5,6198 2,1707 -0,1568
Интегральный,
h=0,5
1,106848 1,127499 0,005619 -0,3594 4,5435 6,8183 -26,8268 12.0439
В таблицах 4.8 и 4.9 представлены максимальная абсолютная
погрешность идентификации, время вычислительного процесса в секундах и
параметры модели с учетом синусоидальной помехи входного сигнала.
Вычисления с использованием разных методов проводились на интервале [0, 2]
при равном шаге дискретизации h=0,01.
Сравнительный анализ результатов работы разных алгоритмов показал,
что квадратурный алгоритм идентификации обладает большей устойчивостью.
141
Таблица 4.8
Результаты применение интегрального метода идентификации, m=5, h=0,01
k ymax T, с 1q 2q 3q 4q 5q
0,01 0,000189 0,103491 0,023311 -6,49706 6,37588 15,83192 -0,23627
0,05 0,000310 0,089377 0,00475 -1,49317 5,514835 -6,05629 -0,2662
0,10 0,000340 0,084081 0,003691 -1,016305 5,387974 -7,63575 -0,32318
Таблица 4.9
Результаты применение метода Левенберга-Маркарда, m=5, h=0,01
k ymax T, с 1q 2q 3q 4q 5q
0,01 0,055796 0,092078 129,9511 4971,802 5075,571 -8483,68 85,11122
0,05 0,111028 0,012793 128,5888 4742,03 2141,363 -13428,8 221,1721
0,10 0,113844 0,010860 125,861 4203,769 1789,687 -12070,3 382,1129
Метод аналитического представления данных.. Исследовалась
возможность аппроксимации функции     )/1(3/sin 15/t
ettf  . При
использовании n=50 точек функции от 0 с шагом 0,5 метод псевдообратной
матрицы позволил получить более точный результат аппроксимации:
максимальное значение модуля абсолютной ошибки составило 15
108.8 
 против
14
108.9 
 , полученного при использовании метода наименьших квадратов. В
работе [84] приведены результаты решения тестовых примеров с
использованием данного метода.
Программные модули задачи восстановления сигналов. Программа
volt1Trad предназначена для решения линейного интегрального уравнения
Вольтерра I рода с ядром произвольного вида, с помощью метода квадратур с
использованием квадратурной формулы трапеций (3.27). Программа volt1Mod
вызывает подпрограмм vFast1 и vFast2, предназначеные для решения
линейного интегрального уравнения Вольтерра I с ядрами заданого вида при
помощи модифицированного метода квадратур (3.29).
При этом выполняется следующая последовательность действий
программами:
142
1. Проверяется правильность задания входных данных. В случае
обнаружения ошибок устанавливается соответствующее значение индикатора
ошибки и работа программы прерывается.
2. Согласно заданному методу квадратур, интегральные операторы
заменяются квадратурными формулами и вычисляется решение )(~ a исходного
интегрального уравнения в начальной точке отрезка, на котором ищется
решение.
3. В программе volt1Trad с помощью дополнительного цикла по j
определяются значения ядер  ji xxK , для текущей точки отрезка, на котором
ищется решение. В программах vFast1 и vFast2 определяются значения
разделенных ядер )( il x и )( jl x в текущей точке, а также сумма
произведений    il
m
l
il xx  
1
на i-м шаге интегрирования.
4. С помощью заданного метода квадратур с использованием
квадратурной формулы трапеций решается исходное линейное интегральное
уравнение и вычисляется его решение )(~
ix в текущей точке.
5. Если конец отрезка, на котором ищется решение, не достигнут, то
повторяются шаги 3-5 для следующей точки отрезка.
6. Формируются массивы выходных данных, индикатору ошибки IER
присваивается значение 0 и работа программы заканчивается.
Рассмотрим типовой пример сеанса работы с использованием программ
volt1Trad и volt1Mod (Приложение Б). Решается линейное интегральное
уравнение Вольтерра первого рода:     .cos 2
0
2
x
x
xedssysx  
Задается интервал [0; 3,2] с постоянным шагом дискретизации h=0,02.
Результаты решения тестового примера 3 представлены в параграфе 3.2.
При этом среднеквадратичная ошибка полученного решения 18931.0 ,
среднее значение абсолютной погрешности решения равно 0б08664, среднее
значение относительной погрешности решения − 0,00029. Время вычислений
143
при использовании метода на основе традиционного подхода – 0,19 с, при
использовании модифицированного метода −0,07.
Модули интерполяционного метода. Для получения аналитического
выражения для ядра интегрального уравнения вызывается модуль ident_App,
реализующий интерполязионный алгоритм идентификации динамических
характеристик объекта. Описание работы модулей, реализующих алгоритм, и
результаты решения тестового примера даны автором в работе [83]. Для
решения плохо обусловленной матрицы используется алгоритм, реализованный
автором в системе SciLab. Программа была протестирована для вещественных
матриц Ганкеля с размерностью n=700. Среднее улучшение точности
вычислений составило 20%. Исходный код программы распространяется под
лицензией GNU GPL v3. Подробное описание функций, входящих в программу,
дано автором в работе [177].
Все программы программного пакета разработаны с использованием
языка программного комплекса MATLAB и объединены в единый пакет
прикладных программ для решения задач идентификации и восстановления
входных сигналов, согласно концепции пакетов прикладных программ
(MATLAB APPLICATION TOOLBOXES), принятой в системе MATLAB. Это
позволяет использовать следующие преимущества разработанной системы
моделирования:
− возможность совместного использования с другими пакетами
прикладных программ, входящих в состав программного комплекса MATLAB;
− возможность анализа, коррекции и применения M-функций в качестве
шаблонов, написанных на языке MATLAB, для разработки новых приложений;
− возможность использования в рамках системы MATLAB на любой
вычислительной платформе.
Результаты тестирования позволяют сделать вывод о том, что
разработанное программное обеспечение полностью соответствует
требованиям, предъявляемым к современным пакетам прикладных программ
для компьютерного моделирования.
144
4.3. Решение прикладных задач
В последние годы интенсивно разрабатываются и находят все более
широкое применение методы неразрушающего контроля технических изделий
на базе эффектов нелинейности, инерционности и флуктуирования их
физических параметров. На основе этих методов можно определять
диагностические параметры и признаки физического состояния изделий. К
таким методам неразрушающего контроля, выполненным на основе подачи
специальных испытательных сигналов, относятся методы интегральной
диагностики, базирующиеся на расчете параметров динамических моделей
непрерывных объектов. Сущность интегральной диагностики состоит в том,
что объект диагностирования рассматривается в целом без раскрытия его
внутренней структуры. Интегральная диагностика основывается на анализе
переходных или нелинейных характеристик элемента (примерами таких
характеристик являются переходная тепловая характеристика, вольтамперная
характеристика, вольт-фарадная характеристика и др.). Диагностическая
информация выделяется из непрерывного выходного сигнала при подаче на
вход объекта специального тестового воздействия, выявляющего изменения
физического состояния ДО. Для целей диагностики используют два вида
переходных характеристик - переходная (получаемая при подаче на вход
объекта тестового сигнала в форме единичного скачка) и импульсная
переходная (при подаче сигнала типа дельта-функции). Предпочтительной
является переходная характеристика ввиду ее практической доступности.
4.3.1. Теплодинамические модели резистивных структур при
решении задач динамики.
В качестве объекта исследований рассмотрим резистивные структуры и
задачу построения диагностических моделей постоянного непроволочного
резистора при ступенчатом тестовом воздействии.
145
Резистивная структура, примером которой является резистор с
изоляцией, как показано на рис.4.9, где 1 − керамическое основание, 2 −
резистивный слой, 3 − контактный узел, 4 − защитное покрытие, 5 − выводы,
представляет собой элемент с распределенными параметрами, что приводит к
необходимости применения уравнений в частных производных или
двумерных интегральных уравнений. Однако применение таких
динамических моделей представляет собой трудоемкую задачу. Поэтому на
практике предпочитают за счет упрощения и допущений обойтись
получением и применением одномерных динамических моделей в виде
обыкновенных дифференциальных уравнений, интегральных уравнений и
операторов типа Вольтерра. Для этого есть определенные основания как
теоретического, так и практического характера. В пользу такого подхода
свидетельствует также рассмотрение резистора как скалярного объекта,
входным сигналом которого является ток (или напряжение), а выходным −
динамическое изменение сопротивления при джоулевом нагреве.
Рис.4.9. Структура резистора с изоляцией
Для резистивных материалов характерным является изменение их
проводимости во времени при внешнем испытательном воздействии типа
скачка. Изменение значения сопротивления является сложной функцией вида:
 .,,,,),()( 0 thcRtuftR v 
146
В роли аргументов функции )(tR выступают функция изменения
сопротивления от времени, теплоемкость vc , коэффициент теплопередачи или
тепловых потерь h , интегральный коэффициент сопротивления (ТКС)  и
другие факторы, представляющие в интегральном виде феноменологические
параметры диссипативных подсистем. Данная зависимость может оказаться
слишком сложной для практического использования. Упрощение указанной
зависимости может быть достигнуто исключением из нее тех факторов,
которые дают малый вклад в общую зависимость, являются
малоинформативными или, если рассматривать их с позиций факторного
анализа, имеют очень маленький вес.
Так как в качестве исходных данных для анализа переходной функции
принимаются теплофизические параметры, то принято называть ее переходной
тепловой характеристикой (ПТХ). Она является информативной и,
следовательно, может быть использована для расчета параметров
динамического объекта.
Для обоснования одномерных динамических моделей используется
следующее допущение и данные. Параметры модели принимаются
постоянными во время переходного процесса в связи с его небольшой
длительностью, учитывается и однонаправленное изменение тепловой энергии,
что и дает физическое обоснование для перехода от распределенных свойств
параметров к сосредоточенным. При этом учитывается, что тепловая энергия
выделяется только на границах зерен, из которых созданы активные слои
резистивных непроволочных элементов, ввиду минимальных размеров самых
зерен. При необходимости эти допущения определяют начальные условия
двумерной модели резистивных элементов при переходе к одномерной.
Принимается, что соблюдаются условия изотермичности, которые
приводят в рассматриваемой динамической модели к пространству начальных
условий (начальной температуры). Принимаются также постоянными значения
коэффициента теплоемкости, коэффициента тепловых потерь, интегрального
температурного коэффициента сопротивления.
147
Исходя из принятых допущений, изменение температуры в произвольной
точке поверхности резистора может быть описано обыкновенными
дифференциальными уравнениями первого порядка на основе
теплоэнергетического баланса между энергией джоулева нагрева и излучением
в окружающую среду.
При более полном учете динамики процессов, возникающих вследствие
энергетического скачка, порядок дифференциального уравнения может быть
увеличен, т.е. наиболее общей формой динамической модели данного вида
является дифференциальное уравнение вида (2.16) [134, 140], где
коэффициенты
____
,1, niqi  образуют систему параметров модели. Если объектом
диагностирования является резистивная непроволочная структура, то эти
коэффициенты являются постоянными. При решении задач интегральной
диагностики можно численно определить указанные коэффициенты, т.е.
восстановить параметры математической модели резистора и отнести
последний к классу годных или негодных объектов.
Входной тестовый сигнал представляется в виде: )(1)( tctf  , где
constc  , а в качестве выходного сигнала возьмем значения ПТХ
____
,1, Njy j 
измеряемые через некоторый промежуток времени (шаг измерений).
Рассмотрим применение разработанной методики расчет параметров
динамических моделей для построения диагностических моделей PC. Метод
основан на переборе возможных структур дифференциальных уравнений,
используя эквивалентное интегральное уравнение. Минимизируя функционал
невязки вида
,
!
)(
)!1(
)(
)!(
)(
)!1(
)(
)(
2
0
1
0
1
1 1 0
1
0
1


























 
   



 



i
j
i
k
t n
j
j
i
n
i
m
i
n
j
t jn
k
jkj
i
ji
j
t
cdssf
n
st
jk
t
cdssy
j
st
qtyФ
(4.1)
148
находим искомые значения неизвестных параметров. Затем получаем решение
дифференциального уравнения на всем интервале наблюдений с помощью
реализации эквивалентного интегрального уравнения.
Первым шагом построения модели PC является использование
дифференциального уравнения первого порядка вида
0)0(),()()( cytftqyty  .
Затем порядок уравнения постепенно увеличивается на каждом следующем
шаге алгоритма. При этом находится искомое значение параметра q ,
доставляющее минимум функционалу (4.1). По изложенному в параграфе 2.2
алгоритму численно реализуется интегральная модель и оцениваемый
переходной процесс сравнивается с реальными исходными данными. Если
погрешность оказывается больше заданной, рассматривается уравнение вида
10 )0(,)0(),()()()( 21
cycytftyqtyqty 
и т.д.
Повторяя эти расчеты, находим оптимальные значения параметров и
структуры модели, доставляющие минимум функционалу (4.1).
На основе предложенной методики были построены диагностические
модели шести групп резисторов. ПТХ первых четырех групп резисторов
хорошо аппроксимировались решениями дифференциального уравнения
первого порядка с максимальной относительной погрешностью ( %2 ).
Остальные ПТХ плохо аппроксимировались с использованием
дифференциальных моделей 1-го и 2-го порядков ( %28 ).
Значения параметров, контрольные значения реального выходного
сигнала и получаемые посредством модели расчетные значения для первой и
второй группы резисторов приведены в таблицах 4.10 и 4.11.
Графики ПТХ построенных моделей соответствуют годным резисторам, а
отклонения от графиков свидетельствуют о наличии различного рода дефектов,
например, дефектов токопроводящего слоя, пятен, царапин и т.д.
149
Таблица 4.10
Контрольные значения реального выходного сигнала и получаемые
посредством модели расчетные значения для ПТХ1 (q=1,61498)
it 1R 1
~
R 11
~
RR 
0,1 1 0,991 0,009
0,2 1,7 1,7092 0,0092
0,3 2,3 2,3778 0,0078
0,4 2,9 2,8363 0,0063
0,5 3,35 3,3782 0,0028
0,6 3,78 3,8326 0,0052
0,7 4,15 4,2137 0,00637
0,8 4,55 4,5332 0,0016
0,9 5 5,0257 0,00257
1 5,2 5,214 0,0014
Таблица 4.11
Контрольные значения реального выходного сигнала и получаемые
посредством модели расчетные значения для ПТХ2 (q=0,9995)
it 2R 2
~
R 22
~
RR 
0,1 1 0,995 0,005
0,2 1,8 1,813 0,013
0,3 2,5 2,5032 0,0032
0,4 3,2 3,296 0,096
0,5 3,9 3,934 0,034
0,6 4,5 4,511 0,011
0,7 5 5,034 0,034
0,8 5,5 5,506 0,006
0,9 5,9 5,93 0,03
1 6,3 6,31 0,01
Для классификации резисторов можно использовать не только порядок
(структуру) дифференциального уравнения, но также и значения параметров
150
уравнения. Технология компьютерной диагностики должна предусматривать
хранение значений коэффициентов дифференциального уравнения и
допустимые отклонения их решений от характеристик эталонного резистора,
т.е. для каждого конкретного вида ПТХ определяется структура и значение
параметров дифференциального уравнения. С помощью полученных значений
параметров определяется максимальная погрешность аппроксимации и если
она меньше допустимой, то резистор считается годным.
Решение задачи расчета параметров диагностических моделей является
одним из этапов решения общей задачи диагностирования PC и повышения их
качества и надежности.
4.3.2. Идентификация участков длинных линий (RC-объектов).
Известен целый ряд различных тепловых, электромагнитных объектов и
устройств, передаточные функций которых содержат s в дробно-
рациональной и экспоненциальной зависимостях. В частности, к числу таких
объектов относятся RС–объекты [32]. На примере участка длинной линии
микропровода рассмотрим вопрос построения модели RС-объекта посредством
рассмотренной ранее методики.
B качестве исходных возьмем экспериментальные данные о переходном
процессе в участке при температуре +( 220  )°С. Испытывались два образца
RС-объектов из микропровода согласно схеме испытаний, представленной на
рис.4.10.
Рис. 4.10. Схема испытаний
151
Обозначения в схеме: U − источник постоянного стабилизированного
напряжения типа УЭСВ-1; ОУ− операционный усилитель постоянного тока
типа УУ-1; 0R − безреактивный резистор, 10 МОм; V − индикатор
самопишущий типа Н-340; 31, RR − резисторы с номиналом 1 МОм типа MB
СГ-1; 42 , RR − магазины сопротивления типа МСР-63; G − гальванометр типа
М 195/3; xZ − исследуемый объект.
Коэффициент деления входного делителя 43, RR напряжения подбирают
так, чтобы в конце промежуточного времени t=1000 с напряжение на клеммах
самопишущего индикатора было не более 100 В, т.е. не превышало
максимального отклонения индикатора. После установки вспомогательным
делителем 43, RR нулевого показания гальванометра снимается переходная
характеристика. Исследуемую линию помещают в термостат. Испытания
проводились при температуре CT 
220  . В таблице 4.12 приведены
измеряемые значения выходного сигнала U (переходной характеристики).
Таблица 4.12
Результаты испытаний
№ образца t, сек U U
~
UU
~

1
200 18,8 16,66 2,1
400 27 23,10 1,1
500 30,7 31,24 0,54
600 34 35,95 1,95
300 40,4 41,33 0,93
1000 45,5 45,04 0,46
2
200 17,3 16,24 1,06
400 22,1 22,45 0.35
500 24,3 24,79 0.49
600 26,5 26,49 0.01
800 28,4 28,62 0.22
1000 30 29,73 0.27
Вычислительные эксперименты проводились по квадратурному
алгоритму, рассмотренному в разделе 2, с выравниванием исходных данных
152
методом наименьших квадратов. Входной сигнал представляет собой
единичный скачок. Модель строится в виде уравнения
.10,)(10)(,1)()( 3
1
2)()(
trruryryqry
m
i
im
i
m 


  (4.2)
Из (4.2) согласно методу наименьших квадратов для построения модели
первого порядка имеем
 


N
i
t
ii
i
tdrryqtyФ
1 0
2
))()(( .
Отсюда получим
 



 n
i
tt
ii
ii
drrytdrryqty
q
Ф
1 00
0)(])()([2
и
 


n
i
ttn
i
ii
ii
drrydrrytytq
1
2
001
))(()())(( .
Используя для вычисления интегралов 
it
drry
0
)( формулы трапеций, находим
для первого и второго образцов соответственно 22.3;8823.1 21  qq .
В таблице 4.12 приводятся контрольные значения переходного процесса
2,1),1(
100
)(
~ 3
10



ie
q
tU tq
i
i
i
,
а также значения ошибки.
Отметим, что, если с увеличением порядка моделей исследуемых
образцов величина UU
~
 не убывает, то можно предположить, что для таких
образцов можно не увеличивать порядок дифференциального уравнения.
Рассмотрим ту же задачу параметрической идентификации RC-объектов
из микропровода, представляющих собой линии с распределенными
параметрами с иррациональными передаточными функциями посредством
метода, приведенного в параграфе 3.1. В качестве математической модели
153
будем использовать аппроксимирующую дробно-рациональную передаточную
функцию.
На рис. 4.11 приведен вид идентифицируемого переходного процесса, а в
табл. 4.13 – результаты идентификации. Идентифицированная передаточная
функция имеет вид
3
8
2
5
)001,0(
1053,5
)001,0(
1077,4
001,0
04273,0
326,10)(









sss
sW ,
откуда импульсная характеристика может быть представлена выражением
)10765,21077,404273,0()(326,10)( 285001,0
ttettv t 
 ,
а соответствующая ей интегральная модель записывается в виде
.dττxre,edττrxet,,e
dττxet,t,,eτdτxty
t
r,t,
t
r,t,
t
r,t,
t






0
2001080010
0
0010850010
0
00102850010
0
)(107652)()1053510774(
)()10765210774042730()(326,10)(
Рис. 4.11. График переходного процесса в RC-линии из микропровода,
построенный по экспериментальным данным
154
Таблица 4.13.
Результаты идентификации RC-элементов из микропровода
t, с U, В WU
~
, В WUU
~
 IEU
~
, В IEUU
~

200 18,8 18,844 0,044 18,865 0,065
400 27 26,912 0,088 26,93 0,07
500 30,7 30,648 0,052 30,664 0,036
600 34 34,143 0,144 34,159 0,159
800 40,4 40,357 0,043 40,369 0,031
1000 45,5 45,504 0,004 45,5001 0,0001
4.3.3. Коррекция динамических искажений измерителя тепловых
потоков
Измерение плотности потоков теплового излучения имеет важное
значение для многих экспериментальных исследований и технологических
процессов.
Ориентация современной техники и технологии на более полную
интенсификацию энергетических процессов обуславливает всевозрастающий
интерес к методам и средствам изучения нестационарных процессов.
Исследование процессов теплообмена поверхностей высокоскоростных
летательных аппаратов, деталей установок для горячей штамповки, подвижных
частей литейного и прокатного оборудования, двигателей внутреннего сгорания
и газотурбинных установок, развитие лазерной техники - вот далеко неполный
перечень областей, где первостепенное значение имеет точная информация о
плотностях нестационарных потоков теплового излучения.
Перспективными направлениями дальнейшего развития методов и
приборов для измерения нестационарных потоков теплового излучения в
сторону уменьшения динамических погрешностей в настоящее время являются:
− изыскание новых физических принципов, которые могут быть
использованы для создания малоинерционных приемников теплового
излучения;
155
− дальнейшее совершенствование методик измерения на основе
применения современных специализированных средств вычислительной
техники.
В части разработки новых методик измерения особое значение
приобретают структурные методы коррекции динамических погрешностей
измерительных преобразователей.
Задача структурной коррекции динамических характеристик
измерительных систем заключается в построении и использовании в
преобразующем канале или контуре системы такого блока, который благодаря
своим специально сформированным динамическим свойствам обеспечивает как
можно лучшие динамические характеристики всей системы.
Инерционность теплоэлектрических приемников (измерительных
преобразователей) излучения ограничивает возможности системы измерения
нестационарных потоков теплового излучения. Непосредственное
использование показаний этих приборов для измерения и регулирования
быстроизменяющихся процессов приводит к значительным динамическим
погрешностям. Поэтому разработка способов и устройств компенсации
подобных ошибок в реальном времени весьма актуальна.
Интегральный метод восстановления сигналов для решения задачи
коррекции динамических погрешностей системы измерения потоков теплового
излучения, что заключается в восстановлении входного сигнала  ty по
выходному  tf и по импульсной переходной характеристике  tk , сводится к
решению интегрального уравнения Вольтерра первого рода
      
t
tfdssystk
0
~
, (4.3)
где k
~
− динамическая характеристика системы,  tf − зарегистрированный
сигнал,  ty − восстановленный сигнал на входе системы.
Для синтеза корректирующих алгоритмов необходимо иметь выражение
функции  tk , которое можно получить путем аппроксимации переходной
156
характеристики  tPe каким-либо выражением и последующим его
дифференцированием. Функцию  tPe получаем как реакцию системы на
входной сигнал в виде единичной функции, для воспроизведения которой
используется стационарный излучатель на основе лампы накаливания и
диафрагмы с заслонкой, управляемой электромагнитом. Способ нелинейной
аппроксимации экспериментально полученной переходной характеристики
 tPe
    


 
M
i
i
i
t
tetPtP
1
1
0
~
, Mi ,1 ,
где  ,,0 i − постоянные коэффициенты, позволяет найти значение
параметров аппроксимирующего выражения и выбрать его порядок n таким
образом, чтобы сумма среднеквадратичной погрешности в заданных точках
интерполяции аппроксимирующей функции была минимальной. При 7n
импульсная переходная функция приемника имеет вид
 
.)000000144,0000016,0
000657,001198,0102,0376,0562,0(
~
178,065
432
t
ett
tttttk



(4.4)
Таким образом, программа должна решать интегральное уравнение
).()(])(000000144.0)(000016.0
)(000657.0)(01198.0)(102.0)(376.0562.0[
)(178.065
0
432
tfdssyestst
stststst
st
t




(4.5)
Моделирование рассматриваемого способа компенсации динамической
погрешности целесообразно проводить на основе какого-либо характерного
режима работы приемника. С этой целью в [105] были проведены
эксперименты по измерению плотности нестационарного потока теплового
излучения с заданным законом изменения, характерным для практических
условий работы приемников.
157
Изменение плотности падающего потока теплового излучения
достигалось за счет вращения приемника вокруг оси, проходящей через
середину его приемной поверхности, в поле потока стационарного излучателя.
По результатам предварительных стационарных измерений установлено,
что изменение плотности потока излучения при вращении приемника
соответствует закону косинусов Ламберта с максимальным отклонением 2,5%.
Необходимая равномерность вращения приемника в процессе измерения
обеспечивалась при помощи бумагопротяжного механизма самописца Н-37.
Для исключения конвективной составляющей теплового потока приемник
вместе с вращающим устройством помещался в вакуумный объем.
Характерный отклик приемника на синусоидальный поток теплового излучения
с периодом 28 с приведен в табл. 4.14. Полученная зависимость  itf
определяет исследуемый режим и представляет собой правую часть (4.3).
Таблица 4.14
Результаты эксперимента
N it  itf N it  itf N it  itf
1 0,00 0,00 11 5,00 10,20 21 10,0 12,44
2 0,50 0,51 12 5,50 10,93 22 10,5 11,78
3 1,00 0,79 13 6,00 11,58 23 11,0 11,35
4 1,50 2,06 14 6,50 12,23 24 11,5 10,87
5 2,00 3,60 15 7,00 12,75 25 12,0 10,22
6 2,50 4,76 16 7,50 13,14 26 12,5 9,48
7 3,00 5,84 17 8,00 13,30 27 13,0 8,60
8 3,50 6,91 18 8,50 13,33 28 13,5 7,59
9 4,00 8,01 19 9,00 13,19 29 14,0 6,11
10 4,50 9,16 20 9,50 12,89
Теперь для численной реализации интегрального уравнения (4.3) имеем
достаточно полную информацию, т.е. имеем вид ядра (4.4) и значение правой
части (табл. 4.14). Для компьютерного моделирования в качестве численного
метода решения уравнения (4.3) был выбран метод квадратур [21], согласно
которому интеграл заменяется конечной суммой, что приводит к системе
алгебраических уравнений
158
     


i
j
ijjij tftyttkA
1
~
, ...,2,1i ,
где jA − коэффициенты квадратурной формулы,   hhiti ,1 − шаг
дискретизации.
Применение формулы трапеций с постоянным шагом consth  к
уравнению (4.3) позволяет получить рекуррентное соотношение в виде
 
 
 
      
 
 
 
 
    






















.~~
0
2~
,
0
22403
0
0
0~
1
1
i
j
jjij
i
i tyttkA
h
tf
k
ty
k
hhfhff
k
f
y
(4. 6)
Из выражения (4.6) видно, что число выполняемых операций на каждом
шаге непрерывно растет с ростом номера узлов дискретизации и
соответственно растет объем необходимой памяти при компьютерной
реализации.
В данном случае целесообразно воспользоваться модифицированным
алгоритмом численного решения интегрального уравнения (4.3), основанным
на свойстве разделяемости ядра. При этом ядро уравнения (4.3) представляется
следующим образом:
     


m
l
ll ststk
1
, ml ,1 . (4.7)
Если ядро в уравнении (4.5) представим в виде (4.7), то уравнение (4.5) примет
вид
     
 
 
   ,]61520156
510105
464
332[
178,0
765
2
4
3
3
4
2
5
1
6
7
654
2
3
3
2
4
1
5
6
543
2
2
3
1
4
5
432
2
1
3
4321
2
321211
tfeRtRRtRtRtRtRtB
RtRRtRtRtRtB
RtRRtRtRtB
RtRRtRtBRtRRtBRtRBRB
t





(4.8)
где 562,01 B ; 376,02 B ; 102,03 B ; 01198,04 B ; 000657,05 B ;
000016,06 B ; 000000144,07 B ;  


t
ks
k dssyseR
0
1178,0
, 7,1k .
159
Тогда расчетное выражение (4.6) приобретает следующий вид:
   
   
         






















 







.~2~
,
00
0
0~
1
1
1
1
m
l
i
j
jjljil
i
i
m
l
ll
tytAt
h
tf
ty
h
f
y
(4.9)
где        .0
~~
1



m
l
iiilil kttktt
Таким образом, в выражении (4.9) количество вычислительных операций
не зависит от номера узлов дискретизации, поскольку слагаемые    



1
1
i
j
jjlj tytA
зависят только от одной свободной переменной jt . Результаты решения
уравнения (4.8) приведены в таблице 4.15. Необходимо отметить, что методу
квадратур соответствует регуляризирующий алгоритм, в котором параметром
регуляризации является шаг квадратуры.
Таблица 4.15
Результаты решения при различных шагах квадратуры
it  ih ty 5.0  ih ty 1  ih ty 5.1 it  ih ty 5.0  ih ty 1  ih ty 5.1
0,0 2,224 0,392 1,424 7,5 18,837 17,525
0,5 2,189 8,0 17,484 17,343
1,0 1,870 2,973 8,5 16,938
1,5 9,858 4,518 9,0 15,248 15,356 14,946
2,0 9,805 10,426 9,5 13,972
2,5 11,114 10,0 12,141 12,270
3,0 12,694 11,244 11,397 10,5 9,940 10,614
3,5 14,321 11,0 10,672 9,567
4,0 16,078 15,347 11,5 8,187
4,5 17,858 14,991 12,0 6,969 7,385 7,661
5,0 18,498 17,887 12,5 5,198
5,5 18,067 13,0 3,332 3,717
6,0 19,067 17,814 17,126 13,5 1,361 2,578
6,5 19,378 14,0 3,189 1,299
7,0 19,120 18,913
160
На рис. 4.12 представлен восстановленный входной сигнал при
различных значениях шага. Как видим, с увеличением шага повышается
устойчивость получаемого решения, что и свидетельствует о существенном
влиянии шага h на решение уравнения (4.3).
Рис. 4.12. График восстановленного входного сигнала
4.4. Выводы
1. Разработан комплекс программных средств для решения обратных
задач динамики систем. Разработанный пакет состоит из тринадцати основных
модулей, предназначенных непосредственно для решения задач идентификации
и восстановления входного сигнала динамических объектов, семи модулей,
реализующих оконный интерфейс и обеспечивающих диалоговый процесс
решения модельных примеров, а также одиннадцати дополнительных
подпрограмм, вызываемых основными модулями. Разработанные программы
161
могут быть эффективно использованы как автономно, так и совместно с
другими пакетами прикладных программ системы MATLAB.
2. Описана методика использования разработанных программных
средств. Решен ряд тестовых задач с использованием разработанного
комплекса. Алгоритмы, реализующие квадратурный интегральный метод
идентификации показали более высокую точность и помехоустойчивость в
сравнении с классическими алгоритмами.
3. Разработана методика получения и анализа математических моделей
изделия из резистивных материалов, подверженных энергетическому
воздействию в процессе производственного контроля и диагностики.
Теплодинамические модели строятся на основе обработки результатов
эксперимента с импульсным воздействием на образец и фиксированием
реакции в виде переходной характеристики. Модели позволяют обнаруживать
дефектные образцы изделий по виду и форме характеристики.
4. При решении задачи идентификации участков длинных линий
использовались экспериментальные данные о переходном процессе.
Вычислительные эксперименты по построению модели проводились на основе
квадратурных алгоритмов с выравниванием результатов по методу наименьших
квадратов. При этом получены с необходимой точностью математические
модели в виде дробно-рациональных передаточных функций, что обеспечивает
применение модели в процессах управления.
5. На основе алгоритмов решения уравнений Вольтерра I рода решена
задача динамической коррекции динамических искажений измерителя
тепловых потоков. Методу квадратур соответствует алгоритм, в котором
параметр регуляризации равен шагу квадратуры. Показано, что с увеличением
шага повышается устойчивость получаемого решения. Таким образом, шаг
интегрирования выбирается, исходя из условий обеспечения устойчивости и
заданной точности процесса восстановления входного сигнала.
Основные результаты данного раздела представлены в работах автора [83,
177].
162
ЗАКЛЮЧЕНИЕ
Основным результатом диссертационной работы является развитие
методов математического моделирования обратных задач динамики систем на
основе эффективного применения интегральных моделей в виде уравнений
Вольтерра I и II рода, создание численных алгоритмов и программных средств
их численной и компьютерной реализации, в том числе получены следующие
результаты.
1. На основе анализа и систематизации обратных задач динамики,
исследования свойств и особенностей рассматриваемых видов динамических
моделей предложен подход по развитию соответствующих методов
математического моделирования на основе использования и реализации
интегральных моделей в виде уравнений Вольтерра I и II рода, определены их
функциональные возможности при исследовании различных классов задач, а
также сформулированы особенности, влияющие на выбор методов их
численного решения. Путем сравнительного анализа пакетов математического
моделирования, используемых на практике, осуществлен выбор программной
среды MATLAB для разработки средств обеспечения проведения необходимых
вычислительных экспериментов и решения прикладных задач.
2. Предложены способы получения интегральных моделей, которые
являются основой для построения алгоритмов решения обратных задач
динамики для достаточно широкого класса динамических объектов.
Разработаны интегральные методы идентификации динамических объектов,
позволяющих получить устойчивые неоптимизационные алгоритмы
вычисления параметров математических моделей. Предложены рекуррентные
способы параметрической идентификации передаточных функций
динамических объектов при произвольном входном воздействии (полученные
параметры передаточных функций являются также коэффициентами
соответствующих дифференциальных уравнений, что позволяет получать
эквивалентные математические модели в виде интегральных уравнений).
163
Получил дальнейшее развитие метод представления дискретных функций,
полученных экспериментально, в виде решения однородных линейных
разностных уравнений. Исследование алгоритмов, реализующих предложенные
методы идентификации, позволяет сделать вывод об их эффективности в
смысле объема вычислений и простоты реализации, а также высокой точности
расчетов параметров модели.
3. Разработаны квадратурные алгоритмы численной реализации
линейных интегральных моделей в виде уравнений Вольтерра I рода,
обеспечивающие требуемые точность и быстродействие процесса
моделирования при восстановлении входного сигнала использование параметра
регуляризации и последовательное применение операций интегрирования в
задачах восстановления сигналов обеспечивает устойчивость расчетных
алгоритмов. Предложены многошаговые методы восстановления входного
сигнала динамического объекта, которые основаны на использовании формул
типа Адамса, что позволяет повысить точность расчетов. Предложен метод
численного дифференцирования, который сводится к решению уравнения
Вольтерра I рода с повышенной устойчивостью и допускает реализацию в
системе SIMULINK. Разработан частотный способ восстановления входных
сигналов динамических объектов (в рамках задачи решаются задачи
нахождения фазо-частотной характеристики и передаточной функции объекта,
метод позволяет определять входной сигнал на всем интервале частот);
приводится способ оценки результатов восстановления входных сигналов.
4. На основе предложенных алгоритмов впервые разработан комплекс
прикладных программ для моделирования динамических объектов с
реализацией интегральных моделей Вольтерра в среде MATLAB. Применение
интегральных динамических моделей и разработанные алгоритмы и
программные средства позволили эффективно решить ряд прикладных задач, в
том числе задачу получения теплодинамической модели резистивных структур;
задачу идентификации участков длинных линий (RC-объектов); задачу
коррекции динамических искажений измерителя тепловых потоков.
164
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Абдусатаров Б. Б. Интегральные динамические модели непрерывных
систем и их компьютерная реализация : автореф. дис. … д-ра техн. наук :
05.13.16 / Б. Б. Абдусатаров. – Киев, 1991. – 44 с.
2. Андриянов А. В. Способ коррекции выходного сигнала измерительных
приборов / А. В. Андриянов, В. В. Крылов // Измерительная техника. – 1975. –
№ 4. – С. 59–61.
3. Аноприенко А. Я. Универсальные моделирующие среды /
А. Я. Аноприенко, В. А. Святный // Сб. трудов факультета вычислительной
техники и информатики ДонГТУ. – Вып. 1. – Донецк, 1996. – С. 8–23.
4. Ануфриев И. Е. MATLAB 7 / И. Е Ануфриев., А. Б.Смирнов,
Е. Н Смирнова. – СПб. : БХВ-Петербург, 2005. – 1104 с. : ил.
5. Апарцин А. С. К исследованию устойчивости решения
полиномиального уравнения Вольтерра I рода / А. С. Апарцин // Автоматика и
телемеханика. – 2011. – № 6. – С. 95–102.
6. Апарцин А. С. О полилинейных уравнениях Вольтерра I рода /
А. С. Апарцин // Автоматика и телемеханика. – 2004. – № 2. – С. 118–125.
7. Апарцин А. С. О применении различных квадратурных формул для
приближенного решения интегральных уравнений Вольтерра I рода методом
квадратурных сумм / А. С. Апарцин // Дифференциальные и интегральные
уравнения. – Иркутск, 1973. – Вып. 2. – С. 107–116.
8. Апарцин А. С. О существовании и единственности решении
полилинейных уравнений Вольтерра I рода. / А. С. Апарцин // Обратные и
некорректные задачи прикладной математики. – Иркутск : ИСЭМ СО РАН,
2005. – Том. 3 – С. 18–23.
9. Апарцин А. С. Об оптимизации амплитуд тестовых сигналов при
идентификации ядер Вольтерра / А. С. Апарцин, С. В. Солодуша // Автоматика
и телемеханика. – 2004. – № 3. – С. 116–124.
10. Апарцин А. С. Полилинейные интегральные уравнения Вольтерра
первого рода: элементы теории и численные методы / А. С. Апарцин // Известия
ИГУ, серия математика. – 2007. – № 1. – С. 13–42.
11. Апарцин А. С. Приближенное решение интегральных уравнений
Вольтерра I рода методом квадратурных сумм / А. С. Апарцин,
А. В. Бакушинский // Дифференциальные и интегральные уравнения. –
165
Иркутск, 1972. – Вып. 1. – С. 248–258.
12. Апарцин А. С. Численное решение интегральных уравнений 1 рода
типа Вольтерра / А. С. Апарцин. – Иркутск, 1981. – 26 с.
13. Аранов П. М. Метод оптимального линейного оценивания для
определения динамических характеристик средств измерения / П. М. Аранов,
Е. А. Ляшенко, Л. Б. Ряшко // Измерительная техника. – 1991. – № 11. – С. 10–
13.
14. Аржанов В. А. Применение ортогональных полиномов для
аппроксимации передаточных функций полосовых линий задержки /
В. А. Аржанов // Омский научный вестник. – 2010. – № 3 (93). – С. 283–286.
15. Бакушинский А. Б. Некоторые нестандартные регуляризирующие
алгоритмы и их численная реализация / А. Б. Бакушинский, В. С. Сизиков //
Журнал вычислительной математики и математической физики. – 1982. – Т. 22.
– № 3. – С. 532–539.
16. Бакушинский А. Б. Некорректные задачи. Численные методы и
приложения / А. Б. Бакушинский, А. В. Гончарский. – М. : Изд-во МГУ, 1989. –
199 с.
17. Бахвалов Н. С. Численные методы: учеб. пособие для студ. вузов / Н.
С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. – М. : Наука, 1987. – 600 с.
18. Бекмуратов Т. Ф. Идентификация химико-технологических объектов /
Т. Ф. Бекмуратов и др. – Ташкент : Фан, 1970. – 184 с.
19. Бекмуратов Т. Ф. Математические модели и алгоритмы управления в
производстве минеральных удобрений / Т. Ф. Бекмуратов, Б. А. Захидов,
С. С. Касымов. – Ташкент : Фан, 1984. – 129 с.
20. Бизяев М. Н. Динамические модели и алгоритмы восстановления
динамически искаженных сигналов измерительных систем в скользящем
режиме : дис. … канд. техн. наук : спец. 05.13.01 «Системный анализ,
управление и обработка информации (по отраслям)» / М. Н. Бизяев. –
Челябинск, 2004. – 179 с.
21. Васильєв В. В. Аналіз та математичне моделювання динамічних
систем на базі некласичних операційних числень / В. В. Васильєв, Л. О. Сімак,
О. А. Зеленков та ін. ; під ред. чл.-кор. НАН України В. В. Васильєва. – К. :
НАН України, 2006. – 184 с.
22. Васильев В. В. Моделирование динамических систем: Аспекты
166
мониторинга и обработки сигналов / В. В. Васильев, Г. И. Грездов, Л. А. Симак
и др. – К. : НАН Украины, 2002. – 344 с.
23. Васильев Ф. П. Численные методы решения экстремальных задач /
Ф. П. Васильев. – М. : Наука, 1980. – 520 с.
24. Ватульян А. О. Математические модели и обратные задачи /
А. О. Ватульян // Соросовский образовательный журнал. – № 11. – Ростов-на-
Дону : Ростовский государственный университет, 1998. – С. 143–148.
25. Вержбицкий В. М. Численные методы (математический анализ и
обыкновенные дифференциальные уравнения) : учеб. пособие для вузов /
В. М. Вержбицкий. – 2-е изд., испр. – М. : ОНИКС 21 век, 2005. – 400 с.
26. Верлань А. Ф. Интегральные уравнения: методы, алгоритмы,
программы / А. Ф. Верлань, B. C. Сизиков. – К. : Наукова думка, 1986. – 544 с.
27. Верлань А. Ф. Квадратурные алгоритмы моделирования
измерительных преобразователей с распределенными параметрами /
А. Ф. Верлань, М. В. Сагатов, А. А. Сытник // Зб. наук. праць ІПМЕ ім. Г. Є.
Пухова НАН України. – 2000. – № 6. – С. 131–136.
28. Верлань А. Ф. Компьютерное моделирование флаттера вязкоупругих
пластин в сверхзвуковом потоке газа / А. Ф. Верлань, И. О. Горошко,
Б. А. Худаяров // Математичне та комп’ютерне моделювання. Серія: Технічні
науки: зб. наук. пр. – Кам’янець-Подільський: Кам'янець-Подільськ. нац. ун-т,
2009. – Вип. 2. – С. 15–23.
29. Верлань А. Ф. Математическое моделирование непрерывных
динамических систем / А. Ф. Верлань, С. С. Москалюк. – К. : Наукова думка,
1988. – 287 с.
30. Верлань А. Ф. Метод решения задачи параметрической
идентификации процессов фильтрации аномальных жидкостей в пористых
средах / А. Ф. Верлань, С. А. Положаенко // Збірник наукових праць Інституту
проблем моделювання в енергетиці ім. Г.Є. Пухова НАН України. – К. : ІПМЕ
ім. Г.Є. Пухова НАН України, 2011. – Вип. 58. – С. 67–72.
31. Верлань А. Ф. Методы математического и компьютерного
моделирования измерительных преобразователей и систем на основе
интегральных уравнений : монография / А. Ф. Верлань, М. В. Сагатов,
А. А. Сытник. – Ташкент : Фан, 2011. – 336 с.
32. Верлань А. Ф. Электронное моделирование передаточных
167
функций /А. Ф. Верлань, А. Ф. Евдокимов. – К. : Техніка, 1980. – 232 с.
33. Волков Е. А. Численные методы / Е. А. Волков. – М. : Наука, 1987. –
248 с.
34. Воронова О. С. Программные библиотеки математического
моделирования динамических систем в системе Mathematica / Воронова О. С.,
Кирьева Е. А., Рыбникова А. М. // Електроніка та системи управління. – 2005. –
№ 4. – С. 143–147.
35. Габдулхаев Б. Г. Оптимизация квадратурных методов решения
интегральных уравнений / Б. Г. Габдулхаев // Доклады АН СССР. – 1983. –
Т. 271. – № 1. – С. 20–25.
36. Гальченко В. Я. Компьютерный анализ конфигурации магнитных
полей поверхностных дефектов сплошности конечных размеров в
ферромагнитной пластине ограниченной протяженности методом
пространственных интегральных уравнений / В. Я. Гальченко,
Д. Л. Остапущенко, М. А. Воробьев // Дефектоскопия. – 2009. – № 3. – С. 56–66.
37. Гальченко В. Я. Решение обратной задачи создания однородного
магнитного поля в коэрцитиметрах с частично замкнутой магнитной системой /
В. Я. Гальченко, А. Н. Якимов, Д. Л. Остапущенко // Дефектоскопия. – 2011. –
№ 5. – С. 3–18.
38. Гальченко В. Я. Численный анализ пространственной конфигурации
магнитных полей объектов сложной геометрической формы с учетом
нелинейных характеристик веществ / В. Я. Гальченко, Д. Л. Остапущенко //
Информационные технологии. – 2008. – № 8. – С. 43–49.
39. Гантмахер Ф. Р. Теория матриц / Ф. Р. Гантмахер. – М. : Физматлит,
2004. – 560 с.
40. Гилл Ф. Практическая оптимизация: Пер. с англ. / Ф. Гилл,
У. Мюррей, М. Райт. – М. : Мир, 1985. – 509 с.
41. Глушков В. М. Аналитическое исследование одного класса
динамических моделей / Глушков В. М., Иванов В. В., Яценко Ю. П. //
Кибернетика. – 1980. – № 2. – С. 1–12.
42. Голубенцев А. Н. Интегральные методы в динамике /
А. Н. Голубенцев. – К. : Техніка, 1967. – 277 с.
43. Гольдштейн Е. И. Дискретное преобразование Фурье по коротким
выборкам при наличии шумов / Е. И. Гольдштейн, Д. В. Ли // Измерительная
168
техника. – 2004. – № 4. – С. 11–14.
44. Гончаров В. Л. Теория интерполирования и приближения функций /
В. Л. Гончаров. – М. : Гостехиздат, 1954. – 316 с.
45. Горошко И. О. Формирование непараметрических интегральных
динамических моделей датчиков в системах измерения испытательного
оборудования / И. О. Горошко, С. Ю. Протасов, А. А. Сытник // Математичне
та комп’ютерне моделювання. Серія: Технічні науки: зб. наук. праць / [редкол.:
Ю. Г. Кривонос (відп.ред.) та ін.]. – Кам’янець-Подільський : Кам’янець-
Подільський національний університет імені Івана Огієнка, 2012. – Вип.6. –
С. 49–57.
46. Грановский В. А. Динамические измерения / В. А. Грановский. – Л. :
Энергоатомиздат, 1984. – 224 с.
47. Гроп Д. Методы идентификации систем / Д. Гроп. – М. : Мир, 1979. –
302 с.
48. Гулинский О. В. О численном решении некоторых некорректных
задач теории управления / О. В. Гулинский // Автоматика и телемеханика. –
1976. – № 8. – С. 66–80.
49. Гусев В. Г. Электроника / В. Г. Гусев, Ю. М. Гусев. – М. : Высшая
школа, 1991. – 622 с.
50. Дейч А. М. Методы идентификации динамических объектов /
А. М. Дейч. – М. : Энергия, 1979. – 240 с.
51. Денисенко А. Н. Компьютерная обработка информации : монография /
А. Н. Денисенко. – М. : Медпрактика-М, 2010. – 252 с.
52. Денисов А. М. Введение в теорию обратных задач / А. М. Денисов. –
М. : Изд-во МГУ, 1994. – 207 с.
53. Денисов А. М. О приближенном решении уравнения Вольтерра I
рода / А. М. Денисов // Журнал вычислительной математики и математической
физики. – 1975. – Т. 15. – № 4. – С. 1053–1056.
54. Дехтяренко П. И. Определение характеристик звеньев систем
автоматического регулирования / П. И. Дехтяренко, В. П. Коваленко. – М. :
Энергия, 1973. – 120 с.
55. Довгий С. А. Методы решения интегральных уравнений. Теория и
приложения / С. А. Довгий, И. К. Лифанов. – К. : Наукова думка, 2002. – 342 с.
56. Долгин В. П. Метод построения рекуррентного алгоритма численной
169
имитации непрерывного динамического объекта / В. П. Долгин // Электронное
моделирование. – 2001. – Т. 23. – № 11. – С. 14–30.
57. Дорф Р. Современные системы управления / Р. Дорф, Р. Бишоп ; пер. с
англ. Б. И. Копылова. – М. : Лаборатория базовых знаний, 2002. – 832 с.
58. Дьяконов В. Математические пакеты расширения MATLAB.
Специальный справочник / В. Дьяконов, В. Круглов. – СПб. : Питер, 2001. –
480 с.
59. Дьяконов В. П. Mapple 7.0: Учебный курс / В. П. Дьяконов. – СПб. :
Питер, 2002. – 652 с.
60. Дьяконов В. П. Matlab 6.0: Учебный курс / В. П. Дьяконов. – СПб. :
Питер, 2001. – 592 с.
61. Дьяконов В. П. MATLAB. Анализ, идентификация и моделирование
систем. Специальный справочник / В. П. Дьяконов, В. В. Круглов. – СПб. :
Питер, 1999. – 448 с.
62. Жуков С. Ф. Применение метода площадей для идентификации
параметров комплекса весового дозирования шахтовых материалов /
С. Ф. Жуков, А. И. Важинский // Наукові праці Донецького національного
технічного університету. Серія «Електротехніка і енергетика». – Донецьк :
ДонНТУ, 2013. – № 2 (15). – С. 103–106.
63. Задирака В. К. Вопросы оптимизации вычислений (численное
интегрирование и дифференцирование) / В. К. Задирака, В. В. Иванов. – К. :
Общество «Знание» УССР, 1979. – 44 с.
64. Задирака В. К. О реализации на ЭВМ эффективных алгоритмов
вычисления дискретной свертки / В. К. Задирака, Э. А. Мелехина //
Кибернетика и системный анализ. – К., 1994. – №1. – 129–139.
65. Задирака В. К. Теория вычисления преобразования Фурье /
В. К. Задирака. – К. : Наукова думка, 1983. – 213 с.
66. Засядько А. А. Многокритериальная модель процесса восстановления
сигналов / А. А. Засядько // Электронное моделирование. – 2004. – Т. 26, № 4. –
С. 13–21.
67. Засядько А. А. Розв’язання задачі відновлення сигналів за допомогою
однокритеріальної оптимізації / А. А. Засядько // Вісник Житомирського
інженерно-технологічного інституту. Технічні науки. – 2002. – № 4. – С. 133–
136:
170
68. Засядько А. А. Сравнение методов Тихонова и многокритериальной
оптимизации при решении задачи восстановления сигналов / А. А. Засядько //
Проблемы управления и информатики. – 2003. – № 5. – С. 60–67.
69. Иванов В. В. Методы вычислений на ЭВМ. Справочное пособие /
В. В. Иванов. – К. : Наукова думка, 1986. – 584 с.
70. Иванюк В. А. Способ построения динамической модели линейного
объекта по реакции на входное воздействие произвольной формы / В. А.
Иванюк, Н. Л. Костьян // Электронное моделирование : журнал. – 2014. –
Т. 36. – № 3. – С. 113–121.
71. Иванюк В. А. Способы формирования передаточных функций
приемника теплового потока / В. А. Иванюк, Н. Л. Костьян, А. И. Махович //
Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук.
праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т
ім. І. Огієнка, 2013. – Вип. 8. – С. 61–69.
72. Идентификация и диагностика в информационно-управляющих
системах авиакосмической энергетики / Б. В. Боев, В. В. Бугровский,
М. П. Вершинин и др. – М. : Наука, 1988. – 168 с.
73. Иориш Ю. И. Виброметрия. Измерение вибрации и ударов. Общая
теория, методы и приборы / Ю. И. Иориш. – М. : Машгиз, 1963. –178 с.
74. Калиткин Н. Н. Численные методы: учебное пособие /
Н. Н. Калиткин. – 2-е изд.. – СПб. : БХВ-Петербург, 2011. – 592 с.
75. Карташов В. Я. Структурно-параметрическая идентификация
дискретных моделей объектов с запаздыванием для настройки регуляторов
Смита / В. Я. Карташов, Д. Ю. Сахнин // Известия Томского политехнического
института. – 2007. – Т. 311. – № 5. – С. 19–23.
76. Кваско М. З. Числові методи комп’ютерного моделювання
автоматичних систем. Алгоритми і програми / М. З. Кваско, А. І. Кубрак, А. І.
Жученко. – К. : Політехніка, 2003. – 360 с.
77. Ким Д. П. Теория автоматического управления / Д. П. Ким. – М. :
Физматлит, 2004. – Т.2. Многомерные, нелинейные, оптимальные и адаптивные
системы: Учеб. пособие. – 464 с.
78. Кондратьев В. А. О представлении электромагнитных сил при
структурном моделировании динамических свойств электромагнитных
механизмов / В. А. Кондратьев, Н. Г. Власова // Сборник научных трудов
171
НГТУ. – Новосибирск : НГТУ, 2009. – № 4 (58). – С 59–64.
79. Конет І. М. Стаціонарні та нестаціонарні задачі теплопровідності для
багатошарових ортотропних клиновидних циліндрично–кругових областей :
монографія / І. М. Конет, М. П. Ленюк – Чернівці : Рута, 2000. – 136 с.
80. Корн Г. Справочник по математике для научных работников и
инженеров / Г. Корн, Т. Корн. – М. : Наука, 1970. – 720 с.
81. Костьян Н. Л. Алгоритм идентификации динамических моделей с
запаздыванием / Н. Л. Костьян, С. Ю. Протасов // Математичне та комп’ютерне
моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський :
Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2015. – Вип. 12. – С. 65-77.
82. Костьян Н. Л. Интерполяционные алгоритмы компьютерной
идентификации передаточных функций динамических систем / Н. Л. Костьян //
Обробка сигналів і негаусівських процесів : матеріали V Міжнародної науково-
практичної конференції, 20–22 травня 2015 р. – Черкаси : Черкаський
державний технологічний університет, 2015. – С. 41–43.
83. Костьян Н. Л. Исследование интерполяционных алгоритмов
компьютерной идентификации динамических моделей по экспериментальным
данным / Н. Л. Костьян // Технологический аудит и резервы производства. –
2015. – № 2/5 (22). – С. 22–26.
84. Костьян Н. Л. Метод аналитического представления
экспериментальных зависимостей / Н. Л. Костьян, О. А. Наконечная //
Электронное моделирование : журнал. – 2013. – Т. 35. – № 6. – С. 27–35.
85. Костьян Н. Л. Метод идентификации интегральных моделей
линейных динамических объектов / Н. Л. Костьян // Вісник ЧДТУ. Серія: Техн.
науки : зб. наук. праць. – Черкаси : ЧДТУ, 2013. – № 2. – С. 84–89.
86. Костьян Н. Л. Метод многократного интегрирования для
исследования систем при произвольном воздействии / Н. Л. Костьян // Вісник
ЧДТУ. Серія: Техн. науки : зб. наук. праць. – Черкаси : ЧДТУ, 2014. – № 3. –
С. 32–38.
87. Костьян Н. Л. Об одном методе аналитического представления
экспериментальных зависимостей / Н. Л. Костьян // Сучасні проблеми
математичного моделювання, прогнозування та оптимізації : тези доповідей
VІ Міжнародної наукової конференції, 4–5 квітня 2014 р. – Кам’янець-
Подільський : Кам’янець-Подільський національний університет імені Івана
172
Огієнка, 2014. – С. 88–89.
88. Костьян Н. Л. Об одном способе восстановления сигнала на входе
линейного динамического объекта / Н. Л. Костьян // Актуальні проблеми
технічних та соціально-гуманітарних наук у забезпеченні діяльності служби
цивільного захисту : матеріали Міжнародної науково-практичної конференції,
4–5 квітня 2013 року, м. Черкаси. – Частина І. – Черкаси : АПБ ім. Героїв
Чорнобиля, 2013. – С. 376–394.
89. Костьян Н. Л. Основные формы и особенности явных интегральных
динамических моделей / Н. Л. Костьян // Математичне та комп’ютерне
моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський :
Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2014. – Вип. 10. – С. 89–100.
90. Костьян Н. Л. Применение метода многократного интегрирования для
исследования систем при произвольном воздействии / Н. Л. Костьян //
Інформаційні та моделюючі технології ІМТ 2014 : матеріали Всеукраїнської
науково-практичної конференції, Черкаси, 29–31 травня 2014 р. – Черкаси :
ЧНУ імені Богдана Хмельницького, 2014. – С. 66.
91. Костьян Н. Л. Применение многошаговых методов для решения задач
восстановления сигналов на входе динамических объектов / Н. Л. Костьян //
Інформаційні та моделюючі технології ІМТ 2015 : матеріали Всеукраїнської
науково-практичної конференції, Черкаси, 28–30 травня 2015 р. / Черкаси :
ЧНУ імені Богдана Хмельницького, 2015. – С. 41.
92. Костьян Н. Л. Решение задачи идентификации интегральных моделей
линейных динамических объектов / Н. Л. Костьян // Інформаційні та
моделюючі технології ІМТ-2013 : матеріали Всеукраїнської науково-практичної
конференції. – Черкаси : ЧНУ імені Богдана Хмельницького, 2013. – С. 17–18.
93. Костьян Н. Л. Частотный способ восстановления сигнала на входе
линейного динамического объекта / Н. Л. Костьян, Б. С. Аскарходжаев,
В. В. Понедилок // Математичне та комп’ютерне моделювання. Серія: Техн.
науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац.
ун-т ім. І. Огієнка, 2012. – Вип. 7. – С. 88–94.
94. Краснопрошина А. А. Современный анализ систем управления с
применением MATLAB, Simulink, Control System : уч. пособие /
Краснопрошина А. А., Репникова Н. Б., Ильченко А. А. – К. : Корнийчук,
1999. – 144 с.
173
95. Красовский А. А. Интегральные оценки и критерии качества
регулирования / А. А. Красовский // Теория автоматического регулирования. –
Т. 1. – М. : Машиностроение, 1967.
96. Краус М. Измерительные информационные системы / М. Краус,
Э. Вошни. – М. : Мир, 1975. – 310 с.
97. Крутько П. Д. Алгоритмические процедуры решения обратных задач
динамики управляемых систем / П. Д. Крутько // Техническая кибернетика. –
1985. – № 6. – С. 121–130.
98. Крылов В. И. Вычислительные методы : в 2-х т. / Крылов В. И.,
Бобков В. В., Монастырный П. И. – Т. 2. – М. : Наука, 1977. – 400 с.
99. Кубрак А. І. Комп'ютерне моделювання та ідентифікація
автоматичних систем : навч. посіб. / А. І. Кубрак, А. І. Жученко, М. З. Кваско /
Нац. техн. ун-т України «Київ. політехн. ін-т». – К. : Політехніка, 2004. – 424 с.
100. Лаврентьев М. М. Некорректные задачи математической физики и
анализа / М. М. Лаврентьев, В. Г. Романов, С. И. Шишатский. – М. : Наука,
1980. – 285 с.
101. Лазарев Ю. Ф. Matlab 5.x / Ю. Ф. Лазарев. – К. : BHV, 2000. – 384 с.
102. Леонов В. В. Об определении погрешностей коэффициентов
передаточной функции линейной системы / В. В. Леонов // Радиотехника. –
Т. 30. – 1975. – № 4. – С. 90–92.
103. Магницкий Н. А. Об одном методе регуляризации уравнений
Вольтерра I рода / Н. А. Магницкий // Журнал вычислительной математики и
математической физики. – 1975. – Т. 15. – № 5. – С. 1317–1323.
104. Максимович Н. А. Численное моделирование динамического объекта
на основе операций свертки / Н. А. Максимович // Электронное
моделирование. – 2004. – Т. 26. – № 4. – С. 117–123.
105. Манжиров А. В., Полянин А. Д. Справочник по интегральным
уравнениям : Методы решения. – М. : Факториал Пресс, 2000. – 384 с.
106. Меньшиков Ю. Л. Идентификация моделей внешних воздействий :
монография / Ю. Л. Меньшиков, Н. В. Поляков. – Д. : Наука и образование,
2009. – 188 c.
107. Меньшиков Ю. Л. Метод обеспечения адекватности динамических
моделей / Ю. Л. Меньшиков // Электронное моделирование. – 2014. – Т. 36,
№ 3. – С. 31–40.
174
108. Меньшиков Ю. Л. Обратная задача течения жидкости со свободной
поверхностью / Ю. Л. Меньшиков, И. Е. Платонова // Вестник Херсонского
государственного техн. ун-та. – 2003. – № 3(19). – С. 293–296.
109. Методы алгоритмизации непрерывных производственных
процессов / [Иванов В. В., Березовский А. И., Задирака В. К., Здоренко Л. Д.,
Лепеха Н. П.]. – М. : Наука, 1975. – 400 с.
110. Методы и алгоритмы восстановления сигналов и изображений /
А. Ф. Верлань, И. О. Горошко, Е. Ю. Карпенко и др. / Нац. акад. наук Украины,
Ин-т проблем моделирования в энергетике им. Г. Е. Пухова. – К. : ИПМЭ,
2011. – 368 с. : ил.
111. Методы и устройства интерпретации экспериментальных
зависимостей при исследовании и контроле энергетических процессов / А. Ф.
Верлань, Б. Б. Абдусаров, А. А. Игнатченко, Н. А. Максимович. – К. : Наук.
думка, 1993. – 208 с.
112. Методы классической и современной теории автоматического
управления : в 5 томах. Том 1. Математические модели, динамические
характеристики и анализ систем автоматического управления / Пупков К. А.,
Егупов Н. Д., Баркин А. И. и др. – М. : МГТУ им. Н. Э. Баумана, 2004. – 656 с.
113. Методы решения и приложения интегральных уравнений :
библиографический указатель / сост. А. Ф. Верлань, А. П. Голуб, В. С. Сизиков.
– К. : Изд. Ин-та проблем моделирования в энергетике, 1985. – 61 с.
114. Метьюз Джон Г. Численные методы. Использование Matlab / Джон
Г. Метьюз, Куртис Д. Финк. –М. : Вильямс, 2001. –720 с. : ил.
115. Мирошник И. В. Теория автоматического управления. Линейные
системы / И. В. Мирошник. – СПб. : Питер, 2005. – 336 с.
116. Моделирование динамических систем: Аспекты мониторинга и
обработки сигналов / В. В. Васильев, Г. И. Грездов, Л. А. Симак и др. – К. :
НАН Украины, 2002. – 344 с.
117. Мокін Б. І. Математичні методи ідентифікації електромеханічних
процесів. Навчальний посібник / Б. І. Мокін, В. Б. Мокін, О. Б. Мокін. –
Вінниця : УНІВЕРСУМ–Вінниця, 2005. – 300 с.
118. Мороз В. І. Ефективні рекурентні формули для комп'ютерного
моделювання електромеханічних систем / В. І. Мороз // Вісник Національного
університету "Львівська політехніка", "Електроенергетичні та електромеханічні
175
системи". – 2007. – № 597. – С. 3–11.
119. Мороз В. І. Інтегральні рівняння в моделюванні керованих
електромеханічних систем / В. І. Мороз // Електротехніка і електромеханіка. –
2007. – № 3. – С. 39–43.
120. Мороз В. І. Числово-аналітичний метод розрахунку
електромеханічних систем / В. І. Мороз, Б. М. Харчишин // Електротехніка і
електромеханіка. – 2008. – № 2. – С. 45–47.
121. Надежность современных и перспективных турбогенераторов / ред.
Г. Г. Счастливый. – К. : Наук. думка, 1978. – 203 с.
122. Неймарк Ю. И. Динамические системы и управляемые процессы /
Ю. И. Неймарк. – М. : Либроком, 2010. – 336 с.
123. Немцова О. М. Методы решения обратных задач, выраженных
интегральными уравнениями Фредгольма первого рода / О. М. Немцова //
Вестник Удмуртского университета. Физика. – 2005. – № 4. – С. 23–34.
124. Одокиенко С. Н. Особенности методов решения интегральных
уравнений Вольтерра І рода / С. Н. Одокиенко // Математичне та комп’ютерне
моделювання. Серія: Технічні науки. – 2008. – Вип. 1. – С. 130–139.
125. Одокиенко С. Н. Особенности применения интегральных моделей
для решения обратных задач динамики / С. Н. Одокиенко, Н. Л. Костьян //
Proceedings Of The Ninth International Scientific-Practical Conference INTERNET-
EDUCATION-SCIENCE IES-2014, 14–17 October, 2014, Vinnytsia, Ukraine. –
С. 138–140.
126. Павленко В. Д. Идентификация нелинейных динамических систем в
виде ядер Вольтерры на основе данных измерений импульсных откликов /
В. Д. Павленко, С. В. Павленко // Электронное моделирование. – 2010. – Т.32,
№ 3. – С. 3–18.
127. Павленко В. Д. Информационная технология косвенного контроля и
диагностики динамических объектов на основе моделей Вольтерра /
В. Д. Павленко // Труды Одесского политехн. ун-та. – 2008. – Вып. 2 (30). –
С. 194–199.
128. Павленко В. Д. Метод диагностики непрерывных систем на основе
моделей в виде ядер Вольтерра / В. Д. Павленко, А. А. Фомин, С. В. Павленко,
В. М. Ильин // Моделювання та керування станом еколого-економічних систем
регіону : Збірник праць. – К. : МННЦІТІС, 2008. – Вип. 4. – С. 180–191.
176
129. Павленко В. Д. Построение диагностической модели вентильно–
реактивного двигателя на основе ядер Вольтерра / В. Д. Павленко,
В. В. Череватый, З. П. Процына // Электромашиностроение и
электрооборудование. – К. : Техніка, 2009. – № 74. – С. 31–34.
130. Павленко В. Д. Эффективность методов извлечения диагностической
информации из данных идентификации объектов контроля в виде ядер
Вольтерра / В. Д. Павленко, С. В. Павленко, В. М. Ильин // Електротехнічні та
комп’ютерні системи. – 2011. – Вип. 4(80). – С. 154–161.
131. Павленко С. В. Оптимизация вычислительных алгоритмов
аппроксимационного метода идентификации нелинейных систем в виде
моделей Вольтерра / С. В. Павленко, С. А. Положаенко // Інформатика та
математичні методи в моделюванні. – 2013. – Т. 3. – № 2. – С. 103–112.
132. Певзнер Л. Д. Теория систем управления / Л. Д. Певзнер. – М. : Изд-
во Московского государственного горного университета, 2002. – 472 с.
133. Половко А. М. Интерполяция. Методы и компьютерные технологии
их реализации [Текст] : монография / А. М. Половко, П. Н. Бутусов. – СПб. :
БХВ-Петербург, 2004. – 320 с.
134. Поломарь Е. Л. Исследование информативности переходных
тепловых характеристик резисторов / Е. Л. Поломарь, Е. В. Савчук ; под ред.
В. П. Бакалинского // Контроль и диагностика резисторов как средство
обеспечения их качества. – К. : Знание, 1976. – С. 15–17.
135. Поль В. Номенклатуры показателей качества программных средств
общематематического назначения / Поль В., Керге А., Керге Р. – Таллин :
Валгус, 1989. – 173 с.
136. Пухов Г. Е. Преобразования Тейлора и их применения в
электротехнике и электронике / Г. Е. Пухов. – К. : Наук. думка, 1978. – 259 с.
137. Пыркин А. А. Методы адаптивного и робастного управления в
условиях запаздывания и возмущающих воздействий: Дис. …канд. техн. наук:
05.13.01. – Санкт-Петербург, 2010. – 151 с.
138. Савелова Т. И. Об оптимальной регуляризации уравнений типа
свертки с приближенными правыми частями и ядром / Т. И. Савелова // Журнал
вычислительной математики и математической физики. – 1978. – № 1. – С. 218–
222.
139. Сергеев В. И. Регуляризация уравнений Вольтерра I рода / В. И.
177
Сергеев // Докл. АН СССР. – 1971. – Т. 197. – № 3. – С. 531–534.
140. Сердюк Г. Б. О применении методов идентификации для
диагностирования непроволочных резисторов по переходным тепловым
характеристикам / Г. Б. Сердюк, Е. В. Савчук // Электронная техника. – 1979. –
Сер. 8. – Вып. 1 (71). – С. 11–23.
141. Серегина Н. И. Простой регуляризирующий метод компенсации
влияния аппаратной функции на результат измерения / Н. И. Серегина,
Г. Н. Солопченко // Техническая кибернетика. – 1984. – № 2. – С. 166–172.
142. Сивохин А. В. Решение задач оптимального управления с
использованием математической системы MATLAB и пакета имитационного
моделирования SIMULINK. Лабораторный практикум по основам теории
управления / А. В. Сивохин, Б. К. Мещеряков. – Пенза : ПНГУ, 2006. – 120 с.
143. Сидоров Д. Н. Методы анализа интегральных динамических
моделей: теория и приложения : монография / Д. Н. Сидоров. – Иркутск : Изд-
во ИГУ, 2013. – 293 с.
144. Сизиков В.С. Обратные прикладные задачи и Matlab : Учебное
пособие / В.С. Сизиков. – СПб. : Лань, 2011. – 256 с.
145. Сизиков В. С. Устойчивые методы обработки результатов
измерений. Учебное пособие / В. С. Сизиков. – СПб. : СпецЛит, 1999. – 240 с.
146. Симонов М. М. Метод оптимизации регуляризующих алгоритмов
динамической коррекции / М. М. Симонов, А. И. Бутко // Измерительная
техника. – 1990. – № 2. – С. 13–15.
147. Симонов М. М. Цифровой алгоритм восстановления входного
сигнала / М. М. Симонов, Е. А. Васильев // Измерительная техника. – 1979. –
№ 5. – С. 29–32.
148. Скляр Б. Цифровая связь. Теоретические основы и практическое
применение : пер. с англ. / Б. Скляр. – М. : Вильямс, 2003. – 1104 с.
149. Солодовников В. В. Основы теории и элементы систем
автоматического регулирования / В. В. Солодовников, В. Н. Плотников, А. В.
Яковлев. – М. : Машиностроение, 1985. – 536 с.
150. Солопченко Г. Н. Компенсация динамических погрешностей при
неполных сведениях о свойствах приборов и измеряемых сигналов /
Г. Н. Солопченко, И. Б. Челпанов // Метрология. – 1979. – № 6. – С. 3–13.
151. Солопченко Г. Н. Обратные задачи в измерительных процедурах /
178
Г. Н. Солопченко // Измерения, контроль, автоматизация. – 1983. – № 2. –
С. 32–46.
152. Старков В. Н. Операторное уравнение первого рода в проблеме
реконструкции статистики числа фотонов квантового света / В. Н. Старков,
А. А. Семенов, Е. В. Гомонай // Электронное моделирование. – 2014. – Т. 36,
№ 3. – С. 81–94.
153. Старков В. Н. Операционное исчисление и его применения. Учебн.
пособ. / В. Н. Старков. – СПб., 2000. – 65 с.
154. Степаньянц Г. А. Теория динамических систем / Г. А. Степаньянц. –
М. : Либроком, 2010. – 312 с.
155. Тент Мен Ян. Линейные многошаговые методы для численного
решения Вольтерра I рода / Тент Мен Ян // Методы оптимизации и
исследование операций. – Иркутск : СЭМ СО АН СССР, 1984. – С. 254–257.
156. Тент Мен Ян. Метод типа Адамса-Башфорта для устойчивого
решения интегральных уравнений Вольтерра I рода / Тент Мен Ян // Труды
Всесоюзной школы-семинара по некорректно поставленным задачам. –
Саратов, 1985. – С. 138–139.
157. Тент Мен Ян. Числовое решение интегральных уравнений Вольтерра
I рода с ядром, равным нулю на диагонали / Тент Мен Ян. – Иркутск, 1981. –
15 с..
158. Тихонов А. Н. Методы решения некорректных задач / А. Н. Тихонов,
В. Я. Арсенин. – М. : Наука, 1986. – 288 с.
159. Тихонов А. Н. О математических методах автоматизации обработки
наблюдений / А. Н. Тихонов // Проблемы вычислительной математики. – Μ. :
Изд-во МГУ, 1980. – С. 3–17.
160. Трунов О. М. Адекватність моделі як задача багатокритеріальної
ідентифікації / О. М. Трунов // Авиац.-косм. техника и технология. – 2007. – №
3. – С. 178–182
161. Турчак Л. И. Основы численных методов / Л. И. Турчак. – М. :
Наука, 1987. – 320 с.
162. Форсайт Дж. Машинные методы математических вычислений /
Форсайт Дж., Малькольм М., Моулер К. – М. : Мир, 1980. – 280 с.
163. Харитонова Е. В. Численный анализ обратной задачи теории
измерений / Е. В. Харитонова // Вестник Южно-Уральского государственного
179
университета. Серия «Математика, физика, химия». – 2005. – № 2. – Вып. 5. –
С. 42–48.
164. Хеминг Р. В. Численные методы / Р. В. Хеминг. – М. : Наука, 1972. –
400 с.
165. Цюнь Гэ. Интерполяция установившихся и переходных
электрических величин в ЭЭС / Гэ Цюнь, Я. Л. Арцишевский // Журнал
научных публикаций аспирантов и докторантов. – 2008. – № 10. – С. 267–275.
166. Численные методы решения некорректных задач / А. Н. Тихонов,
А. В. Гончарский, В. В. Степанов, А. Г. Ягола. – М. : Наука, 1990. – 230 с.
167. Шестаков А. Л. Оценка достоверности результатов динамических
измерений / А. Л. Шестаков // Информационные устройства и системы
управления : тем. сб. науч. тр. – Челябинск : ЧГТУ, 1994. – С. 63–68.
168. Шестаков А. Л. Синтез оптимального по среднеквадратической
погрешности корректирующего устройства измерительного преобразователя /
А. Л. Шестаков // Метрология. – 1989. – № 8. – С. 3–8.
169. Шидловская Н. А. Сравнительный анализ использования
алгебраических и гиперболических полиномов при исследовании переходных
процессов в выходных цепях разрядно-импульсных систем / Н. А. Шидловская,
С. Н. Захарченко // Электротехника и электромеханика. – Харьков : НТУ, 2012.
– № 6. – С. 34–36.
170. Эйкхофф П. Современные методы идентификации систем /
П. Эйкхофф. – М. : Мир, 1983. – 400 с.
171. Aburdene Maurice F. Computer Simulation of Dynamic Systems /
Maurice F. Aburdene. – Dubuque, Iowa :William C Brown Pub, 1988. – 368 p.
172. An integrated structure for Kalman-filter-based measurand
reconstruction / A. Barwicz, D. Massicotte, Y. Savire, M.-A. Santerre, Z. Morawski //
IEEE Transaction on Instrumentation and Measurement. – 1994. – Vol. 43. – № 3. –
Р. 403–409.
173. Andrade C. Convergence of linear multistep method for Volterra fist kind
equations with 0),( xxK / Andrade C., Bertoldi F. M., Mckee S. // Computing. –
1981. – Vol. 27. – № 3. – P. 189–201.
174. Aquirre-Ramirez G. A numerical solution or integral equations / Aquirre-
Ramirez G., Shashani A. O. // Int. J. Numer. Math. Eng. – 1980. – Vol. 15. – № 10. –
P. 1575–1579.
180
175. Baker C. The numerical treatment of integral equations / C. Baker. –
Oxford : Clarendon Press, 1976. – 1034 p.
176. Building GUIs with Matlab [Electronic resource]. – The MathWorks Inc.,
1997. – Access mode : www.mathworks.com.
177. Kostian N. The Result of the Study for Solving Ill-conditioned Systems of
Linear Equations by a New Method / N. Kostian, I. Bilan, S. Gladun // Eastern
European Scientific Journal. – 2015. – vol. 2 – С. 155-158.
178. Linz P. Numerical method for Volterra integral equations of the first kind
/ P. Linz // Compat. J. – 1969. – Vol. 12. – № 4. – P. 393–397.
179. MATLAB в инженерных и научных расчетах : монография /
Дащенко А. Ф., Кириллов В. Х., Коломиец Л. В., Оробей В. Ф. – Одесса :
Астропринт, 2003. – 215 с.
180. Steinhaus S. Comparison of mathematical programs for data analysis
(Edition 5.04) [Electronic resource] / S. Steinhaus. – Munich, 2008. – 64 p. – Access
mode: http://www.scientificweb.com/ncrunch/ncrunch5.pdf
181. Strejc V. Auswertung der dynamischen Eigenschaften von Regelstrecken
bei gemessenen Ein-und Ausgangssignalen allgemeiner / V. Strejc // Zeitschrift fur
Messen, Steuern, Regeln. – Berlin, 1960. – Jg. 3. – № 1. – P. 7–10.
182. The method and algorithms for identification of dynamic objects on basis
of integral equations / O. A. Diachuk, N. L. Kostyan, A. A. Sytnik,
F. A Halmuhametova // Математичне та комп’ютерне моделювання. Серія: Техн.
науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац.
ун-т ім. І. Огієнка, 2013. – Вип. 9. – С. 52–67.
183. Vrancic D. Magnitude Optimum Techniques for PID Controllers / D.
Vrancic // Introduction to PID Controllers – Theory, Tuning and Application to
Frontier Areas. – Rijeka : Published by In Tech, 2012. – P. 75–102.
181
ПРИЛОЖЕНИЕ А
АЛГОРИТМ ИДЕНТИФИКАЦИИ ДИНАМИЧЕСКИХ МОДЕЛЕЙ С
ЗАПАЗДЫВАНИЕМ
Существует множество динамических объектов практически во всех
отраслях науки, техники и промышленности, статические и динамические
свойства которых изменяются неконтролируемым образом, а априорные
сведения об этих изменениях и о самих физических, математических и
расчетных моделях "объект-внешняя среда" только в определенной степени
соответствуют действительности. В этих случаях практический результат
управления не соответствует моделируемому или является совершенно
непригодным. Возникает потребность в методах управления, учитывающих
наличие априорной и текущей неопределенности. При этом адаптивные методы
и соответствующие технические средства должны гарантировать желаемое
качество процесса управления и инвариантность регулируемых переменных,
критериев качества или других характеристик системы управления с учетом
объективно существующих неконтролируемых изменений статических и
динамических свойств объекта и воздействий внешней среды при априорной
неопределенности расчетной модели " объект- внешняя среда".
Анализ последних исследований и публикаций. Проблеме идентификации
динамических характеристик объектов с запаздыванием посвящен ряд работ
[13, 75, 77, 112, 137]. Для оценки запаздывания используются поисковые
методы [112]. Оценка запаздывания основана на аппроксимации импульсных
характеристик системой ортогональных функций [13, 137]. В работе [13]
запаздывание аппроксимируется функциями Лагерра. В работах [75, 77, 137]
для оценки запаздывания используется метод моментов. Алгоритмы оценки
параметров простейших типовых объектов с запаздыванием рассматриваются в
работе [77]. На основе метода моментов в работе [137] строится алгоритм
определения параметров линейной системы с запаздыванием, когда импульсная
характеристика системы может быть точно аппроксимирована функциями
182
Лагерра. Метод оценки параметров нелинейных систем одного класса с
запаздыванием предлагается в работе [75].
Приведенный в настоящей работе алгоритм основан на методе моментов,
причем в качестве моментных функций используются функции вида
tkk ettk  )( . Метод достаточно прост и, в отличие от метода,
предложенного в работе [137], позволяет принципиально точно определить
истинное запаздывание. Идея метода основана на результатах работы [75].
Рассмотрим объект, описываемый уравнением
,)()()(
0
duutxuty обоб
 

(А.1)
где )(),( tytx – входной и выходной сигналы объекта; )(t – импульсная
характеристика объекта; об – запаздывание объекта.
Передаточную функцию модели будем искать в виде
p
n
k
kk
m
k
kk
M Me
pa
pb
pW 





0
0)( , (А.2)
где kk
ba , – постоянные коэффициенты передаточной функции; м –
запаздывание модели.
Рассмотрим две задачи идентификации, связанные с моделью (А.2).
Первая: объект имеет сложную структуру, высокий порядок и большое число
неизвестных параметров. Динамические свойства объекта аппроксимируются
моделью (А.2) пониженного порядка с запаздыванием. При такой постановке
задачи идентификации структура объекта может быть произвольной, содержать
трансцендентные звенья. Вторая: структуры модели и объекта совпадают и
имеют вид (А.2). Задача идентификации заключается в определении порядка
передаточной функции объекта )( pWоб и ее параметров.
Обе задачи решаются методом моментов. Суть метода заключается в
следующем. По экспериментальным данным входа и выхода объекта
183
вычисляются моменты об
k импульсной характеристики объекта )(tоб :
pоб
k
k
kоб
k
об
k pW
dp
d
K
dttt
K




    )(
!
1
)()(
!
)1(
0
, (А.3)
где tkk ett  )( – взвешенные моментные функции. Моменты об
k являются
коэффициентами разложения )( pWоб в ряд Тейлора в точке P :




0
)()(
k
kоб
kоб ppW  . (А.4)
Аналогичное разложение можно записать и для )( pWм :
k
k
M
kм ppW )()(
0
  


(А.5)
Параметры модели выбираются так, чтобы некоторые числа моментов
модели и объекта были равны между собой:
rkM
k
об
k
,,1,0,    . (А.6)
Это условие обеспечивает близость динамических характеристик объекта
и модели и зависит от параметра  . В дальнейшем вместо M
k и об
k будем
писать k
 .
Уравнения связи моментов с параметрами модели. Рассмотрим уравнение
(А.5). Переходя к новой переменной  ps , из уравнения (А.5) получаем:
)(
)(
)(
)(
)(

 




sA
eesB
pA
epB
pW
sp
M . (А.7)
Преобразуем выражения для )( pA , используя формулу бинома Ньютона:
,)()(
000
ili
l
i
n
l
l
n
l
s
i
lspA ll 

 



  (А.8)
где 





i
l
– число сочетаний из l по i . Изменив в выражении (А.8) порядок
суммирования, получим
184
.)(
0
il
n
il
n
l
i li
lssA 

 



  (А.9)
Аналогично находим выражение для esB )( :
 



 
m
il
ill
m
l
i bilesesB 
0
)( (А.10)
Подставляя уравнения (А.9), (А.10) в выражение (А.7), получаем


 





0
0
0
)(
k
kks
n
i
ii
m
i
ii
M se
sC
sd
sW  , (А.11)
где
;,0,
____
ni
i
lC il
m
il
i l 



 

 
.,0,
____
mib
i
led il
m
il
i l 



 

   (А.12)
Заметим, что при 0 из выражения (А.12) следуют равенства
iiii bdaC  , Разложим s
e из выражения (А.11) в ряд Тейлора по степеням s :
.!/)(/
000 0
 





k
k
n
i
ii
m
i
k
i
kii ssCKssd k (А.13)
Приравнивая в уравнении (А.13) члены при одинаковых степенях s ,
находим связь между моментами k и параметрами передаточной функции:
...2,1,0,)!/()(
00
 



 kCikd
k
i
iik
k
i
i ik (А.14)
Уравнения (А.14) позволяют по известным моментам определить
коэффициенты ii dC , по которым из условий (А.12) легко определяются
параметры передаточной функции модели:
.,0,)(
____
niC
i
la iil
n
il
i 



 

 
185
.,0,)(
____
mid
i
leb iil
m
il
i 



 

  (А.15)
С помощью уравнений (А.14) по известным параметрам передаточной
функции можно вычислить моменты импульсной характеристики:
,...2,1,0,!/)( 0
00









 



 kCidC i
k
i
ik
k
i
i ikk  (А.16)
где ii dC , определяются выражениями (А.12).
Запишем системы (А.14) и (А.15) для частного случая:
;0;2,1,
)(
)( 00
0122
01





Cdnm
apapa
ebpb
pW o
p


(А.17)
;0100110  CCdd 
;0
!2
20110210
2
 CCCdd 

;0
!2!3
21120310
23
 CCCdd 

;0
!3!4
22130410
34
 CCCdd 

;),( 1110 dbddebi  
.;2; 22211100 22 CaCCaCCCa  
Рассмотрим алгоритм оценки параметров модели пониженного порядка с
запаздыванием. Параметры модели выберем из условия (А.6). Предполагаем,
что моменты объекта определены экспериментально или вычислены по
формулам (А.12), (А.16) при известной )( pWоб . Зададимся значениями m и n
модели (А.2) )( nm  . Тогда для определения неизвестных параметров модели
необходимо 2 nmr уравнений системы (А.14) (принимаем 10 d ).
Запишем систему (А.14) в матричной форме:
  0





C
d
MT  (А.18)
где
186
,;1,1;,1,
)!(
)( __________
jkmki
ki
T
ki







,;1,1;,1,;
__________
jknkiM ki    (А.19)
   .,...,,,,...,, 1010
____
n
T
m
T CCCCdddd 
Для того чтобы система (А.18) имела решение, необходимо равенство
нулю ее определителя:
.0,  MTmn  (А.20)
Вскрывая определитель, получаем полином
,0... 01
1
1



q
q
q
q (А.21)
где q – максимальная степень полинома, )1)(1(  nmq .
Минимальный корень полинома (А.21), как правило, будет определять
запаздывание M модели, остальные корни приводят к неустойчивой модели.
Если положительных корней нет или минимальный положительный корень
приводит к неустойчивой модели, необходимо изменить порядок модели. При
известном запаздывании M параметры модели ii ba , (определяются
решением систем (А.14), (А.15)).
Рассмотрим частные случаи формирования расширенного определителя
(А.20).
Случай 1.
,)(,1,0
01
0
apa
eb
pWnm
p
M
m



,0
2
01
12
01
0
2
0,1 








(А.22)
,
2
1
20100
2
1
20,1  
Случай 2.
187
,)(,2,0
01
2
2
0
apapa
eb
pWnm
pm



.2)(
2
1
6
1
32102001
2
0
3
1
2
1
22
0
33
00,2   (А.23)
Выражения для mn, легко определяются лишь для небольших значений
m и n . В общем случае эта задача сводится к вычислению полиномиального
определителя.
Рассмотрим метод раскрытия определителя (А.20) с использованием его
специфической структуры. В соответствии с теоремой Лапласа разложим
определитель (А.20) по первым )1( m столбцам:
121121
121
...,...,
...,
, 1 

  mm
m
is
llliii
iii
mn MT , (А.24)
;1,1,,
)!(
)( ______
,...,, 121 




 mjk
ji
T
k
i
iiii
jk
jkm

 (А.25)
– минор матрицы T , образованный из строк с номерами
____
121
121
,...,,
,,...,,

 
m
m
lll
jiii M – соответствующий дополнительный минор;
   2,...,2,1,...,,,
1
1
121  


 nmiiikiS
m
k
mki множество сочетаний, 1
2

 m
nmCQ
элементов.
По определению минор 121 ..., miiiT можно вычислить следующим образом
,
1
1...,
...,
121
121 


 
m
k
ji
jjj
iiii kk
m
mT  (А.26)
где i определяется четностью соответствующей подстановки.
Произведение 


1
1
m
k
jii kk в уравнении (А.26) или равно нулю, если
( kk ji  хотя бы для одного k , или определялся выражением
,,
)!(
1
)(
)!(
)( 1
1
)(1
1
1
1
1
1 kk
kk
m
k
kjki
kk
kjki
kk ji
m
k ji
i
m
k ji
i
m
k
jii 

 

 












 (А.27)
188
Формула (А.27) преобразуется следующим образом:
,)1(
1
1
1
1






m
k
jii
m
k
jii kk
idid
kk  (А.28)
,)()(
1
1
1
1






 
m
k
kjki
m
k
kkiid
.,
)!(
1
kk
kk
kk ji
ji
ji 

 (А.29)
Доопределим kk ji следующим образом:






 
,,0
,,
)!(
1
kk
kk
kkkk
ji
ji
jiji (А.30)
Тогда из формулы (А.28) можно найти значение произведения и при
наличии нулевых сомножителей ),0( kkkk jiji  . Подставляя теперь
выражение (А.28) в уравнение (А.26) и вынося id за знак суммы, получаем
.)1(
1
1...,
...,
121
121 


 
m
k
ji
jjj
iiii kk
m
idid
mT  (А.31)
Сопоставляя формулы (А.31) и (А.26), можно записать, что
,)1( 121121 ...,...,   midid
m iiiiii BT  (А.32)
где 121 ..., miiiB – минор с элементами, определяемыми формулой (А.30).
Подставляя выражение (А.32) в формулу (А.25) и учитывая, что
1)1()1(  idi получаем
.121121
121
...,...,
...,
, 

  mm
m
id
llliii
iii
mn MB (А.33)
Таким образом, вычисление полиномиального определителя (А.20)
сводится к расчету )1(
)2(2


m
nmC числовых определителей )1( m и )1( n -го
порядков. Окончательное выражение для коэффициентов полинома (А.33)
можно получить после приведения подобных членов.
Рассмотрим алгоритм оценки истинного запаздывания и порядка модели.
Считаем, что структуры модели и объекта совпадают и имеют вид (А.2).
189
Зададимся значениями m и n модели так, чтобы обоб mmnn  , . При таких
условиях один из корней определителя системы (А.18) является истинным
запаздыванием. Так как система (А.18) совместна, то должен быть равен нулю
и определитель kmkn  , для всех 0k и, в частности, для 1k :
.0,
  kmkn
(А.34)
Поэтому истинное запаздывание является общим корнем системы
уравнений
.0,
 mn
,01,1
  mn
(А.35)
Минимальные значения n и m , при которых система (А.35) имеет общие
корни, очевидно, равны значениям обn и обm объекта.
Рассмотрим более простой алгоритм оценки запаздывания. Запишем
2 nm уравнений системы (А.14), начиная со второго уравнения:
.guatda.com/cmx.p1...2,1,0,)!/()(
00
 



 rkCikd
k
i
iik
k
i
i ik (А.36)
Для обоб mmnn  , значение  должно удовлетворять любой системе
(А.36) и, следовательно, должен быть равен нулю ее расширенный
определитель mn,
,011,  MTmn  (А.37)
,;1,1;1,1,
)!1(
)(
)!1(
)( _____________11
1 jimjri
jiji
T
jiji







 


,;1,1;1,1,
_____________
1 jimjriM ki  
Тогда истинное запаздывание будет являться общим корнем системы
,0,  mn
.0,
 mn
(А.38)
Отметим, что уравнения системы (А.38) имеют одинаковый порядок, что
упрощает решение. Например, для 0,1  mr
190
.0
6
2
1
6
2
23
12
01
23
12
01
,
3
2
3
2




















mn (А.39)
Так как предполагалось, что 0 , то из выражения (А.39) следует
.0)(
2
1
)(
6
1
31302101,
2
2
22
1  mn (А.40)
Выражение mn, было получено ранее из (А.24):
,0
2
1
2010,
2
1
22
0  mn (А.41)
Определив общий корень уравнений (А.40), (А.41), получим истинное
запаздывание модели.
На основе предложенных алгоритмов в среде Matlab разработана
программа, позволяющая по известным моментам объекта определять
параметры моделей с запаздыванием В зависимости от решаемой задачи в
программе используются моменты k объектов, найденные экспериментально
или рассчитанные по формулам (А.12), (А.16).
Рассмотрим примеры определения параметров моделей с запаздыванием.
Пример 1.
323 )1(133
)(





p
e
ppp
e
pW
pp
об . (А.42)
При 0 находим .2/19,4,1 210   . Рассмотрим модель 1-го
порядка ( 1,0  nm ), тогда .29,2;71,5;0138 2120,1  
Корень 29,22  M дает искомое решение:
171,1
)(
29,2



p
e
pW
p
M (А.43)
При ,1 M модель неустойчива. АФХ модели и объекта приведены на
рис. А.1.
191
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Nyquist Diagram
Real Axis
ImaginaryAxis
Рис. А.1. АФХ модели при 71,51   M
Сопоставление АФХ объекта и модели для объекта 3-го (а, б) и 2-го (в)
порядков:
;
)3(
)(
3
ˆ




P
e
pWa
P
ai
171,1
)(
29,2



P
e
pW
P
M ;
;
)3(
)12(
)(
3
ˆ





P
eP
PWb
P
ai
;
149,289,1
)1857,1(
)( 2
36,1




PP
eP
PW
P
M
;
12
)( 2



pp
e
pWв
p
об
;0,
141,1
)(
58,1





P
e
PW
P
M
;3,0,
53,148,2
54,1
)(
45,1





P
e
PW
P
M
.5,0,
96,15,3
2
)(
39,1





P
e
PW
P
M
192
-1 -0.5 0 0.5 1 1.5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Nyquist Diagram
Real Axis
ImaginaryAxis
Рис. А.2. Сопоставление АФХ объекта и модели
Пример 2.
;
)1(
)12(
133
)12(
)(
323 






 p
pe
ppp
pe
pW
pp
об (А.44)
При 0 находим .3/4,2/3,2,1 3210   Для модели 2-го порядка
( 2,1  nm ), из выражения (А.27) находим
,083,375,127,255,1437,0083,0006,0 23456
1,2 
.11,1;36,1;04,3;25,427,1;17,6 6543,21
 j
Решением задачи является корень .36,15   M
,
149,289,31
)1857,1(
)( 2
36,1




pp
ep
pW
p
M
(А.45)
АФХ объекта и модели приведены на рис. А.3.
193
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1.5
-1
-0.5
0
0.5
1
1.5
Nyquist Diagram
Real Axis
ImaginaryAxis
Рис. А.3. АФХ объекта и модели для примера 2
Рассмотренные примеры подтверждают работоспособность
предложенных алгоритмов. Погрешности, возникающие при
экспериментальном определении моментов, могут повлиять на точность
определения истинного запаздывания и порядка объекта, что является
предметом специального исследования. Разработанный метод идентификации
позволяет оценивать параметры линейных моделей с запаздыванием, а также
порядок передаточной функции объекта и его истинное запаздывание. Метод
может быть использован при идентификации динамических характеристик
объектов с транспортным запаздыванием и для аппроксимации динамических
характеристик сложных объектов моделями с запаздыванием.
194
ПРИЛОЖЕНИЕ Б
ЛИСТИНГИ ПРОГРАМ
function varargout = invTask(varargin)
% Реализация интерфейса главного окна комплекса
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @ident_OpeningFcn, ...
'gui_OutputFcn', @ident_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function ident_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
owndata.t0 = 0; owndata.t1 = 2; owndata.h = 0.01;
owndata.y = '1-exp(-2*t)'; owndata.f = '-14*exp(-2*t)-0.2';
owndata.changes = 1; owndata.t_tab = [];
owndata.y_tab = []; owndata.f_tab = [];
owndata.perc = 0; owndata.perc_type = 1;
owndata.m = 5; owndata.c = [ 0 2 -4 8 -16 ];
owndata.p = [ 1.2 -2 3.1 0.7 -0.2 ]; owndata.q = [];
owndata.accuracy_p = []; owndata.accuracy_q = [];
owndata.errorMiddle_p = []; owndata.errorMiddle_q = [];
owndata.errorMax_p = []; owndata.errorMax_q = [];
owndata.time_p = []; owndata.time_q = [];
handles.owndata = owndata; guidata(hObject, handles);
% запись введенных данных в поля окна
set(findobj( 'Tag','t_left_edit_main' ),'String',num2str(
owndata.t0 ));
set(findobj( 'Tag','t_right_edit_main' ),'String',num2str(
owndata.t1));
set( findobj( 'Tag','h_edit_main' ),'String',num2str( owndata.h )
);
set( findobj( 'Tag','perc_edit_main' ),'String',num2str(
owndata.perc));
set( findobj( 'Tag','perc_list_main' ),'Value',owndata.perc_type
);
set( findobj( 'Tag','y_edit_main' ),'String',owndata.y );
set( findobj( 'Tag','f_edit_main' ),'String',owndata.f );
set( findobj( 'Tag','checkbox_y_main' ),'Value',0 );
set( findobj( 'Tag','checkbox_f_main' ),'Value',0 );
set( findobj( 'Tag','checkbox_plot_main' ),'Value',1 );
set(0,'Units','pixels');
SCREEN_SIZE = get(0,'ScreenSize'); SCRHeight = SCREEN_SIZE(1,4);
195
p = get(hObject,'Position');
p(1) = 20; p(2) = SCRHeight - 20 - p(4);
set(hObject,'Position',p);
function varargout = ident_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function t_left_edit_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function t_right_edit_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function h_edit_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function perc_edit_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function perc_list_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function checkbox_y_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function checkbox_f_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.changes = 1;
guidata( handle,h );
function y_edit_main_Callback(hObject, eventdata, handles)
handle = hObject;
h = guidata( handle ); h.owndata.y_tab = [];
h.owndata.f_tab = []; h.owndata.changes = 1;
h.owndata.y = get( findobj( 'Tag','y_edit_main' ),'String' );
guidata( handle,h );
function f_edit_main_Callback(hObject, eventdata, handles)
handle = hObject; h = guidata( handle );
h.owndata.y_tab = []; h.owndata.f_tab = [];
h.owndata.changes = 1;
h.owndata.f = get( findobj( 'Tag','f_edit_main' ),'String' );
guidata( handle,h );
function exchange_button_main_Callback(hObject, eventdata,
handles)
handle = hObject; h = guidata( handle );
tmp = h.owndata.y;
h.owndata.y = h.owndata.f; h.owndata.f = tmp;
tmp = h.owndata.y_tab; h.owndata.y_tab = h.owndata.f_tab;
h.owndata.f_tab = tmp; h.owndata.changes = 1;
guidata( handle,h );
196
y = findobj( 'Tag','y_edit_main' ); f = findobj(
'Tag','f_edit_main' );
tmp = get( y,'String' );
set( y,'String',get( f,'String' ) ); set( f,'String',tmp );
function plot_button_main_Callback(hObject, eventdata, handles)
handle = hObject;
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle ); h = guidata( handle );
figure
plot( h.owndata.t_tab,h.owndata.f_tab,'.-b' );
ylabel( 'f(t)' ); xlabel( 't' );
figure
plot( h.owndata.t_tab,h.owndata.y_tab,'.-r' );
ylabel( 'y(t)' ); xlabel( 't' );
% выбор пункта меню "О программе"
function menu_about_Callback(hObject, eventdata, handles)
disp('О программе');
% выбор пункта меню "Восстановление" -> "Уравнение Вольтерра 1-го
рода"
function menu_restoration_Volterra1_Callback(hObject, eventdata,
handles)
handle = hObject;
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
% вызов окна для работы
restoreVolt;
% выбор пункта меню "Восстановление" ->
% "Интерполяция импульсной переходной
характеристики"
function menu_restoration_interp_Callback(hObject, eventdata,
handles)
handle = hObject;
%disp('Восстановление ->Интерполяция импульсной переходной
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
% вызов окна для работы
restoreInterp;
% выбор пункта меню "Идентификация" -> "Интегральный метод"
function menu_identification_integral_Callback(hObject, eventdata,
handles)
h = findobj('Tag','figure_calc_3');
if( ~isempty( h ) ), return; end
handle = hObject;
% disp('Идентификация -> Интегральный метод');
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
% вызов окна для работы
f = gcf; h = identInt; waitfor( h );
figure( f );
% выбор пункта меню "Идентификация" -> "Дифференциальный метод"
function menu_identification_diff_Callback(hObject, eventdata,
handles)
handle = hObject;
197
% disp('Идентификация -> Дифференциальный метод');
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
% вызов окна для работы
f = gcf; h = identDiff;
waitfor( h );
figure( f );
% выбор пункта меню "Идентификация" -> ...
% "Результаты (интегр. и дифф. методы)"
function menu_identification_results_Callback(hObject, eventdata,
handles)
f = gcf; h = identInt_res;
waitfor( h );
figure( f );
% выбор пункта меню "Идентификация" -> ...
% "Аналитическое представление функции времени"
function menu_identification_analytic_Callback(hObject, eventdata,
handles)
handle = hObject;
% disp('Идентификация -> Аналитическое представление');
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
% вызов окна для работы
identA;
% выбор пункта меню "Файл" -> "Генерация данных"
function menu_file_generation_Callback(hObject, eventdata,
handles)
handle = hObject;
if( checkParams( handle ) ~= 0 ), return; end
setParams( handle );
h = guidata( handle );
data = h.owndata;
% генерация данных
x = data.t_tab; y = data.y_tab; f = data.f_tab;
[ fName,pName,fIndex ] = ...
uiputfile( { '*.txt; *.dat' },'Выберите файл для записи' );
if( fName ~= 0 )
toWrite = [ x' y' f' ];
save( [ pName fName ],'toWrite','-ascii' );
disp( [ 'Данные успешно сохранены в файл ' fName '.' ] );
playRing( 1000,0.75 );
end
% выбор пункта меню на сохранение в символьном виде
function menu_file_write_Callback(hObject, eventdata, handles)
[ fName,pName,fIndex ] = ...
uiputfile( { '*.sym' },'Выберите файл для записи' );
if( fName == 0 )
return;
end
handle = hObject; h = guidata( handle ); data = h.owndata;
name = [ pName fName ]; f = fopen( name,'w' );
fprintf(f,'%f %f %fn',data.t0,data.h,data.t1);
fprintf(f,'%sn%sn',data.y,data.f);
198
fprintf(f,'%dn',data.m);
for i = 1:data.m
fprintf(f,'%f ',data.c(i));
end
fprintf(f,'n');
for i = 1:data.m
fprintf(f,'%f ',data.p(i));
end
fprintf(f,'n'); fclose(f);
disp( [ 'Данные успешно сохранены в sym-файл ' fName '.' ] );
playRing( 1000,0.75 );
% выбор пункта меню на чтение файлов
function menu_file_read_Callback(hObject, eventdata, handles)
[ fName,pName,fIndex ] = ...
uigetfile( { '*.txt; *.dat'; '*.sym' },'Выберите файл для
чтения' );
if( fName == 0 )
return;
end
h = guidata( hObject );
% файл выбран - анализируем расширение
if( strcmp( fName( end-2:end ),'sym' ) == 1 )
% открываем файл для чтения
f = fopen( [ pName fName ],'r' ); tmp = str2num( fgetl( f ) );
h.owndata.t0 = tmp( 1 ); h.owndata.h = tmp( 2 );
h.owndata.t1 = tmp( 3 ); h.owndata.y = fgetl( f );
h.owndata.f = fgetl( f );
h.owndata.m = str2num(fgetl( f ) );
h.owndata.c=str2num(fgetl(f)); h.owndata.p=str2num(fgetl(f));
h.owndata.t_tab = []; h.owndata.y_tab = []; h.owndata.f_tab =
[];
set( findobj('Tag','y_edit_main'),'String',h.owndata.y );
set( findobj('Tag','f_edit_main'),'String',h.owndata.f );
else
% выбран файл с табулированными значениями функций
X = load([ pName fName ]);
[ rows,cols ] = size(X);
if( cols ~= 3 )
disp('Файл с данными должен иметь 3 столбца: t, y(t),f(t)!');
playRing( 1000,0.75 ); return;
end
t = X(:,1);
h.owndata.t0 = min(t); h.owndata.t1 = max(t);
h.owndata.h = (h.owndata.t1 - h.owndata.t0)/( length(t) - 1);
h.owndata.t_tab = t'; t = X(:,2);
h.owndata.y = t'; t = X(:,3); h.owndata.f = t';
set( findobj('Tag','y_edit_main'),'String',fName );
set( findobj('Tag','f_edit_main'),'String',fName );
end
set(findobj('Tag','t_left_edit_main'),'String',num2str(h.owndata.t
0));
set(findobj('Tag','t_right_edit_main'),'String',num2str(h.owndata.
t1));
199
set(findobj('Tag','h_edit_main'),'String',num2str(h.owndata.h));
set(findobj('Tag','perc_edit_main'),'String',num2str(h.owndata.per
c));
set(findobj('Tag','perc_list_main'),'Value',h.owndata.perc_type);
h.owndata.perc = 0; h.owndata.perc_type = 1;
h.owndata.q = []; h.owndata.accuracy_p = [];
h.owndata.accuracy_q = []; h.owndata.errorMiddle_p = [];
h.owndata.errorMiddle_q = []; h.owndata.errorMax_p = [];
h.owndata.errorMax_q = []; h.owndata.time_p = [];
h.owndata.time_q = []; h.owndata.changes = 1;
guidata( hObject,h ); setParams( hObject );
==================================================================
function err = checkParams( handle )
err = 1;
t0 = str2num(get(findobj('Tag','t_left_edit_main'),'String'));
t1 = str2num(get(findobj('Tag','t_right_edit_main'),'String'));
if( isempty( t0 ) || isempty( t1 ) )
errordlg(sprintf([ 'Указано нечисловое значение или
значениеn'
'с ошибкой при вводе параметра t!']), ...
'Ошибка при вводе данных!','modal'); return;
end
if( t0 >= t1 )
errordlg(sprintf([ 'Левая граница интервала должна бытьn' ...
'меньше правой!']), ...
'Ошибка при вводе данных!','modal'); return;
end
% определение шага
h = str2num(get(findobj('Tag','h_edit_main'),'String'));
if( isempty( h ) )
errordlg('Указано нечисловое значение шага!', ...
'Ошибка при вводе данных!','modal'); return;
end
if( h >= t1 - t0 )
errordlg('Значение шага больше ширины интервала!', ...
'Ошибка при вводе данных!','modal'); return;
end
% определение процента уровня шума
perc = str2num(get(findobj('Tag','perc_edit_main'),'String'));
if( isempty( perc ) )
errordlg('Указано нечисловое значение уровня шума!', ...
'Ошибка при вводе данных!','modal'); return;
end
if( ( perc < 0 ) )
errordlg('Значение уровня шума не может быть отрицательным!',
'Ошибка при вводе данных!','modal'); return;
end
err = 0;
==================================================================
=
function setParams( handle )
h = guidata( handle );
if( ~h.owndata.changes ), return; end
200
t0 = str2num(get(findobj('Tag','t_left_edit_main'),'String'));
t1 =
str2num(get(findobj('Tag','t_right_edit_main'),'String'));
step = str2num(get(findobj('Tag','h_edit_main'),'String'));
perc = str2num(get(findobj('Tag','perc_edit_main'),'String'));
perc_type = get(findobj('Tag','perc_list_main'),'Value');
ynoise = get(findobj('Tag','checkbox_y_main'),'Value');
fnoise = get(findobj('Tag','checkbox_f_main'),'Value');
h.owndata.t0 = t0; h.owndata.t1 = t1; h.owndata.h = step;
h.owndata.perc = perc; h.owndata.perc_type = perc_type;
h.owndata.t_tab = h.owndata.t0:h.owndata.h:h.owndata.t1;
if( strcmp( class( h.owndata.f ),class( 's' ) ) )
h.owndata.f_tab = double( subs( ...
strrep( h.owndata.f,'.','' ),h.owndata.t_tab ) );
else
% функция f дана в числовом виде - копируем значения функции
h.owndata.f_tab = h.owndata.f;
end
% y
if( strcmp( class( h.owndata.y ),class( 's' ) ) )
% ф-ция y дана в символьном виде, рассчитываем табуляционные
значения
h.owndata.y_tab = double( subs( ...
strrep( h.owndata.y,'.','' ),h.owndata.t_tab ) );
else
% функция y дана в числовом виде - копируем значения функции
h.owndata.y_tab = h.owndata.y;
end
n = length( h.owndata.y_tab );
% проверяем наличие шума для функции f
if( fnoise )
% Функция f зашумлена - рассчитываем шум
if( perc )
switch( perc_type )
case 1 % шум аддитивный
h.owndata.f_tab = perc / 100 .* randn(1,n) +
h.owndata.f_tab;
case 2 % шум синусоидальный
h.owndata.f_tab = h.owndata.f_tab + ...
(perc / 100 * sin( h.owndata.t_tab )) .*
h.owndata.f_tab;
otherwise % шум - процент от амплитуды
h.owndata.f_tab = h.owndata.f_tab * perc / 100
.*randn(1,n)+ ...
h.owndata.f_tab;
end
end
% рассчитываем значения y на основании значений f
[ T,h.owndata.y_tab ] =
solveDiffEqTab(h.owndata.f_tab,h.owndata.p,...
h.owndata.c,h.owndata.t_tab );
else
% функция f не зашумлена - проверка, зашумлена ли функция y
201
if( ynoise )
if( perc )
switch( perc_type )
case 1 % шум аддитивный
h.owndata.y_tab = perc / 100 .* randn(1,n) +
h.owndata.y_tab;
case 2 % шум синусоидальный
h.owndata.y_tab = h.owndata.y_tab + ...
(perc / 100 * sin( h.owndata.t_tab )) .*
h.owndata.y_tab;
otherwise % шум - процент от амплитуды
h.owndata.y_tab = h.owndata.y_tab * perc / 100 .* ...
randn(1,n) + h.owndata.y_tab;
end
end
end
end
h.owndata.changes = 0; h.owndata.q = [];
h.owndata.accuracy_p = []; h.owndata.accuracy_q = [];
h.owndata.errorMiddle_p = []; h.owndata.errorMiddle_q = [];
h.owndata.errorMax_p = []; h.owndata.errorMax_q = [];
h.owndata.time_p = []; h.owndata.time_q = []; guidata( handle,h );
function varargout = identInt(varargin)
% Реализация оконного интерфейса задачи интегральной идентификации
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @calc_3_OpeningFcn, ...
'gui_OutputFcn', @calc_3_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function calc_3_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
hMain = findobj('Tag','identification_main_figure');
h2 = findobj('Tag','figure_calc_3');
p = get( hMain,'Position' ); p2 = get( h2,'Position' );
p2(1) = p(1) + 20; p2(2) = p(2) + 20 + p2(4) - p(4);
set( h2,'Position',p2 ); h = guidata( hMain );
set(findobj('Tag','t_left_edit'),'String',num2str(h.owndata.t0));
set(findobj('Tag','t_right_edit'),'String',num2str(h.owndata.t1));
set(findobj('Tag','h_edit'),'String',num2str(h.owndata.h));
set(findobj('Tag','m_edit'),'String',num2str(h.owndata.m));
set(findobj('Tag','y_edit'),'String', ...
get(findobj('Tag','y_edit_main'),'String'));
202
set(findobj('Tag','f_edit'),'String', ...
get(findobj('Tag','f_edit_main'),'String'));
% установка параметров диф. уравнения и начальных значений
hTable1 = findobj('Tag','c_table');
table1 = 1:length(h.owndata.c); table1 = [ table1' h.owndata.c' ];
hTable2 = findobj('Tag','p_table');
table2 = 1:length(h.owndata.p); table2 = [ table2' h.owndata.p' ];
set(hTable1,'Data',table1); set(hTable2,'Data',table2);
guidata(hObject, handles);
function varargout = calc_3_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function m_edit_Callback(hObject, eventdata, handles)
m = str2num( get( gcbo,'String' ) );
hTable1 = findobj('Tag','c_table'); table1 = get(hTable1,'Data');
hTable2 = findobj('Tag','p_table'); table2 = get(hTable2,'Data');
% определение размера таблиц
rows = size(table1,1);
% изменение количества строк в таблицах
if ( m < rows )
table1 = table1( 1:m,: );
table2 = table2( 1:m,: );
elseif ( m > rows )
idx = rows:m-1;
t = idx'; t = [ t zeros(m-rows,1) ];
table1 = [ table1; t ]; table2 = [ table2; t ];
end
set(hTable1,'Data',table1); set(hTable2,'Data',table2);
setParams;
==================================================================
=
function calc_button_Callback(hObject, eventdata, handles)
setParams;
recalculation;
handle = hObject; hMain =
findobj('Tag','identification_main_figure');
h = guidata( hMain );
t0 = h.owndata.t0; t1 = h.owndata.t1; th = h.owndata.h;
m = h.owndata.m; c = h.owndata.c'; p = h.owndata.p';
% табулирование переменной t
t = t0:th:t1; y_tab = h.owndata.y_tab; f_tab = h.owndata.f_tab;
% определение времени запуска процедуры счета
time_calc = tic;
% рассчет параметров с использованием табулированного
представления ф-й
[A,B] = system_coeff_tab ( t,y_tab,f_tab,th,c );
[ q,accuracy ] = MSM_general ( A,B );
% определение времени конца счета
timeOfCalculations = toc(time_calc);
% решение диф. уравнения с использованием рассчитанных параметров
[ T,Y ] = solveDiffEqTab( f_tab,q,c,t );
% вычисление ошибок
errMd = errorMiddle2( y_tab,Y ); errMx = errorMax( y_tab,Y );
% отображение графика ошибки
203
figure;
plot( t,abs(Y-y_tab),'.r' );
title( '|Y-Y_0|' );
% сохранение рассчитанных значений
h.owndata.q = q';
h.owndata.accuracy_q = accuracy; h.owndata.errorMiddle_q = errMd;
h.owndata.errorMax_q = errMx; h.owndata.time_q =
timeOfCalculations;
% сообщение о выполнении задания
msgbox( 'Рассчет окончен','Выполнено','none','modal');
% сохранение данных в структуре главного окна
guidata( hMain,h );
function c_table_CellEditCallback(hObject, eventdata, handles)
setParams;
function p_table_CellEditCallback(hObject, eventdata, handles)
% сохранение измененных в таблице данных
setParams;
function setParams
% чтение структуры с данными
hMain = findobj('Tag','identification_main_figure');
h = guidata( hMain );
% чтение данных таблицы начальных значений
t = get(findobj('Tag','c_table'),'Data'); t = t(:,2);
h.owndata.c = t';
% чтение данных таблицы параметров уравнения
t = get(findobj('Tag','p_table'),'Data'); t = t(:,2);
h.owndata.p = t';
% чтение количества параметров
h.owndata.m = str2num( get(findobj('Tag','m_edit'),'String') );
% установка флага изменений
h.owndata.changes = 1;
% сохранение данных в структуре
guidata( hMain,h );
% пересчет значений функций на основе установленных параметров
function recalculation
% чтение структуры с данными
hMain = findobj('Tag','identification_main_figure');
h = guidata( hMain );
% определение зашумления функции f
fnoise = get(findobj('Tag','checkbox_f_main'),'Value');
% если выбрано зашумление функции f, то производится пересчет
значений y
if( fnoise && h.owndata.perc )
[T,h.owndata.y_tab]=solveDiffEqTab(h.owndata.f_tab,h.owndata.p,
...
h.owndata.c,h.owndata.t_tab );
guidata( hMain,h );
end
function [ X,err ] = MSM_general ( A,B )
% Функция реализации метода наименьших квадратов
% для поиска приближенного решения системы уравнений A*X = B
% Входные параметры:
204
% A - матрица коэффициентов размером m x n
% B - вектор-столбик свободных членов размером n
% Выходные параметры: X - вектор-столбик неизвестных размером n
if ( nargin == 0 )
disp('Ошибка! Отсутствуют параметры.');
X = []; return
end
if ( isempty(A) )
disp('Ошибка! Матрица A пустая.');
X = []; return
end
[ n_eqs,n_vars ] = size(A);
if ( nargin < 2 )
disp('Ошибка! Отсутствует вектор свободных членов.');
X = []; return
end
if ( isempty(B) )
disp('Ошибка! Переменная B пустая.');
X = []; return
end
nB = size(B,1);
if ( nB == 1 )
B = B'; nB = size(B,1);
end
if ( size(B,2) ~= 1 )
disp('Ошибка! Второй параметр должен быть вектором!');
X = []; return
end
nB = length(B);
if ( nB ~= n_eqs )
disp('Ошибка! Размер B не соответствует количеству
уравнений.');
X = []; return
end
% создание матрицы коэффициентов и матрицы свободных членов
AA = zeros(n_vars,n_vars); BB = zeros(n_vars,1);
for i = 1:n_vars
AA(i,i) = sum( A(:,i).^2 ); BB(i) = sum( A(:,i).*B );
for j = i+1:n_vars
AA(i,j) = sum( A(:,i).*A(:,j) ); AA(j,i) = AA(i,j);
end
end
X = MGauss(AA,BB); X = X';
if ( nargout > 1 )
err = sum((A*X-B).^2);
end
function X = MGauss( A,B )
% Решение системы линейных уравнений методом Гаусса
% Входные параметры:
% A - матрица коэффициентов при неизвестных
% B - вектор свободных членов
% Выходные параметры: X - вектор-строка решений
205
n = size(A,1);
% ПРЯМОЙ ПРОХОД
for i = 1:n-1
[MAX,i1] = max(abs(A(i:n,i)));
i1 = i1+i-1;
if ( i ~= i1 ) % нужно ли выполнять перестановку
TEMP = A(i,:); % да - обмен строк местами
A(i,:) = A(i1,:);
A(i1,:) = TEMP;
TEMP = B(i,1); % обмен местами строк правой части
B(i,1) = B(i1,1);
B(i1,1) = TEMP;
end
for i1=i+1:n
c = A(i1,i)/A(i,i); % множитель для строки i1
A(i1,:) = A(i1,:)-A(i,:)*c; % пересчет строки i1
B(i1,1) = B(i1,1)-B(i,1)*c; % пересчет правой части
end
end % КІНЕЦЬ ПРЯМОГО ПРОХОДУ
% ОБРАТНЫЙ ПРОХОД
X = zeros(1,n); X(1,n) = B(n)/A(n,n);
for i = n-1:-1:1
z = B(i);
for i1 = i+1:n
z = z-A(i,i1)*X(1,i1);
end
X(1,i) = z/A(i,i);
end
function [A,B] = system_coeff_tab ( t,u,f,h,c )
% Функция расчета коэффициентов СЛАУ
% Входные параметры:
% t - значения отсчетов времени
% u - табулированная функция выходного сигнала
% f - таблуированная функция входного сигнала
% h - шаг между соседними узлами сетки
% c - вектор начальных условий
% Выходные параметры:
% A - матрица коэффициентов при неизвестных в СЛАР
% B - вектор-столбик свободных членов
N = length(t); m = length(c);
A = zeros(N-1,m); B = zeros(N-1,1);
% находим значения вторых слагаемых коэффициентов уравнений
системы
for i = 2:N
A_temp = [];
for j=1:m
temp = 0;
for l = 0:m-j-1
temp = temp + c(l+1) * ((i-1)*h)^(l+j)/factorial(l+j);
end
A_temp = [ A_temp -temp ];
206
end
A(i-1,:) = A(i-1,:) + A_temp;
% рассчет второго слагаемого (для i = 0)
B_temp = 0;
for l = 0:m-1
B_temp = B_temp + c(l+1) * ((i-1)*h)^l / factorial(l);
end
B(i-1) = B(i-1) + B_temp-u(i);
end
% находим значения первых слагаемых коэффициентов уравнений
системы
for i = 2:N
for j = 1:m
k = 1:i-2;
temp = (i-1)^(j-1)*u(1)+2*sum((i-1-k).^(j-1) .* u(k+1));
temp = temp * h^j / 2 / factorial(j-1);
A(i-1,j) = A(i-1,j) + temp;
end
k = 1:i-2;
temp = f(1)*(i-1)^(m-1)+2 * sum((i - 1 - k).^(m-1) .* f(k+1));
temp = temp * h^m / 2 / factorial(m-1);
B(i-1) = B(i-1) + temp;
end
function [ X,err ] = inv_general ( A,B )
% Функция реализации метода обратной матрицы
% Входные параметры:
% A - матрица коэффициентов размером n x n
% B - вектор-столбик свободных членов размером n
% Выходные параметры: X - вектор-столбик неизвестных размером n
if ( nargin == 0 )
disp('Ошибка! Отсутствуют параметры.');
X = []; return
end
if ( isempty(A) )
disp('Ошибка! Матрица A пустая.');
X = []; return
end
[ mA,nA ] = size( A );
if ( mA ~= nA )
disp('Ошибка! Матрица A должна быть квадратной.');
X = []; return
end
[ n_eqs,n_vars ] = size(A);
if ( nargin < 2 )
disp('Ошибка! Отсутствует вектор свободных членов.');
X = []; return
end
if ( isempty(B) )
disp('Ошибка! Переменная B пустая.');
X = []; return
end
nB = size(B,1);
207
if ( nB == 1 )
B = B';
nB = size(B,1);
end
if ( size(B,2) ~= 1 )
disp('Ошибка! Второй параметр должен быть вектором!');
X = []; return
end
nB = length(B);
if ( nB ~= n_eqs )
disp('Ошибка! Размер B не соответствует количеству
уравнений.');
X = []; return
end
X = inv(A) * B;
if ( nargout > 1 )
err = sum((A*X-B).^2);
end
function err = errorMiddle2( y0,y )
err = sqrt( sum((y0-y).^2) / sum(y.^2) );
function err = errorMax( y0,y )
err = max( abs( y0-y ) );
function X = paramsMSM( y_tab,f_tab,t_tab,w )
% Поиск параметров дифференциального уравнения МНК
% Входные параметры:
% y_tab - табулированные значения функции y(t)
% f_tab - табулированные значения функции f(t)
% t_tab - табулированные значения переменной t
% w - начальные значения для поиска параметров
% Выходные параметры: X - найденные значения параметров диф. уравнения
nw = length( w ); nt = length( t_tab );
% определение шага по независимой переменной
h = ( max( t_tab ) - min( t_tab ) ) / ( length( t_tab ) - 1 );
% нахождение производных функции Y и построение матриц для МНК
B = f_tab( 1:nt-nw ); B = B';
yy = y_tab';
A = yy( 1:nt-nw );;
for i = 1:nw-1
yy = diff( yy ) / h;
A = [ yy( 1:end-(nw-i) ) A ];
end
yy = diff( yy ) / h;
B = [ B - yy ];
% построение матриц для метода наименьших квадратов
AA = zeros(size(A,2));
% инициализация матрицы для хранения коэффициентов левой части
BB = AA(:,1);
% рассчет коэффициентов матриц
for i = 1:size(A,2)
BB(i) = sum(A(:,i).*B);
for j = i:size(A,2)
208
AA(i,j) = sum(A(:,i).*A(:,j));
AA(j,i) = AA(i,j);
end
end
% решение системы линейных уравнений матричным методом
X = inv(AA) * BB; X = X';
function X = paramsLM( y_tab,f_tab,t_tab,w,eps )
% Поиск параметров дифференциального уравнения
% Используется метод Левенберга-Маркарда
% Входные параметры:
% y_tab - табулированные значения функции y(t)
% f_tab - табулированные значения функции f(t)
% t_tab - табулированные значения переменной t
% w - начальные значения для поиска параметров
% eps - точность поиска значений
% Выходные параметры: X - найденные значения параметров диф.
уравнения
nw = length( w ); nt = length( t_tab );
% определение шага по независимой переменной
h = ( max( t_tab ) - min( t_tab ) ) / ( length( t_tab ) - 1 );
% нахождение производных функции Y
yy = y_tab';
A = yy( 1:nt-nw );
for i = 1:nw-1
yy = diff( yy ) / h;
A = [ yy( 1:end-(nw-i) ) A ];
end
yy = diff( yy ) / h;
A = [ A yy ];
yy = f_tab( 1:nt-nw );
A = [ A yy' ];
% правая часть
RR = A(:,end) - A(:,end-1);
% рассчет значений Якобиана
J = [];
for i = 1:nw
J = [ J A(:,i) ];
end
JTJ = J' * J;
lambda = 0.01;
% нахождение корректирующего слагаемого
delta_w = (JTJ + lambda*diag(diag(JTJ)))  J';
err = 1;
% выполнение цикла до достижения заданной точности
while( err > eps )
LL = 0;
for i = 1:nw
LL = LL + w(i)*A(:,i);
end
% рассчет корректирующего множителя
r = RR - LL;
delta_w2 = delta_w * r;
209
% корректировка параметров
w = w + delta_w2';
% рассчет новой ошибки
err = max(abs(delta_w2));
end
% запись результата
X = w;
function [ T,Y ] = solveDiffEqTab( f,p,init,x )
% Решение дифференциального уравнения
% Входные параметры:
% f - табулированные значения правой части уравнения
% p - коэффициенты при производных и функции y
% init - начальные значения функции и производных [y0 y'0 y''0
... ]
% x - табулированные значения независимой переменной
% Выходные параметры:
% T - вектор-строка независимой переменной, рассчитанных
солвером
% Y - вектор-строка значений функции y
% аппроксимированной сплайнами функции, являющейся правой частью
global pp_spline
pp_spline = spline( x,f );
funcName = [ 'rhs_temp_' num2str( floor( abs( p(end) )*10000 ) )
];
s = { [ 'function dxdt = ' funcName '( t,c )' ]; ...
''; 'global pp_spline'; 'c'; '' };
n = length( p );
for i = 1:n-1
s = [ s; [ 'dxdt_' num2str(i) ' = c(' num2str(i+1) ');' ] ];
end
ss1 = [ 'dxdt_' num2str(n) ' = ppval(pp_spline,t)' ]; ss2 = 'dxdt
= [ ';
p = p(n:-1:1);
for i = 1:n
ss1 = [ ss1 '-(' num2str(p(i)) ')*c(' num2str(i) ')' ];
ss2 = [ ss2 '; dxdt_' num2str(i) ' ' ];
end
ss1 = [ ss1 ';' ]; ss2 = [ ss2 '];' ];
s = [ s; ss1; ' '; ss2; ' '; 'end' ];
fName = [ pwd '' funcName '.m' ];
fid = fopen(fName,'w');
for i = 1:length(s)
fprintf(fid,'%sn',s{i});
end
fclose(fid);
% ожидание 1 с
pause( 1 );
% ожидание по 1 с до тех пор, пока файл не появится на жестком
диске
while( ~exist( fName,'file' ) )
pause( 1 );
210
end
% решение диф. уравнения солвером Рунге-Кутты 4 и 5 порядков
str4Eval = [ '[ T,Y ] = ode45( @' funcName ',x,init );' ];
eval( str4Eval );
T = T';
Y = Y(:,1); Y = Y';
if( exist( fName,'file' ) )
delete( fName );
while( exist( fName,'file' ) )
pause( 1 );
end
end
clear GLOBAL pp_spline
function [ y_msm,err_msm,t_msm,a,b ] = calcZ( t,x,na,nb )
% ВХОД:
% t - значения отсчетов времени (абсциссы точек)
% x - значения сигнала (функции)
% na - количество параметров в числителе передаточной функции
% nb - количество параметров в знаменателе передаточной функции
% ВЫХОД: y_msm - значения апроксимационной функции
% err_msm - квадраты невязок
% t_msm - общее время работы функции
% a,b - коэффициенты исходного разностного уравнения
tt = tic;
h = t(2)-t(1);
tmax = max(t) + h;
tz = [ t t+tmax ];
syms z n
% подготовка начальных данных
[ f,F ] = makeFs( x,na );
% решаем с помощью обобщенного МНК
[ a,err ] = MSM_general( F,-f );
a = a(end:-1:1); b = calcB( x,a,nb );
% числитель
eq1 = 0;
N = length(b);
for i = 1:N
eq1 = eq1 + b(N-i+1)*z^(N-i+1);
end
% знаменатель
eq2 = 0;
N = length(a);
for i = 1:N
eq2 = eq2 + a(N-i+1)*z^(N-i);
end
eq2 = eq2 + z^N;
% общий вид передаточной функции
eq = eq1 / eq2;
% выполняем обратное z-преобразование с n в качестве неизвестной
p = iztrans(eq, z, n); p = simplify(p);
y2 = double(subs(p,n,tz));
y_msm = y2(1:2:end);
211
err_msm = (x - y_msm).^2;
t_msm = toc(tt);
function a = calcAbyPInv( f,F )
% Рассчет значений коэффициентов a с помощью обратной матрицы
% Вход: f - вектор-столбик n значений функции f0, ...
% F - матрица размером n x m
% Выход: a - вектор-столбик m коэффициентов
F_plus = pinv(F);
a = (-1) * F_plus * f;
function b = calcB( f,a,n )
% Рассчет значений коэффициентов b
% Вход: f - вектор измерений
% a - вектор-столбик коэффициентов a
% n - количество рассчитываемых коэффициентов b
% Выход: b - вектор столбик рассчитываемых коэффициентов
m = length(a); N = length(f);
b = zeros(n,1);
for i = 1:n
idx = n - i + 1;
b(i) = f(idx);
for j = i:n-1
b(i) = b(i) + a(idx) * f(idx-1);
idx = idx - 1;
end
end
function [ f,F ] = makeFs( x,m )
% Построение вектора значений функции f
% и матрицы F при заданном количестве коэффициентов a
% Вход: x - вектор измерений
% m - количество коэффициентов a
% Выход: f - вектор-столбик значений функции
% F - матрица, имеющая m столбиков
n = length(x);
F = zeros(n-m,m);
for i = 1:n-m
F(i,:) = x(i+m-1:-1:i);
end
f = x(m+1:end);
if size(f,1) == 1
f = f';
end
function [ y_inv,err_inv,t_inv,a,b ] = calcPinvZ( t,x,na,nb )
% ВХОД: t - значения отсчетов времени (абсциссы точек)
% x - значения сигнала (функции)
% na - количество параметров в числителе передаточной функции
% nb - количество параметров в знаменателе передаточной функции
% ВЫХОД: y_inv - значения апроксимационной функции
% err_inv - квадраты невязок
% t_inv - общее время работы функции
212
% a,b - коэффициенты исходного разностного уравнения
tt = tic;
h = t(2)-t(1); tmax = max(t) + h;
tz = [ t t+tmax ];
syms z n
[ f,F ] = makeFs( x,na );
a = calcAbyPInv( f,F ); a = a(end:-1:1);
b = calcB( x,a,nb );
eq1 = 0;
N = length(b);
for i = 1:N
eq1 = eq1 + b(N-i+1)*z^(N-i+1);
end
eq2 = 0;
N = length(a);
for i = 1:N
eq2 = eq2 + a(N-i+1)*z^(N-i);
end
eq2 = eq2 + z^N; eq = eq1 / eq2;
p = iztrans(eq, z, n); p = simplify(p);
y = double(subs(p,n,tz)); y_inv = y(1:2:end);
err_inv = (x - y_inv).^2;
t_inv = toc(tt);
function [ y,err ] = volt1Trad(x)
% Решение линейного интегрального уравнения Вольтерра I рода
% с произвольным ядром методом трапеций на основе традиционного
подхода
% Вход: x - точки дискретизации
% Выход: y - входной сигнал; err - ошибка
if( nargin ~= 1 )
err = 1;
error('Incorrect number of input arguments. See volt1Trad.');
end;
if( nargout > 3 )
err = 2; error('Too many output arguments. See
volt1Trad.');
end;
if( length(x)<2 )
err = 3; error('Invalid parameter x. See volt1Trad.');
end;
tic
format long;
n = length(x);
i = 1;
h = x(2)-x(1);
y(1) = ((-3*rightSide(x(1))+4*rightSide(x(1)+h)-
rightSide(x(1)+2*h))/(2*h))/kernel(x,i,i);
for i = 2:n
j = 1;
B = 0;
for j = 1:(i-1)
if( j == 1 )
213
h=x(j+1)-x(j);
B=B+0.5*h*kernel(x,i,j)*y(j);
else
h=x(j+1)-x(j-1);
B=B+0.5*h*kernel(x,i,j)*y(j);
end;
end;
h = x(i)-x(i-1);
y(i) = (rightSide(x(i))-B)/(0.5*h*kernel(x,i,i));
end;
err = 0;
toc
function [ y,err,t ] = volt1Mod( x,kType )
% Вход: x - точки дискретизации; kType - тип ядра
% Выход: y - входной сигнал; err – ошибка; t - время вычислений
if( kType == 1 )
% используется ядро в виде тригонометрической функции
disp('Используется ядро в виде тригонометрической функции.');
[ y,err,t ] = vFast1( x );
else
% используется ядро в виде степенной функции
disp( 'Используется ядро в виде степенной функции.' );
[ y,err,t ] = vFast2( x )
end
function [ y,err,t ]= vFast1( x )
% Решение линейного интегрального уравнения Вольтерра I рода
% с ядром в виде тригонометрической функции методом квадратур
% на основе модифицированного алгоритма
% Вход: x - точки дискретизации
% Выход: y - входной сигнал; err - ошибка
if( nargin ~= 1 )
err = 1;
error('Incorrect number of input arguments. See vFast1.');
end;
if( length(x) < 2 )
err = 2;
error('Invalid parameter x. See vFast1.');
end;
tic
format long;
n = length(x);
i = 1;
h = x(2)-x(1);
y(1) = ((-3*rightSide(x(1))+4*rightSide(x(1)+h)- ...
rightSide(x(1)+2*h))/(2*h))/kernel_12( x(i) );
S2 = 0.5*h*kernel_2( -x(i) )*y(i); S1 = 0.5*h*kernel_1( -x(i)
)*y(i);
P1 = kernel_1( x(i+1) ) * S1; P2 = kernel_2( x(i+1) ) * S2;
y(2) = ( rightSide(x(2)) - (P1-P2) ) / ( 0.5*h*kernel_12( x(i+1) )
);
for i=3:n
214
if( i<n )
h1=(x(i+1)-x(i-1))/2;
end;
S2 = S2 + h1*kernel_2( -x(i-1) )*y(i-1);
S1 = S1 + h1*kernel_1( -x(i-1) )*y(i-1);
P1 = kernel_1( x(i) ) * S1; P2 = kernel_2( x(i) ) * S2;
y(i) = (rightSide(x(i))-(P1-P2))/(0.5*(x(i)-x(i-1))*kernel_12(
x(i)));
end;
err = 0;
t = toc
function [ y,err,t ] = vFast2( x )
% Решение линейного интегрального уравнения Вольтерра I рода
% со степенным ядром методом квадратур на основе
% модифицированного алгоритма
% Вход: x - точки дискретизации
% Выход: y - входной сигнал; err - ошибка
if( nargin ~= 1 )
err = 1;
error('Incorrect number of input arguments. See vFast2.');
end;
if( length(x)<2 )
err = 2;
error('Invalid parameter x. See vFast2.');
end;
tic
format long;
n = length(x);
i = 1;
h = x(2)-x(1);
y(1) = ((-3*rightSide1( x(1) ) + 4*rightSide1( x(1)+h ) - ...
rightSide1( x(1)+2*h )) / (2*h)) / kernel_5( x(i) );
S = 0.5*kernel_6( x(i) )*y(i); P = kernel_7( x(i+1) ) * S;
y(2) = ( rightSide1( x(2) ) - h*D) / (0.5*h*kernel_5( x(i+1) ));
for i = 3:n
if( i<n )
h1 = (x(i+1)-x(i-1))/2;
end;
S = S + kernel_6( x(i-1) ) * y(i-1); P = kernel_7( x(i) ) * S;
y(i) = ( rightSide1( x(i) ) - h1*P ) / (
0.5*h1*kernel_5(x(i)));
end;
err=0;
t = toc
function a = polyCoef( X,F,Lambda,n,eps )
if( floor( max( F )) - max( F ) ~= 0 )
a0 = floor( max( F ) ) + 1;
else
a0 = max( F );
end
Lambda_new = Lambda; Lambda = Lambda_new + 1;
while( abs( Lambda - Lambda_new ) > eps )
215
Lambda = Lambda_new;
[C,G] = Coef_CG( X,F,Lambda,n );
[ D1,D2 ] = Matr_SYM( C,G,n );
F_star_sym = - det(D1) / det(D2);
a = double( coeffs( F_star_sym )); a = [ a0 a ];
Lambda_new = Lambda_Sr( a,X,F );
end
function H = coefH( a,Lambda )
n = length( a ) - 1;
A = zeros(n+1); A(1,:) = 1; A(2,1) = 1;
for i = 3:n+1
A(i,i:end) = 1;
end
B = zeros(n+1,1); B(1) = a(1); B(2) = a(1) + a(2);
for i = 3:n+1
B(i) = -a(i) * factorial(i-2) / Lambda^(i-2);
end
H = inv(A) * B;
function [C,G] = Coef_CG( X,F,Lambda,n )
if( floor( max( F )) - max( F ) ~= 0 )
a0 = floor( max( F ) ) + 1;
else
a0 = max( F );
end
m = length( F ); F_star = zeros(m,1);
for i = 1:m
F_star(i) = (F(i)-a0)/exp(-Lambda*X(i));
end
C = zeros(1, (2*n-1));
for r = 1:(2*n-1)
C(r) = sum(X .^ (r-1));
end
G = zeros(1, n);
for l = 1:n
G(l) = sum((X .^ (l-1)) .* F_star);
end
function [ D1,D2 ] = Matr_SYM( C,G,n )
D2 = zeros(n);
for i = 1:n
D2(i,:) = C(i:i+n-1);
end
% D2
syms x
D1 = [ 0 1 x ];
for i = 4:n+1
D1 = [ D1 x^(i-2) ];
end
D1 = [ D1; zeros(n,n+1) ];
D1(2:end,1) = G; D1(2:end,2:end) = D2;
function Lambda = Lambda_Sr( a,X,F )
216
n = length( a ) - 1; m = length( X );
Lambda = 0;
for j = 1:m
denom = 0;
for i = 1:n
denom = denom + a(i+1) * X(j)^(i-1);
end
Lambda = Lambda - 1/X(j) * log( (F(j) - a(1)) / denom );
end
Lambda = Lambda / m;
function varargout = identDiff(varargin)
% Реализация интерфейса дифференцияального метода
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @identDiff_OpeningFcn, ...
'gui_OutputFcn', @identDiff_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function identDiff_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
hMain = findobj('Tag','identification_main_figure');
h2 = findobj('Tag','ident_diff_figure');
p = get( hMain,'Position' ); p2 = get( h2,'Position' );
p2(1) = p(1) + 20; p2(2) = p(2) + 20 + p2(4) - p(4);
set( h2,'Position',p2 ); h = guidata( hMain );
set(findobj('Tag','t_left_edit_idiff'),'String',num2str(h.owndata.t0));
set(findobj('Tag','t_right_edit_idiff'),'String',num2str(h.owndata.t1));
set(findobj('Tag','h_edit_idiff'),'String',num2str(h.owndata.h));
set(findobj('Tag','y_edit_idiff'),'String', ...
get(findobj('Tag','y_edit_main'),'String'));
set(findobj('Tag','f_edit_idiff'),'String', ...
get(findobj('Tag','f_edit_main'),'String'));
% установка параметров для решения диф. уравнения
set(findobj('Tag','m_edit_idiff'),'String',num2str(h.owndata.m));
set(findobj('Tag','eps_edit_idiff'),'String','0.001');
set(findobj('Tag','type_method_listbox_idiff'),'Value',2);
hTable = findobj('Tag','q_table_idiff');
table = [ 1:h.owndata.m; zeros(1,h.owndata.m) ]; table = table';
set(hTable,'Data',table);
set(findobj('Tag','time_edit_idiff'),'String',0);
set(findobj('Tag','accuracy_edit_idiff'),'String',NaN);
set(findobj('Tag','errorMd_edit_idiff'),'String',0);
set(findobj('Tag','errorMx_edit_idiff'),'String',0);
guidata(hObject, handles);
217
function varargout = identDiff_OutputFcn(hObject, eventdata,
handles)
varargout{1} = handles.output;
function plot_y_button_idiff_Callback(hObject, eventdata, handles)
hMain = findobj('Tag','identification_main_figure');
h = guidata( hMain );
figure; plot( h.owndata.t_tab,h.owndata.y_tab,'.k' );
xlabel( 't' ); ylabel( 'y(t)' ); title( '' );
function plot_f_button_idiff_Callback(hObject, eventdata, handles)
hMain = findobj('Tag','identification_main_figure');
h = guidata( hMain );
figure; plot( h.owndata.t_tab,h.owndata.f_tab,'.k' );
xlabel( 't' ); ylabel( 'f(t)' ); title( '' );
function calc_button_idiff_Callback(hObject, eventdata, handles)
hMain = findobj('Tag','identification_main_figure');
h = guidata( hMain );
eps=str2num( get( findobj( 'Tag','eps_edit_idiff' ),'String' ) );
mode=get( findobj( 'Tag','type_method_listbox_idiff' ),'Value' );
switch( mode )
case 1
% МНК
t = tic;
X = paramsMSM( h.owndata.y_tab,h.owndata.f_tab, ...
h.owndata.t_tab,h.owndata.c );
fullTime = toc(t);
case 2
% Левенберга-Маркарда
t = tic;
X=paramsLM(h.owndata.y_tab,h.owndata.f_tab, ...
h.owndata.t_tab,h.owndata.c,eps );
fullTime = toc(t);
end
set( findobj( 'Tag','time_edit_idiff' ),'String',num2str( fullTime ) );
if( ~isempty( find( isnan( X ) ) ) )
errordlg(sprintf([ 'Выбранный метод не подходит для проведенияn' ...
'рассчетов с данными функциями!']), ...
'Ошибка при проведении вычислений!','modal'); return;
end
hTable = findobj('Tag','q_table_idiff');
table = get( hTable,'Data' ); table( :,2 ) = X;
set(hTable,'Data',table);
[T,Y]=solveDiffEqTab(h.owndata.f_tab,X,h.owndata.c,h.owndata.t_tab);
errMd=errorMiddle2(h.owndata.y_tab,Y); errMx=errorMax(h.owndata.y_tab,Y);
figure; plot( h.owndata.t_tab,abs(h.owndata.y_tab-Y),'.b' );
title( '|Y-Y_0|' );
set(findobj('Tag','errorMd_edit_idiff'),'String',num2str(errMd));
set(findobj('Tag','errorMx_edit_idiff'),'String',num2str(errMx));
h.owndata.p = X; h.owndata.time_p = fullTime;
h.owndata.accuracy_p = NaN; h.owndata.errorMiddle_p = errMd;
h.owndata.errorMax_p = errMx; guidata( hMain,h );
218
ПРИЛОЖЕНИЕ В
АКТЫ ВНЕДРЕНИЯ РЕЗУЛЬТАТОВ НАУЧНОЙ РАБОТЫ
219
220

More Related Content

PPT
лекция 31
PPTX
лекция 1
DOC
курсовая работа
PDF
РАЗРАБОТКА МОДЕЛИ ЭКСПЕРТНОЙ СИСТЕМЫ НА ОСНОВЕ НЕЧЁТКОЙ ЛОГИКИ
PDF
автоматизированный анализ психического состояния студентов
PPTX
о лаб мод и упр 2014
PDF
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...
лекция 31
лекция 1
курсовая работа
РАЗРАБОТКА МОДЕЛИ ЭКСПЕРТНОЙ СИСТЕМЫ НА ОСНОВЕ НЕЧЁТКОЙ ЛОГИКИ
автоматизированный анализ психического состояния студентов
о лаб мод и упр 2014
Нейросетевые технологии, нечёткая кластеризация и генетические алгоритмы в эк...

What's hot (20)

PPT
Тема 4. Методы описания сложных систем
PPTX
PDF
Робастные методы и алгоритмы оценивания корреляционных характеристик данных н...
PPTX
PPTX
Geo sib 2012
PPTX
dfjvn
PPT
лекция 35
PDF
Моделирование ТПиПП
PPTX
Распознавание лиц с помощью экстремального обучения нейронов
PPT
Тема 2. Классификация систем
PPT
Михаил Александров. Индуктивное моделирование.
PDF
Stat 5 alpha
PPT
Trpo 5 треьования_модели
PPT
лезин
PDF
Методики получения бизнес-информации
PPTX
выч.мат. курсовая
PPTX
Практический курс «Основы Data Mining для всех»
PPT
Тема 3. Модели и закономерности систем
PDF
Motivation and Willpower component of the student model and it's application ...
Тема 4. Методы описания сложных систем
Робастные методы и алгоритмы оценивания корреляционных характеристик данных н...
Geo sib 2012
dfjvn
лекция 35
Моделирование ТПиПП
Распознавание лиц с помощью экстремального обучения нейронов
Тема 2. Классификация систем
Михаил Александров. Индуктивное моделирование.
Stat 5 alpha
Trpo 5 треьования_модели
лезин
Методики получения бизнес-информации
выч.мат. курсовая
Практический курс «Основы Data Mining для всех»
Тема 3. Модели и закономерности систем
Motivation and Willpower component of the student model and it's application ...
Ad

Similar to дисертацIя костьян (16)

PDF
651.локальные методы анализа динамических систем учебное пособие
PDF
651.локальные методы анализа динамических систем учебное пособие
PDF
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
DOC
обратные операции
PDF
Thesis abstract on "An identification of stochastic systems"
PDF
Метод дискретных особенностей и компьютерный инструментарий для моделировани...
PDF
Тренинг "Введение в дополнительные главы высшей математики"
PDF
КОНТРОЛЬ ЗАТРАТ НА УПРАВЛЕНИЕ ПРИ ВОСПРОИЗВЕДЕНИИ ГАРМОНИЧЕСКИХ ЭКЗОГЕННЫХ ВО...
PDF
470.динамика цифровых колебательных систем учебное пособие
PPTX
rus_Diploma_master_degree
PDF
Phd presentation
PDF
методы моделирования и оптимизации конспект лекций
PPT
PDF
33379
PPSX
Inverse problems (Обратные задачи математики)
PPT
Критерии адекватности математических моделей в физике твердого тела
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
обратные операции
Thesis abstract on "An identification of stochastic systems"
Метод дискретных особенностей и компьютерный инструментарий для моделировани...
Тренинг "Введение в дополнительные главы высшей математики"
КОНТРОЛЬ ЗАТРАТ НА УПРАВЛЕНИЕ ПРИ ВОСПРОИЗВЕДЕНИИ ГАРМОНИЧЕСКИХ ЭКЗОГЕННЫХ ВО...
470.динамика цифровых колебательных систем учебное пособие
rus_Diploma_master_degree
Phd presentation
методы моделирования и оптимизации конспект лекций
33379
Inverse problems (Обратные задачи математики)
Критерии адекватности математических моделей в физике твердого тела
Ad

More from Черкаський державний технологічний університет (20)

дисертацIя костьян

  • 1. ЧЕРКАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ На правах рукописи Костьян Наталья Леонидовна УДК 681.3.057:518.12 МЕТОДЫ И СРЕДСТВА ФОРМИРОВАНИЯ И ЧИСЛЕННОЙ РЕАЛИЗАЦИИ ИНТЕГРАЛЬНЫХ МОДЕЛЕЙ ОБРАТНЫХ ЗАДАЧ ДИНАМИКИ СИСТЕМ 01.05.02 - Математическое моделирование и вычислительные методы Диссертация на соискание ученой степени кандидата технических наук Научный руководитель: Сытник Александр Алексеевич, кандидат технических наук, доцент Черкассы – 2015
  • 2. 2 СОДЕРЖАНИЕ ВВЕДЕНИЕ 4 РАЗДЕЛ 1. ОБРАТНЫЕ ЗАДАЧИ ДИНАМИКИ СИСТЕМ 13 1.1. Обратные задачи динамики 13 1.2. Интегральные модели обратных задач динамики 22 1.3. Численные подходы и программные средства решения обратных задач динамики 28 1.4. Выводы 37 РАЗДЕЛ 2. ИНТЕГРАЛЬНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ ДИНАМИЧЕСКИХ ОБЪЕКТОВ 39 2.1. Методы формирования интегральных динамических моделей в задачах идентификации 39 2.2. Метод и алгоритмы идентификации динамических объектов на основе интегральных моделей 46 2.3. Идентификация динамических объектов при произвольном воздействии на основе метода многократного интегрирования 52 2.4. Способ построения передаточной функции динамического объекта на основе интегральных спектров Пуассона 59 2.5. Метод аналитического представления экспериментальных зависимостей 66 2.6. Выводы 76 ГЛАВА 3. МЕТОДЫ И АЛГОРИТМЫ ВОССТАНОВЛЕНИЯ ВХОДНЫХ СИГНАЛОВ ДИНАМИЧЕСКИХ ОБЪЕКТОВ 79 3.1. Формирование и виды явных динамических моделей 79 3.2. Квадратурные алгоритмы восстановления входных воздействий на основе решения уравнений Вольтерра І рода 3.3. Многошаговые алгоритмы решения интегральных уравнений Вольтерра І рода в задаче восстановления сигналов 90 108
  • 3. 3 3.4. Частотный способ восстановления сигнала на входе линейного динамического объекта 118 3.5. Выводы 125 ГЛАВА 4. ПРОГРАММНЫЕ СРЕДСТВА РЕШЕНИЯ ОБРАТНЫХ ЗАДАЧ ДИНАМИКИ. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ 127 4.1. Структура комплекта программ в системе MATLAB 127 4.2. Организация программных модулей 134 4.3. Решение прикладных задач 144 4.3.1. Теплодинамические модели резистивных структур при решении задач динамики 144 4.3.2. Идентификация участков длинных линий (RC-объектов) 150 4.3.3. Коррекция динамических искажений измерителя тепловых потоков 154 4.4. Выводы 160 ЗАКЛЮЧЕНИЕ 162 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 164 ПРИЛОЖЕНИЕ А. Алгоритм идентификации динамических моделй с запаздыванием 181 ПРИЛОЖЕНИЕ Б. Листинги программ 194 ПРИЛОЖЕНИЕ В. Акты внедрения результатов научной работы 218
  • 4. 4 ВВЕДЕНИЕ Актуальность работы. Развитие современных систем измерения, контроля, управления и диагностики характеризуется повышением требований к качественным показателям, расширением функциональных возможностей, ростом сложности исследовательских и проектных задач при их создании. Как правило, основой функционирования указанных систем являются методы и средства обработки экспериментальных данных и компьютерной реализации математических моделей динамических объектов (элементов, звеньев, блоков, схем и др.), являющихся составными частями систем. Одним из существенных показателей развития методов оперативной обработки информации является увеличение доли обратных задач в общем перечне решаемых задач системами данного класса. При этом имеется ввиду, что принципиально все задачи математического моделирования можно разделить на две группы: прямые задачи, то есть задачи анализа, когда известны причины определенных процессов и необходимо найти следствия, а также обратные задачи, когда известны следствия и нужно найти причины. Теоретический и практический интерес к созданию, исследованию и применению методов и средств решения обратных задач определяется необходимостью в разработках новых методов обработки сигналов, а также повышенной, по отношению к прямым задачам, сложностью обратных задач, поскольку последние не являются корректными с математической точки зрения и обладают рядом особенностей. Трудность, в частности, состоит в необходимости принятия мер для обеспечения условий существования и единственности решения, а также учитывать отсутствие непрерывной (регулярной) зависимости решения от исходных данных. Поскольку входной информацией в обратных задачах являются экспериментальные данные, определяемые с некоторой погрешностью, то получаемое решение может сильно отличаться от точного решения. К обратным задачам динамики систем относят задачи: восстановление внешних воздействий на объект по заданным параметрам системы и реакциям;
  • 5. 5 восстановление уравнений или параметров по заданным внешним воздействиям и реакциям; подбор управляющих сигналов по заданной структуре и закону изменения выходных координат. В теории систем им соответствуют задачи идентификации, восстановления входных сигналов и управления. Решение задач динамики проводится, как правило, в рамках некоторой математической модели исследуемого объекта или системы, при формировании которой традиционным подходом в настоящее время является применение обыкновенных дифференциальных уравнений для объектов с сосредоточенными параметрами и уравнений в частных производных для объектов с распределенными параметрами. В последнем случае применительно е общепринятому методу структурного моделирования систем уравнения в частных производных заменяются приближенными динамическими моделями в виде обыкновенных дифференциальных уравнений. Задача идентификации при этом состоит в определении коэффициентов уравнений по известным правым частям (внешние воздействия на объект) и решениям (реакциям объекта). Задача восстановления входных воздействий состоит в определении правой части по заданным коэффициентам (параметрам объекта) и решениям (реакциям объекта). При исследовании прикладных задач типична ситуация, когда искомые характеристики объекта недоступны или труднодоступны для непосредственного наблюдения (например, проблема неразрушающего контроля качества изделий и конструкций, выявление дефектов внутри работающего объекта и многие другие исследования). Проведение самого эксперимента может быть невозможно. В этом случае используется некоторая косвенная информация об исследуемом объекте, которая определяется либо природой исследуемого объекта или экспериментальными данными. Методы решения обратных задач динамики основаны на применении оптимизационных алгоритмов, реализация которых может быть затрудненной из-за сложности поисковых процедур, в частности из-за нелинейной зависимости минимизируемого функционала от параметров модели.
  • 6. 6 Усложнение моделей и трудности при обработке экспериментальных данных приводят к необходимости рассмотрения способов построения альтернативных форм представления динамических моделей и дальнейшего развития методов решения обратных задач динамики. Альтернативной формой представления динамических моделей реальных технических объектов или систем при решении обратных задач динамики являются интегральные уравнения типа Вольтерра. Достоинствами интегральных моделей являются сглаживающие свойства интегральных операторов, простота и высокая устойчивость численных операций интегрирования. Интегральные динамические модели формируются на основе заданных динамических характеристик объекта, его звеньев или элементов. Динамические характеристики представляют собой функциональные зависимости, которые могут быть получены в виде экспериментальных данных или в аналитическом виде. При решении задач выбора численных методов, создании алгоритмов и программ реализации интегральных динамических моделей в обратных задачах динамики требуется проведение определенных дополнительных исследований. Таким образом, совокупность исследований и разработок по формированию интегральных моделей обратных задач динамики, разработке алгоритмов и программных средств численной и компьютерной реализации интегральных математических моделей, представленных уравнениями Вольтерра, при решении задач идентификации и восстановления входного сигнала динамического объекта представляет собой актуальную научно- техническую задачу. Существенную роль в развитии методов и средств математического и компьютерного моделирования динамических систем на основе интегральных уравнений и операторов принадлежит работам Абдусатарова Б.Б. [1, 111], Апарцина А.С. [5-12], Бакушинского А.Б. [11, 15-16], Бекмуратова Т.Ф. [18- 19], Васильева В.В. [21-22, 16], Ватульяна А.О. [24], Верланя А.Ф. [26-32, 110- 111, 113], Гальченко В.Я. [36-38], Грановского В.А. [46], Задираки В.К. [63-65],
  • 7. 7 Засядько А.А. [66-68, 109], Иванова В.В. [41, 63, 69, 109], Конета И.М. [79], Лаврентьева М.М. [100], Меньшикова Ю.Л. [106-108], Мокина Б.И. [117], Мороза В.І. [118-120], Павленко В.Д. [126-130], Положаенко С.А. [30, 131], Пупкова К.А. [112], Сизикова В.С. [15, 26, 113, 144-145], Старкова В.Н. [152- 153], Сытника А.А. [27, 31, 45, 82], Тихонова А.Н. [158-159, 166], Худаярова Б.А. [28], Форсайта Дж. [162], Aburdene M. [171], Baker С. [175], Strejc V. [181], Vrancic D. [183] и др. Связь работы с научными программами, планами, темами. Диссертационная работа выполнена в Черкасском государственном технологическом университете при сотрудничестве с Институтом проблем моделирования в энергетике имени Г.Е. Пухова НАН Украины в рамках научно-исследовательской работы «Создание методов и средств математического и компьютерного моделирования динамических процессов в автономных энергетических силовых установках при построении современных систем управления, диагностики и испытания» (№ г/р 0111U007792). Цель и задачи исследования. Целью диссертационной работы является повышение эффективности методов и средств математического моделирования при решении обратных задач динамики на основе создания методов формирования, численных алгоритмов и программных средств компьютерной реализации интегральных динамических моделей. Для достижения поставленной цели необходимо решить следующие задачи: 1. Анализ и систематизация обратных задач динамики систем, а также подходов, методов и программных средств их решения; обоснование подхода к решению обратных задач динамики на основе интегральных динамических моделей; выбор программной платформы для проведения исследований и создания специализированного комплекса программ. 2. Разработка методов формирования и численной реализации интегральных динамических моделей при решении задач идентификации динамических объектов; построение и исследование способов обработки
  • 8. 8 экспериментальных данных для реализации методов идентификации; разработка и программная реализация численных алгоритмов решения задач идентификации динамических объектов в интегральной постановке. 3. Разработка и исследование методов и алгоритмов восстановления входных сигналов динамического объекта на основе применения интегральных динамических моделей в форме уравнений Вольтерра І рода с обеспечением устойчивости вычислительных процессов на основе метода регуляризации и построения базового набора алгоритмов применительно к созданию программных средств с различными требованиями к точности результатов моделирования. 4. Разработка комплекса программ компьютерного моделирования, реализующего предложенные методы и алгоритмы решения обратных задач динамики; проведение вычислительных экспериментов по решению модельных и практических задач. Объектом исследования являются процессы моделирования обратных задач динамики систем. Предметом исследования являются методы и средства математического и компьютерного моделирования обратных задач динамики на основе применения интегральных динамических моделей в форме интегральных уравнений. Методы исследования. Работа выполнена с использованием элементов теории интегральных уравнений (при формировании и реализации математических моделей), методов эквивалентных и аппроксимирующих преобразований уравнений динамики (при построении альтернативных форм моделей динамического объекта); методов аппроксимации функций (при обработке экспериментально полученных данных); элементов теории матриц (при использовании псевдообратных матриц для решения систем линейных алгебраических уравнений); методов численного анализа (при разработке квадратурных алгоритмов реализации интегральных динамических моделей); методов организации программных средств на основе типовых пакетов
  • 9. 9 моделирования (для обработки и аппроксимации экспериментальных данных при решении задач моделирования); методов проведения вычислительных экспериментов (при исследовании динамических систем). Научная новизна полученных результатов. Новыми являются следующие научные результаты. 1. Впервые разработан интегральный метод идентификации динамического объекта, состоящий в формировании динамической модели линейного объекта в виде интегрального уравнения Вольтерра II рода, дискретизация которого посредствам квадратурных формул представляет собой «прямой» (безоптимизационный) способ получения и устойчивого решения алгебраической системы относительно искомых параметров. 2. Впервые разработан способ восстановления сигнала на входе линейного динамического объекта по фазо-частотной характеристике, полученной при смешанном приближении функциями с постоянным наклоном и параболическими отрезками для разных диапазонов логарифмической амплитудной частотной характеристики, что позволяет применять данный способ для всех диапазонов частотной характеристики. 3. Усовершенствован метод многократного интегрирования в задачах идентификации динамического объекта, который отличается использованием произвольных начальных условий, применением нормализации функций входного и выходного сигналов, а также формул интегрирования по частям, что позволяет получать рекуррентные процедуры вычисления искомых параметров, в том числе для систем высокого порядка, и исследовать процесс на выходе объекта, вызванный входным воздействием произвольного характера, а также избежать погрешностей быстро изменяющегося сигнала. 4. Усовершенствованы и исследованы способы построения модели объекта в форме дробно-рациональной передаточной функции по реакции на входное воздействие произвольной формы на основе преобразования Лапласа- Карсона: первый способ отличается представлением функций входного воздействия и реакции объекта рядами Тейлора, другой – формой
  • 10. 10 аппроксимирующего полинома и возможностью итерационного уточнения искомых параметров, что обеспечивает максимальное быстродействие решения задачи идентификации динамических объектов с сосредоточенными и распределенными параметрами с необходимой точностью. 5. Получил дальнейшее развитие метод аналитического представления функции времени, заданной таблицей экспериментально полученных данных, в котором, в отличие от предыдущих, функция представляется в виде решения однородного линейного разностного уравнения с постоянными коэффициентами на основе z-преобразования при использовании метода псевдообратной матрицы, за счет чего достигается повышение точности аппроксимации. 6. Получил дальнейшее развитие метод численного дифференцирования, как частный случай решения задачи восстановления входного сигнала динамического объекта по интегральной модели, который отличается использованием структурных моделей динамических систем с обратной связью, содержащих контуры интегрирования, за счет чего получено улучшение точности результатов по сравнению с традиционным разностный метод, реализованным в пакете MATLAB/SIMULINK. 7. Получили дальнейшее развитие алгоритмы для решения уравнения Вольтерра I рода, которые в отличие от традиционных обеспечивают необходимое быстродействие за счет использования формул высших порядков и организации многошаговых вычислений, предоставляя возможность выбора квадратурной формулы в зависимости от вида ядра. Практическое значение полученных результатов работы состоит в следующем. На основе эффективного использования системы MATLAB впервые создан комплекс программ, который позволяет решать широкий класс обратных задач динамики технических объектов и систем с возможностью обеспечения необходимой точности и быстродействия. Разработанные программные средства, обладающие свойством совместимости со стандартными средствами среды MATLAB, позволяют повысить качество и
  • 11. 11 расширить функциональные возможности методов и средств моделирования обратных задач динамики применительно к проектированию и функционированию компьютеризированных технических систем оперативной обработки сигналов. Результаты работы используются в проектно-ремонтной организации ТОВ “Спецтестсервис” во время работ по диагностике электронного оборудования цифровой связи FCM-05 и в учебном процессе Черкасского государственного технологического университета. Личный вклад соискателя. Все результаты диссертационной работы, которые вынесены на защиту, получены автором самостоятельно. Работы [82- 83, 85-92] опубликованы самостоятельно. В опубликованных трудах в соавторстве лично диссертанту принадлежат такие результаты: в [177] − предложен метод решения плохообусловленных систем линейных уравнений в задачах идентификации, основанный на поиске локального минимума; в [81] – предложен метод идентификации, основанный на использовании интегральной модели объекта с запаздыванием; в [93] − предложен метод аппроксимации частотной характеристики при восстановлении входного сигнала динамического объекта частотным способом на основе экспериментальных данных; в [71] − реализован способ определения передаточной функции при идентификации приемника тепловых потоков; в [182] − получены расчетные выражения для реализации интегрального метода идентификации динамического объекта в обобщенной постановке и проведения вычислительного эксперимента; в [125] − предложены квадратурные алгоритмы восстановления входных сигналов динамического объекта, основанные на использованием свойств разделяющихся ядер; в [70] – применены ряды Тейлора при аппроксимации входного воздействия и отклика динамического объекта; в [84] − предложен метод аналитического представления экспериментальных зависимостей в виде решения однородного линейного разностного уравнения. Апробация результатов диссертации. Материалы диссертации
  • 12. 12 докладывались и обсуждались на международной научно-практической конференции «Актуальні проблеми технічних та соціально-гуманітарних наук у забезпеченні діяльності служби цивільного захисту» Академии пожарной безопасности имени Героев Чернобыля, Черкассы, 2013 г.; на всеукраинских научно-практических конференциях «Інформаційні та моделюючі технології» Черкасского национального университета имени Богдана Хмельницкого, Черкассы, 2013-2015 гг.; на международном научном семинаре «Інтегральні рівняння в математичному та комп’ютерному моделюванні» Института проблем моделирования в энергетике имени Г.Е. Пухова НАН Украины, Киев, 2014 г.; на международной научной конференции «Сучасні проблеми математичного моделювання, прогнозування та оптимізації» Каменец- Подольского государственного университета, Каменец-Подольский, 2014 г.; на международной научно-практической конференции «ІНТЕРНЕТ-ОСВІТА- НАУКА-2014» Винницкого национального технического университета Министерства образования и науки Украины, 2014 г.; на международной научно-практической конференции «Обробка сигналів і негаусівських процесів» Черкасского государственного технологического университета, Черкассы, 2015 г. Публикации. По результатам научных исследований опубликованы 18 научных работ: 10 – в научных изданиях, которые входят в перечень ВАК Украины (1 из них входит в международные наукометрические базы: РИНЦ, Index Copernicus, EBSCO), 1 – в международном издании (РИНЦ) и 7 – в сборниках материалов конференций. Структура и объем работы. Диссертационная работа состоит из введения, 4-х разделов, заключения, списка использованных источников из 183 наименований на 17 страницах, 3 приложений на 50 страницах, 31 таблицы и 31 рисунка. Полный объем диссертации – 220 страниц, в том числе 150 страниц основного текста.
  • 13. 13 РАЗДЕЛ 1 ОБРАТНЫЕ ЗАДАЧИ ДИНАМИКИ СИСТЕМ 1.1. Обратные задачи динамики В динамике как в научном направлении по исследованию движения (в обобщенном смысле) рассматриваются следующие задачи: по заданным воздействиям на систему определить траекторию (закон движения) этой системы; по заданному закону движения системы определить силы, под действием которых это движение происходит [97]. Эти задачи являются в определенном смысле противоположными по своему содержанию. Поэтому их именуют прямой и обратной задачами. С развитием методов и средств управления и обработки информации актуальность обратных задач динамики заметно возрастает. Это объясняется тем, что на основе решения обратных задач оказалось возможным создавать новые и эффективные процедуры обработки и формирования сигналов в технических системах. На основе понятия обратных задач и свойственных им математических моделей решаются задачи диагностики и контроля, проектирования технических объектов и управления ими. Обратные задачи при проектировании заключаются в определении проектных характеристик (синтезе) технического объекта по заданным показателям качества при соответствующих ограничениях. При этом искомые характеристики являются причинными по отношению к этим показателям и ограничениям. В случае управления системами роль причинных характеристик выполняют управляющие воздействия, вследствие изменения которых реализуется тот или иной эффект управления, выражающийся через состояние системы — следствие. К основным видам обратных задач относятся задачи идентификации динамических объектов и задачи восстановления входных воздействий. Задачи идентификации динамических объектов. Будем рассматривать класс объектов, обладающий свойством непрерывной функциональной
  • 14. 14 зависимости выходных сигналов от входных. Данную зависимость в достаточно общем случае можно представить математически в виде следующей операторной динамической модели [1, 47] 0)],();,();,([ txQtxFtxYA , (1.1) где ],0[ Tt  − время, ),,,( 21 mxxxx  − вектор пространственных координат модели динамического объекта (ДО), А − произвольный в общем случае неизвестный оператор, удовлетворяющий условию существования непрерывной неявной функции Y , представляющий собой вектор выходных координат (сигналов) ДО, F − вектор входных координат (сигналов), Q − вектор, вообще говоря, неизвестных параметров [1, 47]. Для динамических объектов, описываемых моделями вида (1.1), существуют следующие две основные группы задач идентификации [1]: 1) задачи нахождения структуры оператора A, такого, чтобы существовал непрерывный по первой переменной оператор  и, кроме того, чтобы в (1.1) выполнялись условия существования неявной функции )0,,,(),( FtxYtxY  , определяемой равенством )],();,([(),( txQtxFtxY  (задача идентификации параметров ДО в широком смысле); 2) задачи нахождения по уравнению (1.1) вектора ),( txQ при известной структуре оператора A (задача идентификации параметров ДО в узком смысле), удовлетворяющего достаточным условиям существования в (1.1) неявной функции ),( txQ вида )],();,([(),( txFtxYtxQ  , где ][ − некоторый достаточно произвольный оператор. Методы решения задачи идентификации могут различаться по таким признакам: по способу представления характеристик ДО (во временной или частотной области) или по виду его модели; по методу проведения эксперимента на ДО: активные (эти методы, как правило, неприменимы в режиме нормальной эксплуатации), пассивные и смешанные, при которых на
  • 15. 15 ДО подаются специальные пробные сигналы малой интенсивности, не нарушающие его нормальной работы; по принятому критерию близости (подобия) ДО и модели; по методам поиска неизвестных параметров ДО. Методы поиска параметров можно разделить на две группы – вероятностные и детерминированные. В работе рассматриваются методы второй группы, требующие наименьшего количества априорной информации для решаемой задачи. Общая схема процесса идентификации приведена на рис. 1.1 (J − оценка качества результата решения задачи, Yˆ − реакция модели). Можно видеть, что схема отображает оптимизационный процесс поиска (подбора) параметров путем минимизации показателя качества получаемого решения. Объект Модель Оценка показателей качества идентификации F J Y Управление параметрами модели Рис 1.1. Общая схема процесса идентификации В задачах построения динамических моделей как стационарных так и нестационарных ДО предполагается, что (в случае скалярного объекта) значения входного )(tf и выходного )(ty сигналов измеряются в моменты времени it : Tttt N  210 (1.2) с некоторыми погрешностями ,max,)()( ~ 0   Ni iiii tftf (1.3) ,max,)()(~ 0   Ni iiii tyty (1.4)
  • 16. 16 где f ~ и y~ − приближенные, f и y − точные значения сигналов. Традиционный подход при решении таких задач [20, 23, 50, 51, 72, 13, 95] в качестве динамических моделей объекта предполагает применение обыкновенных дифференциальных уравнений вида    r i i i Tttftytq 0 )( ],0[),()()( , (1.5) где )(tqi − переменные (в общем случае) коэффициенты, подлежащие определению из (1.2)-(1.5). При этом сама модель и ее элементы не используются для построения расчетного выражения для определения параметров (коэффициентов) iq ,поскольку непосредственное воспроизведение модели (1.5) требует выполнения операции дифференцирования. Для определения )(tqi применяются косвенные поисковые процедуры. Исследования последних лет показывают, что в ряде случаев целесообразно вместо моделей (1.5) рассматривать более общие интегральные динамические модели вида   )( ),(),()(),()()( tG tGtFdytKtytA (1.6) где )(tA и ),( tK − подлежащие определению функции, )(ty − выходной сигнал );(:)( tfFtF  − известная функция, определяемая через значения входного сигнала f, G − некоторое конечное или бесконечное множество [29]. Преимущество модели (1.6) состоит в том, что она допускает непосредственную реализацию устойчивых операций интегрирования. Очевидно, что, в общем случае, при выборе методов построения моделей ДО, априорно для конкретной задачи, поскольку трудно сравнить подходы, основанные на моделях (1.5) или (1.6), в задаче нахождения величин )(tA и ),( tK также необходимо учитывать некорректность. По- видимому, эти два подхода должны в общем случае дополнять друг друга и осуществлять взаимоконтроль в смысле точности моделирования.
  • 17. 17 Однако для достаточно широких классов ДО применение интегральных динамических моделей вида (1.6) и, в частности, моделей, эквивалентных моделям (1.5), позволяет получить основу для построения высокоустойчивых численных алгоритмов расчета параметров динамических моделей ДО, чего не позволило бы применение моделей вида (1.5). Задача восстановления входных воздействий. Данная обратная задача состоит в том, что по заданной модели ДО fAy  (1.7) и экспериментально полученному выходному сигналу y определяется входной сигнал f [145]. Оператор A отображает динамические свойства объекта и может быть представлен в виде дифференциального оператора, являющегося, например, суммой операций дифференцирования, то есть модель (1.7) является дифференциальным уравнением. Если же оператор A является интегральным оператором произвольной сложности (в частности, суммой операций интегрирования различной кратности), то (1.7) является интегральным уравнением. Возможно смешанное представление оператора A в виде комбинации дифференциальных и интегральных операторов, то есть в этом случае (1.7) является интегро-дифференциальным уравнением. Решение задачи восстановления состоит в получении и численной реализации оператора 1 A , обратного оператору A, то есть в применении соотношения ) ~ (~ 1 fAy   , (1.8) где y~ и f ~ − соответственно отягощенные помехами (погрешностями) входной и искомый выходной сигналы. Реализация оператора 1 A в реальных технических системах выполняется компьютерными средствами, то есть программно или аппаратно (специализированными вычислителями). Структура системы объект-блок обработки выходного сигнала с ошибкой в f приведена на рис. 1.2. Данная система с определенным приближением решает задачу восстановления входного сигнала, динамически искаженного преобразующими
  • 18. 18 свойствами объекта. A y f +δ f Объект Блок обработки Рис. 1.2. Общая схема реализации задачи восстановления входного воздействия Рассмотренная схема обработки выходного сигнала находит широкое применение в системах регистрации сигналов (измерительных системах) и в более сложных системах обработки информации, таких как системы контроля, диагностики, управления, то есть в системах, работающих в реальном времени. Возникающие при этом трудности определяются некорректностью математической задачи обращения оператора A, то есть принципиально неустойчивой задачей решения уравнения (1.7). Для успешного решения задачи восстановления необходимо применять методы регуляризации [100, 158] и разрабатывать устойчивые и точные алгоритмы их численной реализации. Выбор метода регуляризации и качество разрабатываемых численных алгоритмов существенно зависит от свойств каждой конкретной решаемой задачи, в том числе от применяемого вида математической модели динамического объекта. Принятый в работе подход основан на применении интегральных динамических моделей, то есть в данном случае зависимость (1.7) представляет собой интегральное уравнение. Возможность решения операторного уравнения (1.7) определяется условиями корректности: 1) для всякой функции f существует решение y; 2) решение единственно; 3) решение непрерывно зависит от f, то есть оно устойчиво относительно малых вариаций (отклонений) f. Если не удовлетворяется хотя бы одно из указанных условий, то задача называется некорректно поставленной. Приведение задачи к “корректному” виду и представляет собой процесс (процедуру) регуляризации. Практически все
  • 19. 19 прикладные задачи вида (1.7) требуют применения регуляризирующих методов, что свидетельствует о том, что для оператора A нельзя принципиально точно получить обратный оператор 1 A . Отметим, что к некорректным задачам относятся многие задачи анализа, в том числе дифференцирование функций, заданных с погрешностями; суммирование рядов Фурье с неточно заданными коэффициентами; решение систем линейных уравнений с определителями, близкими к нулю при наличии погрешностей элементов матрицы и правых частей и т. д. Анализ публикаций по методам решения обратных задач. В работе [138] предложен метод статистической регуляризации при решении обратной задачи, требующий знания законов распределения измеряемого сигнала и помех, что является весьма жестким ограничением. В цифровых методах обработки сигналы заменяются совокупностями дискретных отсчетов, получаемых на конечном интервале времени. В этом случае влияние погрешностей дискретизации и ограниченности времени наблюдения можно уменьшить, увеличивая частоту дискретизации и время наблюдения так, что основной вклад в возмущения вносят погрешности измерения [7]. В работах [2, 96, 150] и ряде других обратная задача решается как задача оптимальной фильтрации. В работе [2] показана возможность построения устройства оптимальной обработки выходного сигнала линейного измерителя на базе элементов аналоговой вычислительной техники, задача решалась в терминах преобразования Лапласа и передаточных функций. Был получен физически реализуемый корректирующий фильтр. Однако, метод определения оптимальной передаточной функции опирается на предположение об искомой импульсной передаточной функции как элементе стационарного случайного процесса, что не вполне корректно [151]. В работе [147] обратная задача рассматривается как компенсация динамических составляющих погрешности измерения. Решается задача синтеза алгоритма определения измеряемого сигнала по зарегистрированной реализации выходного сигнала датчика. Синтез алгоритма произведен, исходя
  • 20. 20 из условия минимума среднего квадрата сигнала погрешности, спектральные плотности которого задаются своими верхними и нижними пределами на каждой частоте. Получены и проанализированы решения задачи синтеза фильтра, при нестационарном характере входного воздействия и неточном задании импульсной характеристики. Однако, уменьшения априорной информации и увеличение погрешности приводит к тому, что степень компенсации динамической погрешности уменьшается. Известны работы, в которых для решения обратной задачи используют фильтр Калмана [145, 172]. Этот фильтр может осуществлять фильтрацию в темпе измерения для нестационарных входных воздействий и нелинейных уравнений измерительных преобразователей. Однако при реализации фильтра возможна его расходимость. Способ борьбы с этим недостатком — загрубление фильтра. Как уже отмечалось, с математической точки зрения постановка обратной задачи (1.8) является некорректной. Поэтому практическое решение задачи происходит с трансформацией ее к корректной постановке и нахождению регулярных (устойчивых к помехам) решений. При этом большинство регуляризованных решений получено на основе метода регуляризации А.Н. Тихонова [158, 159], использующего при минимизации функционала минимизирующие добавки. Результатом таких решений является частотная характеристика фильтра, имеющего полюсы в правой полуплоскости. Поэтому реализация корректирующего фильтра в виде линейного звена невозможна. Определение входного сигнала, динамически искаженного средством измерений, по априорной информации о том, что случайные помехи ограничены многомерными параллелепипедами, приведено в работе [48]. Для улучшения устойчивости решения задачи восстановления входного сигнала к помехам в работе [73] используется априорная информация о свойствах измеряемого сигнала, служащая дополнительным регуляризующим фактором. Кроме того, в работе [146] восстановление сигнала производится посредством решения интегрального уравнения с параметром регуляризации, выбираемым
  • 21. 21 оптимальным образом по информации о статистических характеристиках помех. В работе [141] предложен регуляризующий метод компенсации влияния аппаратной функции на результат измерения. Предлагаемый метод основан на спектральном представлении оператора свертки, является регуляризующим и использует информацию о погрешностях ядра и правой части, представленных в виде замкнутых эллипсоидов. Вместе с тем характеристики помех могут быть известны приближенно. Кроме того, они могут изменяться в процессе измерения. Это существенно снижает точность восстановления измеряемого сигнала. Согласно методу, предложенному в работе [102], восстановление выполняется для случая связи входного и выходного сигналов в форме обратного оператора — линейного дифференциального уравнения с постоянными коэффициентами. В этом случае априорной информацией служит полная нормированная динамическая характеристика средства измерения. Кроме того, предполагается наличие зарегистрированной реализации выходного сигнала достаточной длительности. Применяемая операция дифференцирования должна обладать регуляризующими свойствами. Для выбора параметра регуляризации необходимо, чтобы после восстановления входного сигнала дисперсия погрешности результата, обусловленная шумами в выходном сигнале средства измерения, не превосходила исходную дисперсию погрешности. Метод основан на приближенном представлении -функции в виде экспоненты и использовании ее в интегральном уравнении. Метод требует нахождения интеграла на каждом шаге и, следовательно, большого объема вычислительных операций. Данный метод близок к подходу, применяемому в данной работе, однако, существенно отличается применяемой моделью в виде дифференциального уравнения. Таким образом, применяемый в работе подход, основанный на использовании интегральных уравнений остается менее исследованным и, судя по некоторому опыту решения практических задач [26, 143], является достаточно эффективным и перспективным.
  • 22. 22 1.2. Интегральные модели обратных задач динамики Интегральное уравнение Вольтерра II рода. При рассмотрении задачи формирования динамических моделей по заданным внешним возмущениям и реакциям динамический объект описывается интегральными уравнениями Вольтерра II рода, которые (относительно u(t)) имеют вид )()(),()( 0 tfdssustKtu t t   ],[ 0 Ttt  , (1.9) где правая часть f(t) и ядро ),( stK – известные функции. Существенное значение имеет вид ядра ),( stK . В частности, ядро )()(),( 1 ststK n i ii   называется вырожденным и играет важную роль при численной реализации. Уравнения Вольтерра могут рассматриваться как частный случай интегральных уравнений типа Фредгольма   T t tfdssustKtu 0 ),()(),()( в которых ядро определяется в виде        ,0 ,),( ),( tsпри tsприstK stK т.e. считается заданным в треугольнике, ограниченном сторонами stTtts  ,,0 . Уравнения Вольтерра II рода могут быть получены как по структуре системы, так и путем эквивалентных преобразований исходных дифференциальных уравнений. Уравнение (1.9) может быть представлено в форме   t t t t ,dssft,sGt,tsut,sHtuH*u 0 0 )()()()()()()( (1.10) где ядро ),( stH характеризует «собственную» динамику моделируемого
  • 23. 23 объекта и в совокупности с функцией ),( stG отображает преобразующую способность объекта по отношению к внешнему возмущению )(tf . Можно отметить следующее важное для приложений свойство универсальности интегральных динамических моделей: интегральное уравнение с производным ядром не может быть путем эквивалентных преобразований приведено к дифференциальным уравнениям; обратный переход возможен всегда. Как и в случае начальной задачи, интегральные динамические модели, описывающие краевые задачи, обладают высоким уровнем универсальности. Путем эквивалентных преобразований к ним сводятся принципиально все дифференциальные уравнения с ограничениями в виде краевых условий, тогда как обратный переход возможен лишь в некоторых частных случаях. Определяющей составной частью любого интегрального уравнения является интегральный оператор. Нелинейные интегральные операторы, естественно, представляют собой модели нелинейных объектов, хотя задача формирования этого вида моделей значительно сложнее линейного случая. Интегральное преобразование   T t KxdssstKtu 0 ,)(),()( (1.11) в котором  TtCt ,)( 0 , а ядро ),( stK — заданная нелинейная функция, принадлежащая области (квадрату) },{ 0 TsttP  , представляет собой интегральный оператор Фредгольма. Из непрерывности ядра в области P следует непрерывность функции )(tu для произвольной непрерывной функции )(t . Уравнение Вольтерра I рода. Согласно методу интегральных уравнений [21, 24], задача восстановления внешних возмущений при заданной структуре объекта сводится в общем случае к решению уравнения Вольтерра I рода   t t tfdssustK 0 )()(),( , (1.12)
  • 24. 24 где ядро ),( stK представляет собой аппаратную функцию объекта; )(tf − ее выходная переменная; )(su − искомая величина, поступающая на вход. Уравнение (1.12) на интервале ),( 0 tt имеет единственное непрерывное решение, если ядро и правая часть имеют непрерывные производные t K   и t f   , и, кроме того, 0)( 0 tf , а ),( ttK на ],[ 0 Tt не обращается в нуль. При этих условиях от уравнения (1.12) посредством дифференцирования можно перейти к эквивалентному уравнению Вольтерра II рода      t t t ttK tf dssu ttK stK tu 0 ),( )( )( ),( ),( )( . В том случае, когда 0),( ttK , данный способ перехода к уравнению II рода можно продолжить, выполняя дифференцирование несколько раз. После n-го дифференцирования получим уравнение          t t n n n n n tfdssu t stK tu t ttK 0 )()( ),( )( ),( )( 1 1 , которое и позволит найти единственное решение, если на ],[ 0 Tt функция 1 1 ),(     n n t ttK в нуль не обращается. Применяется и другой способ сведения уравнения (1.12) к уравнению II рода. Если обозначить   t t tfdssuty 0 )()()( , 0)( 0 ty и выполнить интегрирование по частям         t t ts ts t t dssy s stK systKdssustK 0 0 0 )( ),( )(),()(),( , то уравнение (1.12) примет вид   t t s ttK tf dssy ttK stK ty 0 ),( )( )( ),( ),( )( .
  • 25. 25 Среди приложений распространены слабосингулярные уравнения, т. е. уравнения с ядрами    )( ),( ),( st stQ stK , 10  . Для решения таких уравнений требуется использовать специальные приемы точного или приближенного преобразования. Имеются частные случаи, для которых решения могут быть записаны в явном виде. Решением обобщенного уравнения Абеля     t tfds st su 0 )( )( )( является      t ds st sf dt d tu 0 1 )( )(sin )( . Определение аппаратной функции объекта с переменными параметрами. В задачах восстановления возмущающего воздействия по измеренной реакции линейного объекта с переменными параметрами эффективно используется аппаратная функция ),( stA , входящая в качестве ядра в интегральное уравнение I рода ,)()(),(  t a tydssxstA (1.13) где )(tx — искомое возмущение; )(ty — реакция объекта на )(tx . На практике аппаратная функция известна не всегда и задача ее определения может оказаться сложной. Аппаратную функцию в аналитической форме получают из составленного для рассматриваемого объекта линейного дифференциального соотношения [24] )()()()()(...)()()( 0111 1 txtytaty dt d taty dt d taty dt d n n nn n    (1.14) с начальными условиями ______ , 1,0 )(   niy at i i .
  • 26. 26 Непосредственное использование дифференциального соотношения (1.14) для нахождения )(tx осложняется наличием случайных помех в измеренном сигнале )(ty , из-за которых дифференцирование )(ty сопряжено со значительными ошибками. Последовательным интегрированием выражение (1.14) можно привести к эквивалентному интегральному соотношению ,)()(),()(   t a tdssystKty (1.15) где           n i in j j in i ji ts sCstK ji 1 0 ; )!1( )( )()1(),( 1 );()( )!1( )( )( 1 tPdssx n st t t a n       (1.16) ; )!1( )( )1()( 1 11 1 0 )( 1 1              k j j jk n k k i i k ji at CtP ji j i ;)()( ati i i k ta dt d k  . )!(! ! qpq p Cq p  На основании формулы (1.15), рассматривая ее как интегральное уравнение, можно записать ,)(),()()(   t a dssstRtty (1.17) где ),( stR — резольвента, связанная с решением линейного однородного дифференциального уравнения вида 0),()()1(),( 1 1 1 )( 1 0           stg ds d saCstg ds d ji ji i n n j in i in n i in j при начальных условиях 1,2,0,0 1 1 _______     stn n stk k g ds d nkg ds d соотношением
  • 27. 27 ).,(),( stg ds d stR n n  Для представления уравнения (1.17) в форме (1.13) выполняется ряд преобразований. С учетом (1.16) соотношение (1.17) можно представить в виде ).()( )!1( )( )(),()( )!1( )( ),()( 11 tPdssx n st dssPstRdsdx n s stRty t a t a t a s a nn                    (1.18) Меняя порядок интегрирования, рассмотрим сумму первого и третьего слагаемых правой части (1.18): .)( )!1( )( ),( )!1( )( )( )!1( )( )( )!1( )( ),( )( )!1( )( )( )!1( )( ),( )( )!1( )( )( )!1( )( ),( 11 11 11 11 dssxd n s tR n st dssx n st dsdx n s tR dssx n st ddsx n s stR dssx n st dsdx n s stR t a t s t a t a t s t a t a t t a t a s a nn nn nn nn                                                                            Таким образом, в результате преобразований из (1.18) получаем ),()(),()(),( )!1( )( )!1( )( )( 11 tPdssPstRdssxdtR n s n st ty t s t a t s nn                    которое при условии 0)( tP (1.19) представляет собой интегральное уравнение Вольтерры I рода вида (1.13) с ядром .),( )!1( )( )!1( )( ),( 11          t s dtR n s n st stA nn
  • 28. 28 Таким образом, восстановление )(tx можно осуществить, используя аппаратную функцию, построенную на основе дифференциального уравнения объекта при условии (1.19). 1.3. Численная и программная реализация интегральных динамических моделей Основными классами численных методов решения интегральных уравнений являются прямые, итерационные и проекционные методы [7, 17, 33, 35, 104, 161-162, 174-175]. При выборе численного метода для решения рассматриваемых обратных задач динамики следует учитывать их специфику, а также назначение программных средств, реализующих методы. Особенность численной реализации уравнений Вольтерра II рода в задачах идентификации состоит в получении по заданной структуре уравнения расчетных выражений для определения параметров модели, что приводит к необходимости применения прямых численных методов. Вместе с тем алгоритм идентификации может содержать процедуры оценки получаемых решений, для выполнения которых могут быть применены и другие методы. Специфика задач восстановления внешних воздействий на динамический объект заключается в повышенных требованиях к устойчивости алгоритмов и необходимости высокого быстродействия, что также приводит к целесообразности применения прямых методов с учетом регуляризации вычислительного процесса [35, 55-56, 113]. Общий подход к численной реализации интегральных моделей посредством прямых методов наглядно иллюстрируется при решении интегральных уравнений Вольтерра II рода        xfdsssxKx x a   , . (1.20) Для численного решения уравнения (1.20) необходимо получить аппроксимирующую систему уравнений, для чего воспользуемся выражением
  • 29. 29 (согласно квадратурному методу)        i x a ii xfdsssxKx i   , . Принимая значение ix в качестве узлов квадратурной формулы и заменяя интеграл конечной суммой, получим систему             iijji i j ji RxfxxxKAx , 1 . Полагая  iR малым и отбрасывая его, получим систему линейных алгебраических уравнений        ijji i j ji xfxxxKAx    ~~,~ 1 , (1.21) где hjxj  . Выражение (1.21) дает приближенное значение функции  ix~ в узлах ix . В соответствии с выражением (1.21) и, применяя формулы трапеций для нахождения приближенных значений искомой функции  ix~ в общем случае, можно записать следующие расчетные выражения:                                                                   . , 2 1 , 2 , 2~ , , 2 1 , 2~ ,~ 1 2 1 11 2 22 2 112 2 2 2 11 ii i i j jji jj ii i xxK h xxxK hh xxxK h xf x xxK h xxxK h xf x xfx где ni ,...,4,3 ; 1 jjj xxh ; для постоянного шага (h=const):
  • 30. 30                                         , , 2 1 ,, 2~ ,~ 1 2 11 11 ii i j jjiii i xxK h xxxKhxxxK h xf x xfx (1.22) где ni ,...,3,2 . Для ряда динамических объектов используются модели в виде уравнения 10),()( )( )( )( 0       tfdssu st stK tu t , (1.23) со слабосингулярным ядром     )( )( )( st stK stG . Слабосингулярность уравнения (1.23) приводит к определенным затруднениям при численном решении. Непосредственное применение различных алгоритмов метода квадратур исключается, поскольку 00)(  tприstG . Эффективный метод решения уравнений вида (1.23) может быть получен на основе идеи регуляризации [95, 149]. На основе рассмотренного квадратурного подхода к численной реализации интегральных динамических моделей разрабатываются также алгоритмы решения уравнения Вольтерра I рода (см. раздел 3). Программные пакеты для решения задач динамики. В связи с повышением требованием к современным процессам управления становится исключительно важной проблема решения обратных задач динамики. Качественное управление системой зависит от точности ее математической модели. Опыт, накопленный при проектировании систем, свидетельствует, что нельзя построить математическую модель, адекватную реальной системе, только на основе теоретических исследований физических процессов в системе [159]. Поэтому, в процессе проектирования систем управления одновременно с теоретическими исследованиями проводят многочисленные эксперименты, в том числе вычислительные, по определению и уточнению ее математической
  • 31. 31 модели. При наличии достаточно сложных математических моделей эффективность вычислительного эксперимента определяется качеством имеющегося алгоритмического и программного обеспечения [3, 59, 94]. В связи с этим становится актуальным задача выбора программных средств для решения обратных задач динамики на основе использования интегральных динамических моделей. В настоящее время для реализации математических моделей используются пакеты прикладных программ численного анализа и математические библиотеки. Использование математических библиотек требует наличие компилятора или интерпретатора определенного языка программирования, в частности, Pascal, С, С++, Fortran, Python. Дополнительно требуется также инструментарий для визуализации полученных результатов – либо в виде утилит операционной системы, либо в виде набора подпрограмм отдельной библиотеки. Отсюда, частое использование математических библиотек при написании целостной программы влечет за собой определенные трудности, связанные с синхронизацией работы инструментальных средств, различных версий библиотек, а также экспорта/импорта данных. Вследствие этого, при решении задач математического моделирования более выгодным является использование пакетов прикладных программ, являющихся целостными программными продуктами и обеспечивающих необходимую функциональность. В общем случае пакеты прикладных программ реализуются в виде интерактивных математических систем, включают в себя системную часть (ядро пакета) и набор функциональных модулей. Функциональные модули – это набор отдельных программ, предназначенных для решения конкретных математических задач, имеющих общее алгоритмическое описание. Из этих модулей могут составляться программы (в принципе произвольной сложности) для компьютерной реализации имеющихся математических моделей. Системная часть обычно выполняет функции сервисного характера и
  • 32. 32 предназначена для организации связи функциональных модулей между собой, а также для ввода хранения и отображения информации. Пакет программ обычно допускает развитие, старые модули модифицируются, новые — добавляются. Достоинством организации программного обеспечения вычислительного эксперимента в виде пакетов прикладных программ является также то, что их создают высококвалифицированные специалисты, знающие и использующие самые последние и самые эффективные достижения вычислительной математики и программирования. Пакеты прикладных программ имеют, как правило, встроенный язык программирования, повышающий гибкость использования программ и расширяющий спектр решаемых задач за счет создаваемых пользователем собственных модулей. Кроме того, применение одной и той же инструментальной среды как для проведения вычислений, так и для написания собственного программного кода, позволяет упростить и ускорить процесс тестирования реализованных алгоритмов. Особенностью современных интерактивных систем является также и объединение численных вычислений, символьной математики и графических средств визуализации, а также наличие встроенных средств для организации как однопоточных, так и параллельных вычислений. Применение стандартных языков программирования накладывает ограничения на точность математических расчетов, которая напрямую зависит от аппаратного обеспечения вычислительной техники. Данные ограничения становятся несущественными при использовании систем компьютерной алгебры, в которых в качестве промежуточных результатов можно применять символьные выражения или значения в виде рациональных дробей с контролируемой длиной числителя и знаменателя. С целью оптимального выбора программной платформы для решения обратных задач динамики анализировались возможности следующих наиболее распространенных серийных инструментальных средств моделирования [34, 58- 59, 114, 180]:
  • 33. 33  GAUSS, разработчик Aptech Systems Inc. (http://www.aptech.com/);  Maple, разработчик Waterloo Maple Software Inc. (http://www.maplesoft.com/);  MathCAD, разработчик MathSoft Inc. (http://mathcad.com.ua/);  Mathematica, разработчик Wolfram Research Inc. (http://www.wolfram.com/);  MATLAB, разработчик The Mathworks Inc. (http://www.mathworks.com/);  Octave, разработчик Джон Итон и др. (https://www.gnu.org/software/octave/);  O-Matrix, разработчик Harmonic Software (http://www.omatrix.com/);  SciLab, разработчик Scilab Enterprises (http://www.scilab-enterprises.com/). Систематизация и анализ результатов испытательного тестирования позволяют сравнить пакеты по возможностям их изучения, функциональным возможностям, скорости работы с большими наборами данных при их математической, статистической и графической обработке. В первой части тестирования проводилось исследование возможностей установки (наличие инсталлятора для различных операционных систем, возможность клиент/серверной установки, поддержка обновлений), изучения соответствующего программного пакета, а также возможности поддержки интерфейса пользователя, возможность импортирования документов в различные форматы, наличие демонстрационных программ. При проведении оценки использовались следующие весовые коэффициенты: 0.1 – для оценки установки, 0.3 – для оценки возможности изучения, 0.6 – для оценки поддержки пользователей, так как использование инструментального пакета опирается на его собственные функциональные возможности и реализованные подпрограммы. Во второй части исследовалась математическая функциональность рассматриваемых пакетов по следующим категориям: набор стандартных математических функций; функции линейной алгебры; функции математического анализа (нахождение границ, символьное и численное интегрирование и дифференцирование, выполнение прямого и обратного преобразований Фурье); функции численной математики (интерполяция сплайнами, классическая одномерная и многомерная интерполяция, кусочно-полиномиальная интерполяция, реализация численных методов для решения дифференциальных
  • 34. 34 уравнений и т.п.); набор статистических функций. Исходя из важности определенных групп функций для решения описанных в работе задач использовались следующие весовые коэффициенты: 0.1 – для функций стандартной математики, 0.2 – для функций линейной алгебры, 0.3 – для функций анализа, 0.3 – для функций численной математики, 0.1 – для статистических функций. В третьей части исследовалась графическая функциональность прикладных систем. Важное место в исследовании отведено возможностям экспорта/импорта и представления в разных форматах графических объектов: При оценивании были выбраны следующие весовые коэффициенты: 0.8 для графических функций, 0.2 для функций экспорта/импорта. В четвертой части проводилось исследование функциональности программного окружения. При оценке использовались следующие весовые коэффициенты: 0.3 – для редактирования кода, 0.3 – для отладки программ, 0.3 – для встроенного языка программирования, 0.1 – для программных интерфейсов. В пятой части было проведено сравнение скорости работы тестируемых пакетов в среде Windows при выполнении наиболее часто используемых операций над выбранными структурами данных:  тест на выполнение вложенных циклов;  возведение случайной матрицы в степень;  сортировка 1 млн. случайных значений;  выполнение быстрого преобразования Фурье для 220 значений;  вычисление детерминанта случайной матрицы;  поиск обратной матрицы для случайной матрицы;  нахождение собственных значений и собственных векторов случайной матрицы;  разложение Холецкого для случайной матрицы;  матричное умножение двух матриц;  расчет 1 млн. чисел Фибоначчи;  разложение на главные компоненты матрицы;
  • 35. 35  нахождение значения Гамма-функции для случайной матрицы;  вычисление параметров линейной регрессии для случайной матрицы;  интегрирование функции на интервале;  интерполяция данных на интервале;  решение дифференциальных уравнений. Вычисления проводились на ПК с микропроцессором Intel Quad Core 2.4 ГГц, 4 Г ОЗУ и операционной системой MS Windows 7. Результаты тестирования для выбранных выше пакетов приведены в таблице 1.1, при этом, при расчете общего рейтинга, результаты тестов по каждой части брались с весовыми коэффициентами 0.1, 0.2, 0.2, 0.2, 0.3 соответственно, что объясняется важностью наличия в исследуемых прикладных пакетах алгебраических и численных функций, необходимостью визуализации полученных результатов, а также развитой функциональной системой для построение собственных программных модулей. Все значения приведены в процентах от максимально возможного значения 100%. Учитывая результаты тестов, а также доступность рассматриваемых пакетов, можно сделать вывод, что наиболее приемлемыми пакетами прикладных программ для численного анализа являются MATLAB [4, 176], Mathematica [34] и MathCAD [180]. Кроме того, ни один из анализируемых пакетов не содержит встроенных возможностей для решения интегральных уравнений I и II рода. По набору функций, необходимых для численной реализации интегральных динамических моделей, наиболее мощным прикладным пакетом является MATLAB. MATLAB является интегрированным программным комплексом, который является одновременно и операционной средой, и языком программирования для решения самого широкого круга математических задач, таких как задачи линейной алгебры, решение дифференциальных уравнений, решение нелинейных систем уравнений и ряд других задач. Он поддерживает математические вычисления и визуализацию научной графики.
  • 36. 36 Таблица 1.1. Результаты сравнения серийных средств моделирования Тест Gauss Maple Math- CAD Mathe- matica MATLAB Octave O- Matrix SciLab Установка 67 100 85 85 100 75 33 80 Изучение 58 98 92 98 95 92 46 52 Поддержка 19 80 88 97 93 63 40 27 Итого 36 87 89 96 94 73 41 40 Мат. функции 77 99 98 99 98 91 81 81 Алгебраические функции 77 88 82 85 95 83 73 79 Функции мат. анализа 84 100 100 100 100 91 54 85 Численная математика 53 75 75 100 95 84 42 42 Функции статистики 65 45 72 68 78 54 22 28 Итого 71 85 86 94 95 84 54 65 Графические функции 63 65 88 80 90 82 42 61 Экспорт/импорт 54 50 100 100 100 90 68 80 Итого 61 62 90 84 92 84 47 65 Редактор кода 80 62 81 100 100 52 19 80 Отладка программ 85 38 75 82 95 42 92 68 Язык програм- мирования 67 48 58 65 72 38 43 39 Программные интерфейсы 24 22 25 33 30 25 27 31 Итого 72 47 67 77 83 42 49 59 Скорость вычислений 22 11 32 39 55 41 74 25 Всего 51 51 67 72 80 61 56 49
  • 37. 37 Основными отличительными чертами пакета MATLAB являются следующие: модульная структура пакета позволяет наращивать его мощность путем включения новых программных модулей, в том числе программ пользователя; внутренний язык пакета позволяет осуществлять операции в векторно-матричной форме; возможность вызывать подпрограммы, написанные на С и FORTRAN, как встроенные функции MATLAB; интегрированные программные модули, предназначенные для решения широкого круга задач, таких как построение цифровых и аналоговых фильтров, адаптивная фильтрация, анализ систем автоматического управления, идентификация, спектральный анализ, финансовый анализ, обработка и анализ изображений, робастное управление и т.д.; большое количество демонстрационных примеров, иллюстрирующих возможности пакета MATLAB [4, 101, 142, 144, 179]. В связи с вышеизложенным, именно MATLAB был выбран в качестве платформы для реализации разработанных алгоритмов. 1.4. Выводы 1. К обратным задачам динамики систем относятся задачи: восстановления возмущений по заданным параметрам системы и реакциям; восстановления уравнений или параметров по заданным внешним возмущениям и реакциям; подбора управляющих сигналов по заданной структуре и закону изменения выходных координат. Таким образом, это известные в теории систем задачи восстановления входных сигналов, идентификации и управления. Отметим также, что в основе методов диагностики систем лежат способы восстановления параметров, дополненные чисто диагностическими процедурами (декомпозиции, сравнения, принятия решений и т. д.). 2. Наряду с традиционными математическими моделями непрерывных динамических объектов в виде дифференциальных уравнений (обыкновенных и в частных производных) эффективным математическим аппаратом являются интегральные уравнения (уравнения Вольтерра I и II рода), обладающие рядом достоинств, как принципиального характера, так и в прикладном аспекте, в том
  • 38. 38 числе свойством универсальности. Интегральные уравнения одного и того же вида являются единой формой описания стационарных и нестационарных систем, систем с распределенными параметрами и запаздыванием, различаясь лишь видом ядра; содержат в себе полную математическую постановку описываемой задачи; структура математической модели при обобщении и обосновании постановок одномерных задач на многомерные задачи сохраняется. Таким образом, интегральные динамические модели обеспечивают решение широкого круга задач в системах управления. 3. Основой компьютерных технологий для исследования динамических объектов, особенно в технических приложениях являются типовые (серийные) пакеты прикладных программ (ППП), разработка, совершенствование и развитие которых в настоящее время являются актуальными и ведутся очень интенсивно. Пакеты обладают различными функциональными возможностями, имеют определённую прикладную ориентацию, охватывают в целом широкий класс исследовательских и проектных задач. Следует отметить, что многие важные достоинства пакетов проявляются, как правило, при решении «однорежимных» задач, решение которых состоит в воспроизведении результатов решения тех или иных уравнений при фиксированном наборе параметров модели. Одним из наиболее важных направлений развития ППП, как информационных технологий исследования сложных систем и процессов, является создание инструментария, обеспечивающего возможности решения задач моделирования в режиме активного вычислительного эксперимента с участием пользователя. Сравнительный анализ ППП с возможностями компьютерного моделирования позволил выбрать систему MATLAB для реализации интегральных моделей обратных задач динамики.
  • 39. 39 РАЗДЕЛ 2 ИНТЕГРАЛЬНЫЕ МЕТОДЫ ИДЕНТИФИКАЦИИ ДИНАМИЧЕСКИХ ОБЪЕКТОВ 2.1. Методы формирования интегральных динамических моделей в задачах идентификации Интегральные модели динамических объектов могут быть сформированы посредством следующих основных подходов: 1) на основе физических закономерностей (этот подход является общим и для других видов моделей); 2) посредством эквивалентных преобразований дифференциальных моделей; 3) на основе заданной структуры моделируемого объекта, как совокупности взаимодействующих составных частей (элементов, блоков, узлов и т.д.). Методы формирования интегральных уравнений динамических объектов на основе второго и третьего подходов являются наиболее конструктивными при реализации системного подхода в технических приложениях. Метод преобразования с расщеплением. Пусть известна модель динамического объекта в виде обыкновенного дифференциального уравнения )()()(][ )1( 1 )( xfxyaxyyD n n i i n     , i i Cy )0()( , 1,0  ni , (2.1) или в операторной форме fyD ][ . Для получения ряда эквивалентных интегральных динамических моделей, т.е. зависимостей, что содержат интегральный оператор, может быть применен достаточно общий прием, который основан на различных расщеплениях исходного дифференциального оператора. Действительно, расщепляя оператор D на два оператора, т.е. записывая 21 DDD  , получаем дифференциальное уравнение ][1 yD , (2.2) где ][)( 1 yDxf  . Выбирая такой способ расщепления, чтобы допустимым было решение уравнения (2.2), получаем решение
  • 40. 40 ][ 1 1   Dy , (2.3) которое есть интегральным или интегро-дифференциальным уравнением, поскольку оператор 1 1  D как обратный по отношению к 1D есть интегральным оператором. Рассмотренный метод эквивалентного преобразования может быть применен в нелинейных задачах. Если, например, задано нелинейное дифференциальное уравнение HH DDD 21  , где 1D − линейный оператор. Тогда исходное уравнение также сводится к виду (2.3), т.е. в общем случае к нелинейному интегро-дифференциальному уравнению. Рассмотрим данный метод более детально на примере уравнения (2.1), которое запишем в виде )()()()( )1( 1 )1( 1 )( xyaxfxyaxy n n mi i n m i i n       , После замены переменных )()(,),()(),()( )()()1()( xyxuxyxuxyxu nmmnmn    получаем уравнение m-го порядка )()()( )( 1 )( xxuaxu in m i i m     , (2.4) где )()()( )( 1 xyaxfx in n mi i    . Переходя от (2.4) к эквивалентной системе дифференциальных уравнений и используя фундаментальное решение относительно канонической системы дифференциальных уравнений, получаем уравнение с ядром экспоненциального вида   x AsAt dssuaeuexu 0 0 ),,()( , (2.5)
  • 41. 41 где )](,),(),([)( )( xuxuxuxu m  , )]0(,),0(),0([ )( 0 m uuuu  , )](,,0,0[),,( xsua   , а матрица А порядка m имеет вид                  11 000 010 aaa A mm     . Искомые переменные уравнений (2.1) и (2.5) связаны зависимостью dssusx mn dssuxy mnx mn xx )()( )!1( 1 )()( 1 000         . Переход от одного варианта модели к другому происходит путем замены значения nm ,1 . Способ последовательного интегрирования. Сущность этого способа состоит в том, что интегрируется левая и правая часть    r i i i Tttftytq 0 )( ],0[),()()( (2.6) необходимое число раз с применением формулы интегрирования по частям [26]. В частности, в случае стационарных объектов его интегральная модель принимает вид )()()()( 0 tFdssystKty t   , (2.7) где       n i i i i st qstK 1 1 , )!1( )( )( (2.8)
  • 42. 42 . )!1( ... )!1( ... !! )( )!1( )( )( 1 1 0 1 0 12 1 1 1 0 1                     n t y i t qy i t qy i t ydssf n st tF n n t n i in i ii in i i i i n (2.9) Пример. Получим интегральную динамическую модель для дифференциального уравнения с постоянными коэффициентами 1,1,0,sin23 210  yyyxyyyy . (2.10) Используя (2.7)-(2.9) получим эквивалентное интегральное уравнение в виде      t t t tsds st dssyststty 0 0 22 2 . 2 3 sin 2 )( )(])()(3[)( Наряду с рассмотренным способом перехода от моделей вида (2.6) к интегра можно применить и ряд других способов: способ подстановки; способ интегральных преобразований (операционный способ), основанный на преобразованиях Лапласа, Фурье, Меллина и др. [109]. Проиллюстрируем некоторые из этих способов на примере перехода к интегральным динамическим моделям от дифференциальных уравнений с постойными коэффициентами, описывающих линейные стационарные динамические объекты с сосредоточенными параметрами .1,0,)0(),()(...)( )()1( 1 )(   njyytftyqyqty j j n nn (2.11) Способ подстановки. Получим интегральное уравнение относительно старшей производной. Обозначив )()( )( sysU n  , )()( )1( 1 0 tyydssU n t   и т.д., получаем эквивалентное уравнению (2.11) интегральное уравнение   t tdssUstKtU 0 ),()(),()( (2.12)
  • 43. 43 где .)...)()()( , )!1( )( ),( 0122111 1 1 nnnnn n i i i qytyqytyqytft i st qstK         (2.13) Пример. Получение интегральной динамической модели данным способом рассмотрим на примере уравнения (2.10), для которого 31 q , 12 q , 23 q , 02 y , 11 y , 00 y . Формулы (2.12), (2.13) для ядра и правой части дают: 2 )()(3),( stststK  , )1(2sin) 2 ()(sin)( 301 2 221212  ttqyty t yqytyqytt . Тогда эквивалентное интегральное уравнение имеет вид   t ttdssUststtU 0 2 )1(2sin)(])()(3[)( . Отметим, что к достоинствам способа подстановки следует отнести менее громоздкий вид правой части в (2.12) по сравнению с (2.9). Недостатком (при решении задачи построения моделей динамических объектов по экспериментальным данным) такого способа является необходимость нахождения функции )(tU путем численного дифференцирования экспериментально заданной функции )(ty . Способ интегральных преобразований (операционный способ). Рассмотрим способ получения интегральной динамической модели на основании применения преобразования Лапласа к левой и правой части (2.11). Воспользовавшись элементарными свойствами преобразования Лапласа [49, 54, 77, 115], из (2.11) получаем 01122 3 1 2 0 1 2 1 1 0 1 1 )(...)...( )...()()()...( qyqpyqpqpy qpqpypFpYqpqp nnn nn n nn n nn       (2.14) или
  • 44. 44 ).()()()( pPpFpYpQ  При этом )]([)( tyLPY  − изображение исходного решения, )]([)( tfLPF  − изображение входного сигнала и n nn qpqpqpQ   ...)( 1 10 − характеристический многочлен дифференциального уравнения. Отсюда получим )( )( )( 1 ).()( pQ pP pQ pFpY  . Если )(1 ty и )(2 ty являются оригиналами функций )(/1 pQ и )(/)( pQpP соответственно (они могут быть получены разложением на элементарные дроби), то для искомого решения, согласно теоремы свертки, получим формулы   t tydssystfty 0 21 ).()()()( (2.15) Пример. Задано уравнение ),cos(sin5)(6)(5)( tttytyty  0)0( 0  yy , 1)0( 1  yy , 0)0( 2  yy . Согласно формуле (2.14), получим .1)()()65( 2  pFpYpp Откуда 65 1 )65( )( )( 22     pppp pF pY . Используя (2.15), окончательно получим    t ttss eedseeststty 0 2323 ))](cos()[sin(5)( . Достоинства и недостатки метода интегральных преобразований очевидны. Структурный метод получения интегральной динамической модели. В таблице 2.1 приведены интегральные модели, полученные при заданных: структуре ДО, динамической характеристике )(tK (импульсная переходная функция, передаточная функция, переходная функция) и нелинейной зависимости F.
  • 45. 45 Таблица 2.1 Структурный метод построения интегральных динамических моделей Структура ДО Интегральная динамическая модель  t dssxstKty 0 )(),()( (оператор Вольтерра)  t dssxFsxKty 0 )]([),()( (оператор Вольтерра-Гаммерштейна) ))(),(()( 0  t dssxstKFty (оператор Вольтерра-Немыцкого)  t dssxtKty 0 ))(,()( (уравнение Вольтерра-Урысона)   t dssysxstKty 0 )]()()[,()( (уравнение Вольтерра II рода)   t dssysxstKFty 0 ))]()()[,(()( (интегральное уравнение типа Вольтерра)   t dssysxFstKty 0 )]()([),()( (интегральное уравнение Вольтерра- Гаммерштейна) x(t) K(s) y(t) x(t) K[s,x(s)] y(t) K(s) x(t) y(t) x(t) F K(s) y(t) x(t) K(s) F y(t) F y(t) x(t) K(s) K(s) y(t) x(t) F
  • 46. 46 2.2. Метод и алгоритмы идентификации динамических объектов на основе интегральных моделей Применение интегральных моделей позволяет исследовать большое многообразие процессов, протекающих в технических системах [143]. Данные модели относятся к классу непараметрических. Поэтому, алгоритмы, применяемые для определения параметров дифференциальных моделей [26], не могут использоваться при моделировании динамических объектов на основе интегральными уравнений. Рассмотрим задачу идентификации линейного стационарного объекта, модель которого представлена уравнением 1,0,)0(),()()( )( 1 )()(     mkcutftuptu k k m j jm j m , (2.16) где f – заданный входной сигнал; u – заданный выходной сигнал; p − вектор неизвестных параметров модели; с – вектор начальных условий; ],0[ Tt  . Применив для (2.16) метод последовательного интегрирования, рассмотренный в параграфе 2.1, получаем эквивалентное интегральное уравнение Вольтера II рода                          1 00 1 1 1 00 1 ).( ! )( )!1( )( )!( )( )!1( )( m j j j t mm j jm k jk k t j j tu j t cdf m t jk t cdu j t p (2.17) Из (2.17) для моментов измерения ),1(, Nit ji  вида Tttt N  100 ; TN  100 и, полагая, что ,nm  получим следующую систему линейных уравнений относительно mjp j ,1,  : ,bpA  где ,][,),...,(,),...,( 1,11 m jiij T m T m AAbbbppp 
  • 47. 47 , )!( )( )!1( )( 1 00 1           jm k jk i k t j i ij jk t cdu j t A i (2.18) . ! )()( )!1( )( 1 00 1         m v v i v t i m i j v t ctydf m t b i (2.19) Для вычисления интегралов (2.18) и (2.19) используем квадратурные формулы [25], которые в случае стационарного объекта будут записаны следующим образом      ii N k ijk j kiij t j i urutWdut 0 1 0 1 ],[)()()()( (2.20)      ii M k imk m kiik t m i urftWdft 0 1 0 1 ],[)()()()( (2.21) где it , k – узлы разбиения ( ik tt 0 ); ijW – веса квадратурной формулы; NMN ii  ,1 , imij rr , – остаточные члены соответствующих формул. С учетом того, что значения сигналов получены экспериментально с некоторыми погрешностями, и отбрасывая ][yrij и ][ frim , из (2.18)-(2.21) получим следующие расчетные выражения:             1 00 1 ,1, )!( )(~)( )!1( 1~ jm l i jl i l N k k j kiikij NN jl t cutW j A i (2.22) .1,)(~ ! )( ~ )( )!1( 1~ 1 00 1 NMtu v t cftW m b i m v i v i v M k k m kiiki i         (2.23) Таким образом, приходим к окончательной системе уравнений для определения приближенных значений вектора :)~,...,~(~ 1 T mppp  , ~~~ bpA  (2.24) где     T m m jiij bbbAA ~ ,..., ~~ , ~ 11,   . Рассмотренная задача является частным случаем более общей задачи идентификации нестационарного динамического объекта с сосредоточенными параметрами [29], описываемого интегральным уравнением
  • 48. 48 )()(),()()()()(),()()( 2 )( 221 )( 11 21 tdftKtfttdutKtut tGtG    , (2.25) где i , iK , i )2,1( i − неизвестные величины; u и f – определены в (2.16), )(tGi − области интегрирования ( ],0[],,0[)()( 21 TtttGtG  ). Очевидно, что для стационарного объекта . )!(! )(, )!1( )( ),( ,, )!1( )( )(),(,0)(,0)(,1)( 1 1 1 0 2 1 2 1 1 1121                            m j jm k jk kj j j m m j j j jk t cp j t ct m t tK Nm j t ptKtKttt (2.26) Для решения уравнения (2.25) проведем дискретизацию модели в узлах Niti ,0,  и применим квадратурные формулы, в результате чего получим алгебраическую систему относительно неизвестных параметров, содержащую 1N уравнение: .,1,,1 ),()(),()()( )()(),()()( ),0()0()0()0()0()0( 0 222 0 111 2211 NiNNM tftKWtft tutKWtut fu ii M j ijjiijii N j ijjiijii i i         Данная система является недоопределенной [26], что может вызвать трудности при ее решении. Чтобы убедиться в эффективности метода, рассмотрим примеры решения тестовых задач (исходные данные тестовых задач обеспечивают возможность получения точного решения и проверки точности применяемых численных алгоритмов, а также обладают возможностью воспроизводимости результатов вычислительных экспериментов). Пример 1: выходной сигнал: ;01.0],2;0[,1)( 2   htetu t входной сигнал: ;2.014)( 2   t etf ,01 C ,22 C ,43 C ,84 C 165 C – начальные условия для эквивалентного дифференциального уравнения
  • 49. 49 ),()()()()()()( 5 )1( 4 )2( 3 )3( 2 )4( 1 )5( tftuptuptuptuptuptu  .5,1,)0()1(  iCu i i Необходимо определить коэффициенты ip~ (точные значения: 2.11 p , 22 p , 1.33 p , 7.04 p , 2.05 p ). Используя выражения (2.22)-(2.24) и квадратурную формулу трапеций для аппроксимации интегралов, входящих в выражения (2.18), (2.19), получаем систему относительно неизвестных коэффициентов ip~ . Применяя для ее решения метод наименьших квадратов, получаем значения искомых коэффициентов: 1995,0~,9459,1~,7472,5~,3704,3~,0113,0~ 54321  ppppp , при этом максимальная погрешность выходного сигнала umax равна 0,000125. Добавим к входному сигналу f случайную помеху, распределенную по нормальному закону, с учетом амплитуды f. На рис. 2.1 и 2.2 изображены графики входного и выходного сигнала соответственно при уровне случайной помехи 10%. В табл. 2.2 представлены значения коэффициентов ip~ , полученные при различных значениях помехи. Рис. 2.1. График входного сигнала 2,014)( 2   t etf при уровне помехи 10%
  • 50. 50 Рис. 2.2. Экспериментальные и рассчетные значения выходного сигнала при уровне помехи 10% Таблица 2.2 Значения коэффициентов ip~ , 5,1i при помехах выходного сигнала, описываемого экспоненциальным законом Величина помехи входного сигнала в % Максимальная абсолютная погрешность umax 1 ~p 2 ~p 3 ~p 4 ~p 5 ~p 1 0,003053 0,0059 -1,6820 5,7503 -4,8095 -1,3727 5 0,014173 0,0059 -1,1268 5,5406 -11,4488 -0,7102 10 0,059389 0,0183 -5,6392 5,0458 9,8715 -3,2394 Пример 2: выходной сигнал: ;1)( 1  t etu входной сигнал: ;15.0)( 1  t etf начальные условия: ,7183.31 C 7183.22 C , 7183.23 C ; эквивалентное дифференциальное уравнение ),()()()()( 321 tftuptuptuptu  3,1,)0()1(  iCu i i ; точное решение: 1,5.0,2 321  ppp . Нужно определить коэффициенты ip~ .
  • 51. 51 В процессе решения тестового примера получено значение максимальной абсолютной погрешности выходного сигнала 0024378,0max u (рис. 2.3). Рис. 2.3. Абсолютная погрешность выходного сигнала (точное значение ;1)( 1  t etu ) В табл. 2.3 представлены значения коэффициентов ip~ , полученные при различных значениях помехи. Таблица 2.3 Значения коэффициентов ip~ , 3,1i при помехах выходного сигнала, описываемого экспоненциальным законом Величина помехи входного сигнала в % Максимальная абсолютная погрешность umax 1 ~p 2 ~p 3 ~p 0 0,002438 0,0034 3,0077 -0,9974 1 0,037324 2,0267 0,5265 -0,9779 5 0,048346 1,9757 0,5471 -0,9859 10 0,017157 2,0083 0,5315 -1,0057 Пример 3: выходной сигнал: ;)( 3 ttu  входной сигнал: ;6125.1)( 23  ttttf начальные условия: 01 C , 02 C , 03 C . Нужно определить коэффициенты ip~ эквивалентное дифференциальное уравнение 3,1,)0(),()()()()( )1( 321   iCutftuqtuqtuqtu i i .
  • 52. 52 Точное решение: 1,5.0,2 321  ppp . Результаты моделирования представлены в таблице 2.4. Таблица 2.4 Значения коэффициентов ip~ , 3,1i при помехах выходного сигнала, описываемого полиномом 3-й степени Величина помехи входного сигнала в % Максимальная абсолютная погрешность umax 1 ~p 2 ~p 3 ~p 0 0,021668 2,0856 4,7155 -0,6312 1 0,024827 2,0828 0,2345 -0,7736 5 0,026551 2,2235 -0,5445 0,4487 10 0,028324 2,1337 -0,0666 -0,1927 Результаты проведенных вычислительных экспериментов свидетельствуют о таких свойствах интегрального метода идентификации, как высокая устойчивость, эффективность по затратам машинного времени и объему вычислений, простота реализации. Рассмотренный метод может быть эффективно использован при решении задач параметрической идентификации динамических объектов, представленных как дифференциальными уравнениями, так и интегральными моделями в случае их параметризации. 2.3. Идентификация динамических объектов при произвольном воздействии на основе метода многократного интегрирования Интегрирование переходных процессов позволяет определять динамические свойства испытуемого объекта при произвольном входном воздействии. Рассмотрим соотношения [183], позволяющие определять коэффициенты линейного дифференциального уравнения типа )()()()()( 1 )1( 1 )( tkxtytyatyatya n n n n     , (2.27) соответствующего передаточной функции )1( 1    n i i i pak , при следующих условиях:
  • 53. 53 .0)()()(;0)0()0()0( )1()1(   nn yyyyyy  Указанные условия означают, что испытуемый объект при 0t и t должен находиться в неизменном стационарном состоянии. В аналогичном состоянии, очевидно, должен также находиться входной сигнал х(t). В интервале  t0 входной сигнал может быть произвольным. В том случае, когда х(0) = х(∞) = 0 и соответственно y(0) = y(∞) = 0, коэффициент усиления определяется из равенства    00 xdtydtk . Для определения коэффициента а1 вначале интегрируется уравнение (2.27) в пределах от t до ∞:       tt n n n n xdtkydttyatyatya )()()( 1 )2( 1 )1(  , (2.28) а затем уравнение (2.28) в пределах от 0 до ∞:        0 2 0 2 0 1 )( 1 tt xdtkydt ydt a . (2.29) Интеграл    0 2 t ydt численно равен площади, ограниченной кривой  t ydt 0 и прямой   0 ydt . Такой же геометрический смысл имеет и интеграл    0 2 t xdt . При вычислении коэффициента а2 и последующих коэффициентов, для снижения порядка производной при определяемом коэффициенте al до нулевого выполняется l-кратное интегрирование обеих частей уравнения (2.27) в пределах от t до ∞, а затем в (l+1)-й раз – в пределах от 0 до ∞. В результате ])()1()([ )( )1( 1 0 11 1        l i ili i l l l ySaxkS yS a , (2.30)
  • 54. 54 .)(,)( 0 1 0 1 l l t t l l l t t l xdtxSydtyS                  (2.31) Дальнейшее развитие метода многократного интегрирования, рассматриваемое ниже, расширяет возможности его применения. Переходные процессы при произвольном входном воздействии с произвольным установившимся состоянием в начале и в конце процесса относятся к более общему случаю исследования. Анализ таких процессов проще анализа процессов, у которых y(0) = y(∞), так как требует определения меньшего количества интегралов. Из очевидных соображений находится коэффициент усиления системы )()0( )()0(    xx yy k . (2.32) Для определения остальных коэффициентов необходимо преобразовать уравнение (2.27). Введение нормированных переменных )( )( 1)(; )( )( 1)( 11     x tx tx y ty ty (2.33) при не сказывающемся на общности предположении, что х(0) = у(0) = 0, позволяет записать уравнение (2.27) в виде )()()()()( 1111 )1( 11 )( 1 txtytyatyatya n n n n     . (2.34) Величины х1(∞) и у1(∞) согласно (2.33) равны нулю, и это позволяет интегрировать уравнение (2.34) в пределах от 0 (или t) до ∞. В результате многократного интегрирования определяются последовательно коэффициенты уравнения (2.34), для которых может быть записана следующая рекуррентная формула: ])()1()([)1( 1 0 11     l i ili i l l l ySaxSa (l=1, 2, …,n). (2.35)
  • 55. 55 Исследование систем более общего вида значительно усложняется, так как в этом случае не существует рекуррентной формулы для вычисления коэффициентов полиномов в числителе и знаменателе передаточной функции. Для определения n коэффициентов знаменателя и m коэффициентов числителя составляется n+m уравнений, связывающих определяемые коэффициенты с численными значениями интегралов типа (2.31), вычисленными по данным эксперимента. В последних m уравнениях системы все m+n коэффициентов связаны однотипными зависимостями, отличающимися только порядком интегралов. Структура таких систем уравнений для произвольных входных воздействий типа х(0) = х(∞) приведена в табл. 2.5, а для х(0) ≠ х(∞) – в табл. 2.6. Для вычисления коэффициентов передаточной функции по формулам, получаемым в каждом конкретном случае из приведенных систем уравнений, целесообразно использовать ЭВМ. Отметим, что метод площадей [62, 181, 183] и метод многократного интегрирования оперируют с однотипными интегралами и решают одну задачу – определение коэффициентов передаточной функции. Представляет интерес установить связь между этими методами в явной форме. Преобразуем выражение для многократного интеграла с переменным нижним пределом. В результате первого интегрирования по частям интеграл Sl(у) (2.31) примет вид dtydttydttdtydtyS l l t t l l t t l l t t l                                              0 2 2 0 1 1 0 1 1 |)(       . В силу экспоненциального характера затухания переменной у первое слагаемое в правой части равно нулю не только в нижнем, но и в верхнем пределе.
  • 56. 56 Таблица 2.5 Структура систем уравнений для определения коэффициентов передаточной функции с полиномом в числителе при входном воздействии типа х(0)=х(∞) Число уравнений Коэффициенты при определяемых параметрах Правые части уравненийa1 a2 … an b1 b2 … bm m )( )( )( )( 1 2 1 yS yS yS yS m m       )( )( )( 0 1 2 1 yS yS yS m m    0 0 0 0  )( )( )( )( 1 2 1 xkS xkS xkS xkS m m  )( )( )( 0 1 2 1 xkS xkS xkS m m       )()1( 0 0 0 1 1 xkSm   )()( )()( )()( )()( 11 33 22 ySxkS ySxkS ySxkS ySxkS mm mm       n-m )( )( )( 1 1 yS yS yS n n m       )( )( )( 1 2 yS yS yS n n m    )()1( 0 0 1 ySn   )( )( )( 1 1 xkS xkS xkS n n m    )( )( )( 1 2 xkS xkS xkS n n m       )()1( )()1( )()1( 1 1 1 2 1 xkS xkS xkS mn m mn m m          )()( )()( )()( 11 22 ySxkS ySxkS ySxkS nn nn mm       m )( )(1 yS yS mn n      )( )( 1 yS yS mn n   )()1( )()1( 1 2 yS yS m n n    )( )(1 xkS xkS mn n    )( )( 1 xkS xkS mn n    )()1( )()1( 1 1 2 1 xkS xkS n m mn m        )()( )()( 11 22 ySxkS ySxkS mnmn nn     
  • 57. 57 Таблица 2.6 Структура систем уравнений для определения коэффициентов передаточной функции с полиномом в числителе при входном воздействии типа х(0)≠х(∞) Число уравнений Коэффициенты при определяемых параметрах Правые части уравненийa1 a2 … an b1 b2 … bm m )( )( )( )( 1 11 12 11 yS yS yS yS m m       )( )( )( 0 11 12 11 yS yS yS m m    0 0 0 0  )( )( )( )( 1 11 12 11 xS xS xS xS m m  )( )( )( 0 11 12 11 xS xS xS m m       )()1( 0 0 0 11 1 xSm   )()( )()( )()( )()( 11 1111 1212 1111 ySxS ySxS ySxS ySxS mm mm       n-m )( )( )( 1 11 11 yS yS yS n n m       )( )( )( 11 12 1 yS yS yS n n m    )()1( 0 0 11 ySn   )( )( )( 1 11 11 xS xS xS n n m    )( )( )( 11 12 1 xS xS xS n n m       )()1( )()1( )()1( 11 1 1 1 12 1 xS xS xS mn m mn m m          )()( )()( )()( 11 1111 1111 ySxS ySxS ySxS nn nn mm       m )( )( 1 11 yS yS mn n      )( )( 11 1 yS yS mn n   )()1( )()1( 11 12 yS yS m n n    )( )( 1 11 xS xS mn n    )( )( 11 1 xS xS mn n    )()1( )()1( 11 1 12 1 xS xS n m mn m        )()( )()( 11 1111 ySxS ySxS mnmn nn     
  • 58. 58 Последовательным интегрированием по частям выражение для Sl(у) сводится к виду dty l t dty l t y l t dty l t ydt l t yS lll t l t t l l                     0 1 0 1 0 1 2 0 22 )!1()!1()!1()!2()!2( )( || , или l l l rdty l t yS       0 1 )!1( )( . (2.36) Таким образом, многократные интегралы Sl(у) и Sl(x) численно равны моментам l-го порядка от соответствующих величин. Однако в отличие от метода площадей здесь моменты вычисляются для произвольного (в частном случае ступенчатого) воздействия. Учитывая равенство (2.36), можно записать рекуррентные формулы (2.30) и (2.35) в другой форме: ])()1()([ )( )1( 1 0 11 1        l i ili i l l l yraxkr yr a , x(0)=x(∞)=0; (2.37) ])()1()([)1( 1 0 11     l i ili i l l l yraxra , x(0)≠ x(∞). (2.38) Из рассмотрения (2.37) и (2.38) можно сделать вывод, что метод площадей является частным случаем метода многократного интегрирования. Действительно, при подстановке в (2.38) значений моментов от входного ступенчатого воздействия имеем 0)( 1 xrl (l=1, 2, 3, …). Преобразованная формула для al имеет вид       1 0 1 1 )()1( l i ili il l yraa (2.39) и совпадает с соответствующей метода площадей (в данном случае у1 = 1–h и ql = аl).
  • 59. 59 Главное достоинство метода многократного интегрирования состоит в том, что он позволяет исследовать переходные процессы, вызванные входным воздействием произвольного характера, т.е. при проведении испытаний объекта в условиях его нормальной эксплуатации и, в частности, при натурных испытаниях. Кроме того, можно избежать погрешностей, связанных с неточным фиксированием входного, например, быстро изменяющегося, сигнала. 2.4. Способ определения передаточной функции динамического объекта при входном воздействии произвольной формы на основе интегральных спектров Пуассона Известно, что наилучшую оценку параметров математической модели объекта может дать только специально организованный активный эксперимент с известным тестовым воздействием [111]. Однако организация такого эксперимента не всегда возможна по причине высокой стоимости или практической неосуществимости. Поэтому приходится определять параметры модели объекта по его отклику на входное воздействие произвольной формы, что позволяет получить явную динамическую модель объекта в форме передаточной функции, как исходной основы решения задач восстановления сигналов. Кроме того, передаточная функция позволяет эффективно получить интегральную динамическую модель. Методика оценки параметров математической модели объекта заданного аналитического вида (обычно дробно-рациональной функции pbpa i n i i k m k kpH    00 /)( , mn  ), наиболее применимая для решения поставленной задачи, состоит в следующем. Передаточная функция объекта бесконечно-дифференцируема (  CpH )( ), а измеренные входное воздействие и реакция объекта, заданные на конечном дискретном множестве, описываются некоторыми непрерывными функциями 0 )(),( Ctytx  . При этом возможны
  • 60. 60 случаи, когда непосредственно использовать измеренные значения x(t) и y(t) для оценки параметров H(p) затруднительно, так как любой метод решения системы алгебраических уравнений, к которой сводится данная задача, по сути, заключается в оценке не менее чем 2n первых конечных разностей от x(t), y(t) (где n − порядок знаменателя H(p)). Поэтому на первом шаге необходимо обеспечить мощное сглаживание x(t) и y(t), такое, чтобы выполнялось условие n Ctytx 2 )(),(  , что может быть достигнуто, например, последовательным 2n- кратным интегрированием. Наиболее подходящая форма интегрального сглаживания вытекает из определения преобразования Лапласа dttpH e pt )()( 0     . (2.40) Если в (2.40) экспоненту заменить ее разложением в ряд Тейлора-Маклорена в точке p* =p+ α, где α − произвольное положительное действительное число, то получим           0 * 00 * * )( ! )( )( k k k kt k k pPdttte k p pH , dttte k P kt k k )( ! )1( 0       , (2.41) где Pk − к-й момент Пуассона [54, 121]; )(t − импульсная переходная функция объекта. Если при проведении эксперимента измерена не функция объекта (t), а реакция y(t) объекта на воздействия x(t), то необходимый для оценки величин коэффициентов дробно-рациональной функции H(р) спектр Пуассона nkHk 2,0,  определяется из решения известного равенства )( )( )( pX pY pH  . (2.42) Пусть Xk и Yk – последовательность моментов Пуассона входного
  • 61. 61 воздействия x(t) и реакции объекта y(t). Тогда искомый спектр Hk вычисляется по вытекающим из равенства         000 k k k k k k k k k pXpYpH формулам 000 XYH  , 0 1 0 )( XXHYH k m mkmkk     . (2.43) Из системы (2.43) непосредственно следует, что погрешность в определении k -го момента Пуассона значительно больше погрешности оценок моментов Yk и Xk. Следовательно, достоверность параметров модели H(p) при произвольном входном воздействии будет хуже, чем при оценке их величин, например, по переходной или импульсной функции объекта. Этот недостаток метода принципиально неустраним при любой методике вычислений. В этом случае рекомендуется обеспечение хорошей помехозащищенности и надежности измерительной аппаратуры, а также достаточной избыточности обмеров x(t) и y(t). Иными словами, частота дискретизации x(t) и y(t) не должна существенно отличаться от частоты по Котельникову, т.е. шаг измерений должен быть не больше, чем срезft /1 , где срезf – верхняя граница спектра H(j), соответствующая частоте (в герцах), при которой модуль амплитудно- частотной характеристики объекта становится меньше утроенной величины приведенной погрешности измерительного комплекса. При вычислении спектров Пуассона существенное значение имеет используемый метод численного интегрирования. В [74] показано, что при применении классических методов интегрирования получают смещенные оценки величин моментов вследствие эффекта «мимикрии» частот. Наиболее подходит для вычисления спектра Пуассона является метод Филона второго порядка [74], суть которого в том, что на шаге интегрирования функция x(t) или y(t) представляется параболой второго порядка. При этом интеграл (2.41) берется в явном виде, и вычисления спектра Pk выполняется по рекуррентной формуле. При решении ряда практических задач существенное значение имеет
  • 62. 62 выбор порядка метода Филона. В случае использования метода первого порядка достоверность результатов часто оказывается недостаточной, а при использовании метода третьего порядка значительно увеличивается вычислительное время, однако сохраняется качестве результатов. Наилучшие результаты обработки сигналов, имеющих непрерывную первую производную, достигаются аппроксимацией x(t) и y(t) на шаге интегрирования сплайном третьего порядка 32 )( dtctbtatf  , удовлетворяющего условию непрерывности производной )(tf  . Известно [74], что определители систем алгебраических уравнений, при решении которых определяются коэффициенты H(р), плохо обусловлены, точнее, близки к гильбертовским. Величины гильбертовского определителя G для ряда значений n систем алгебраических уравнений, соответствующих числу неизвестных коэффициентов передаточной функции H(p), приведены в табл. 2.7 Таблица 2.7 Значения определителей Гильберта n 4 5 6 7 8 G 7 102   12 107,3   18 104,5   25 108,4   33 107,2   Отсюда следует, что оценка определителя по экспериментально измеренным динамическим характеристикам более семи неизвестных коэффициентов H(р) является нереальной задачей. Причина этого заключается в свойствах k-го момента Пуассона dttte k P k T t k k )( ! )1( 0      , где Т – длительность переходного процесса, по истечении которого амплитуда (t) будет меньше, чем утроенная величина погрешности измерительного комплекса. Из известной теоремы Чебышева о полиномах, наименее отклоняющихся от нуля, следует, что функция ],0[ Ttk  может быть представлена функцией
  • 63. 63 степени 1k с погрешностью не хуже, чем k21 2  . Например, функцию 5 t можно заменить рядом четвертой степени 512 1 256 25 32 25 16 35 5,2 2345  ttttt с погрешностью не больше чем 0,2%. Следовательно, можно утверждать, что если погрешность измерительного комплекса =0,5%, то все моменты Пуассона, начиная с пятого, будут линейно зависимыми от первых четырех. Если  = 0,1%, то шестой и последующие моменты Пуассона можно представить как линейную комбинацию первых пяти. Таким образом, при реально достижимой точности обмеров динамических характеристик промышленных объектов (~ =1%) можно оценить величины не более чем четырех - пяти неизвестных коэффициентов передаточной функции H(p). С помощью алгоритма идентификации объекта, построенного по данной схеме, вычисляются коэффициенты дробно-рациональных функций второго и третьего порядка по следующим формулам: при n=2: 32 21 0 PP PP D  , 31 20 1 PP PP D  , 21 10 2 PP PP D  ; 210 DDDD  ; ,, )2( ,1 0 2 01 10 2 D D b D DD bb     ; 2 ( , 2 )( )0 2110 1 2112 0 D DPDP a D DPDDP a     при n=3: 543 432 321 0 PPP PPP PPP D  , 542 431 320 1 PPP PPP PPP D  , 532 421 310 2 PPP PPP PPP D  , 432 321 210 3 PPP PPP PPP D  ; 0123 DDDDD  ; ;, )3( , )32( ,1 0 3 01 2 012 10 22 D D b D DD b D DDD bb      
  • 64. 64   D DPDDPDDDP a 2 )()( 322311230 0   ,   D DPDDPDDP a 2 2)2()2( 32231120 1   ,   D DPDPDP a 2 322110 2 2   , где  /1 . Как свидетельствуют результаты расчетов, их качество зависит от удачного выбора весового коэффициента α в (2.41). Каких-либо теоретических оценок по выбору оптимальной величины α не существует. Однако область существования оптимальной величины известна. Ее обратная величина  должна быть не меньше шага дискретизации x(t) или y(t) и не больше длительности переходного процесса. Оптимальной величине 0 соответствует наименьшее среднеквадратичное отклонение S между измеренной и расчетной реакцией объекта на заданное входное воздействие. Зависимость величины S от  многоэкстремальна. Кроме того, область существования  может оказаться разбитой на подобласти физически реализуемых решений, определяемых условиями Гурвица. Для определения наименьшей величины среднеквадратического отклонения S выбирается сочетание панорамной оценки зависимости )(S для двадцати значений 116.1  ii согласно методу градиента на интервале 00 13.187.0  j , где 0 соответствует наименьшей величине S, полученной при панорамном просмотре. Задача определения среднеквадратичного отклонения с помощью данного алгоритма имеет свои особенности. Необходимо найти отклик объекта, заданного передаточной дробно-рациональной функцией второго или третьего порядка, на заданное на дискретной сетке (в общем случае не обязательно регулярной) входное воздействие. При этом реакцию объекта следует вычислять на дискретной сетке, в общем не совпадающей с той, на которой была измерена реакция объекта. Алгоритм вычисления отклика объекта должен быть максимально быстродействующим, так как при решении задачи идентификации
  • 65. 65 он выполняется не менее 40-50 раз и определяет время счета. Достаточно эффективен в этом случае метод интегрирования Тейлора [136]. При реализации алгоритма интегрирования входное воздействие может ступенчато изменяться только в точках отсчета. Между дискретами измерения оно описывается параболой третьего порядка или, если априори известно, что входной сигнал есть гладкая аналитическая функция, − сплайном третьего порядка, обеспечивающим непрерывность первой производной x(t). При этом как входное воздействие, так и отклик объекта может быть представлен рядом Тейлора. Следовательно, можно записать k k HpkkXpX )(!)()( 3 0    ; k k HpkkYpY )(!)()( 0     , (2.44) где коэффициенты Х(k) и Y(k) − коэффициенты разложения функций x(t) и y(t) в ряды Тейлора, а k – шаг их дискретизации. Подставив (2.44) в (2.42), помножив полученное равенство на знаменатель передаточной функции H(p), а затем приравнять члены с одинаковыми степенями при р, получим k kmn m k m k k kmn HkakXHkbkY        /)(/)( 00 , 1,0  nm ; (2.45) k k n k n k k k HmkakXHmkbkY      /)()(/)()( 00 ,  ,0m , (2.46) где n − порядок знаменателя Н(p). Равенство (2.45) определяет реакцию объекта на ступенчатое изменение в момент itt  величины входного воздействия. Равенство (2.46) описывает реакцию объекта на монотонно изменяющуюся часть входного воздействия. Искомая величина реакции объекта в момент времени 11 ttt ii  , где Ht 1 , имеет вид km k ii H t kYtY           0 1 1 )()( . Для практических задач можно ограничивается членом )(10)( 4 itYmY   , что
  • 66. 66 обеспечивает методическую погрешность не более 0,1%. В целом вычислительный эксперимент свидетельствует, что предложенный алгоритм позволяет на основе пассивных экспериментов вычислить коэффициенты дробно-рациональной передаточной функции с точностью, обеспечивающей практическое решение инженерных динамических задач анализа и синтеза в технических приложениях. Одним из продуктивных направлений рассмотренного моментного подхода к формированию динамических моделей является получение передаточных функций, описывающий такой традиционно трудный для исследования класс объектов, как объекты с запаздыванием. Решение данной задачи рассмотрено в Приложении А. 2.5. Метод аналитического представления экспериментальных зависимостей При решении обратных задач динамики существенный интерес представляют аналитические выражения зависимостей, т.е. функций времени, представленных дискретными значениями (таблицами), полученными экспериментально или в результате расчетов. Как правило, такие зависимости регистрируются на выходах физических объектов, в том числе различных измерительных приборов или других технических устройств. В связи с этим ниже рассматривается метод представления экспериментальных зависимостей в виде решений дифференциальных уравнений как динамических моделей широкого класса физических объектов. Такой подход является основой многих методов идентификации в задачах динамики. Будем рассматривать непрерывные, ограниченные по модулю функции времени, полученные в результате эксперимента или расчета. При этом воспользуемся соответствующими положениями теории динамических систем [122, 154], согласно которым всякую непрерывную, ограниченную по модулю, функцию времени можно с наперед заданной точностью аппроксимировать интегралом однородного линейного дифференциального уравнения с
  • 67. 67 постоянными коэффициентами на конечном отрезке kttt 0 или на всей полуоси  t0 , если функция стремится к пределу при t . Можно показать, что эти положения справедливы для дискретных значений функции в равноотстоящих точках в случае представления зависимостей решениями однородного линейного разностного уравнения с постоянными коэффициентами. Рассмотрим однородное линейное дифференциальное уравнение n-го порядка с постоянными коэффициентами .0)()(...)()( 1 )1( 1 )(    tfatfatfatf o n n n (2.47) Пусть vrrr ,...,, 21 − корни его характеристического уравнения кратности v ,...,, 21 . Тогда общее решение уравнения (2.47) имеет вид tr ii v i i ii i etctcctf )...()( 1 1,1 1 0      , где ijс − произвольные постоянные. Теперь рассмотрим однородное линейное разностное уравнение n-го порядка с постоянными коэффициентами ,0)(])1[(...])1[(])[( 11   kTfaTkfaTnkfaTnkf on (2.48) такое, что корни его характеристического уравнения имеют вид Tr e 1 1  , Tr e 2 2  ,…, Tr v e 0  , а v ,...,, 21 − кратность этих корней. Общее решение уравнения (2.48) имеет следующий вид tr ii v i i ii i etctccktf )...()( 1 1,1 1 0      , (2.49) где ijс − произвольные постоянные. Если )()( kTfkTf  при ,...2,1,0k , а )(tf − аппроксимирующая функция для некоторой функции )(t , то и )(kTf будет аппроксимирующей функцией для )(t с такой же погрешностью аппроксимации в точках kTt  .
  • 68. 68 При представлении какой-либо функции интегралом дифференциального уравнения возникают трудности, связанные с тем, что неизвестны значения производных при 0t , являющиеся начальными условиями. В случае использования решения разностного уравнения n-го порядка начальными условиями являются известные значения аппроксимирующей функции при kTt  , 1,...,2,1,0  nk . Подвергнем уравнение (2.48) z-преобразованию. Обозначим )(zF изображение решения )(kTf уравнения (2.48), удовлетворяющего начальным условиям 0)0( ff  , 1)( fTf  , 2)2( fTf  ,…, 1])1[(  nfTnf . (2.50) Используя теорему сдвига и теорему линейности, получаем .0)(])([...]...)([ ...)( 0012 2 1 1 0 1 1 1 2 2 1 10        zFazfzzFazfzfzfzzFa zfzfzfzfzzF n nnn n nn nnn Группируя члены уравнения по степеням z и решая его относительно )(zF , находим ,1,)( 0 1 0 )1(           nn j jn jn n i in in a za zb zF (2.51) где .... ............................................... , , , 01322110 021123 0112 01 fafafafb fafafb fafb fb nnnnn nnn nn n         (2.52)
  • 69. 69 Формула (2.51) устанавливает связь между изображением )(zF решения )(kTf и коэффициентами 01,...,aan уравнения (2.48), а также между )(zF и начальными условиями (2.50). Согласно определению z-преобразования изображение функции )(kTf можно также представить в виде ,)( 0      k k k zfzF (2.53) где ),(kTffk  k 0, 1, 2, … Разделив числитель и знаменатель дроби (2.51) на n z и приравняв ее правой части выражение (2.53), получим             1 0 )1( 0 0 n i i in n j k k k j jn zbzfza . Умножая степенные ряды в левой части, находим .,0,, 000 0 nsafaczczfza sn q s sqsnq q q q n j k k k j jn               , (2.54) Следовательно,          0 1 0 )1( q q q n i i in zczb . Поскольку результат суммирования не зависит от обозначения переменной, в правой части полученного равенства можно заменить букву q буквой i. Приравнивая в обеих частях коэффициенты при одинаковых степенях z и приняв, что 0)1(  inb для 0)1(  in , т. е. для ni  , с учетом (2.54) окончательно получаем     i s sisnin fab 0 )1( ; i 0, 1, 2,…, где 0)1(  inb , ni  ; 0sna , ns  ; sif  − значения функции )(kTf при sik  . Придавая i последовательно значения
  • 70. 70      значенийmзначенийn mn,n, n,..., n,,i 1...,1,1210  , nm  получим n + m таких соотношений: ;...1 ,1 ,0 012110 0112 01 fafafb,ni ............................. fafb,i fb,i nnn nn n       (2.55) ....01 ,...02 ,...012 ,...01 ,...0 101211 0111212 10122112 102111 001111           mmmnnmn nnnnn nnnnn nnn nnn fafafaf,mni ........................................................ fafafaf,ni fafafaf,ni ......................................................... fafafaf,ni fafafaf,ni (2.56) Первые n соотношений в (2.55) (при i 0, 1, …, n-1) устанавливают связь между коэффициентами числителя и знаменателя в выражении (2.51) и первыми n значениями функции )(kTf , а именно 110 ,...,, nfff , и совпадают с соотношениями (2.52). Остальные m соотношений (2.56) (при ni  , n+1, ..., n+m−1) устанавливают связь между n+m значениями функции )(kTf : 110 ,...,, mnfff , и коэффициентами знаменателя 01,...,aan , которые являются также коэффициентами разностного уравнения (2.48). Запишем эти соотношения в виде матричного равенства:                                                                         0 2 1 132 12212 13222 121 0121 1 2 12 1 )1( a a a ffff ffff ffff ffff ffff f f f f f n n mmmnmn nnnn nnnn nn nn mn n n n n          , (2.57)
  • 71. 71 или в сокращенной форме, Faf  , (2.58) где f − столбец, ),...,,( 11  mnnn ffff ; F – прямоугольная (m×n)-матрица, элементами которой являются значения функции )(kTf от 0f до 2mnf ; a – столбец коэффициентов ),...,( 01 aaa n . Равенство (2.58), соотношения (2.55) и формула (2.51) позволяют решить задачу аппроксимации. Пусть теперь f(t) – заданная функция, которую нужно аппроксимировать разностным уравнением n-го порядка. Для этого положим m=n, разобьем интересующий нас отрезок аппроксимации на n+m–1=2n–1 равных частей T и определим значения функции f(t) в точках разбиения 1210 ,...,, nfff . Тогда для равенства (2.58) получим: f – столбец, ),...,,( 121  nnn ffff ; F – квадратная (n×n)-матрица, элементами которой являются значения функции 1210 ,...,, nfff ; a – столбец коэффициентов ),...,( 01 aaa n . Решив (2.58) относительно a, найдем fFa 1  , где 1 F – обратная матрица для квадратной матрицы F. Если с помощью соотношений (2.55) вычислить коэффициенты 01,...,bbn и построить изображение разностного уравнения в виде (2.51), то оригинал этого изображения и будет аппроксимирующей функцией f(t). Обе функции будут совпадать при 2n значениях аргумента t=0, T, 2T,..., (2n–1)T. Однако в интервалах между точками разбиения могут быть определенные отклонения аппроксимирующей функции от заданной. Для повышения точности аппроксимации во всех точках отрезка аппроксимации можно использовать один из методов наилучшего приближения. Для этого рассмотрим общий случай (2.57), когда m>n. Как и ранее, разобьем отрезок аппроксимации на n+m–1 равных частей и определим значение функции f(t) в точках разбиения 110 ,...,, mnfff . Теперь система (2.57) является несовместной и может иметь бесчисленное множество решений. В теории матриц доказано [39, 52], что такая система всегда имеет одно и только
  • 72. 72 одно наилучшее приближенное решение (по методу наименьших квадратов), которое определяется по формуле fFa  0 , (2.59) где  F – псевдообратная матрица для прямоугольной (m×n)-матрицы F. Таким образом, вычислив псевдообратную матрицу  F и умножив ее на столбец f, найдем столбец коэффициентов ),...,( 00 01 aaa n  , являющихся наилучшим приближенным решением системы (2.57). Вычислив, далее, по формулам (2.55) коэффициенты 00 01 ,...,bbn , построим изображение (2.51). Оригинал )(0 tf этого изображения есть наилучшее приближение (по методу наименьших квадратов) к заданной функции f(t). Если все полюсы F(z) простые (этот случай представляет наибольший практический интерес), то аппроксимирующая функция будет суммой членов вида )(kT Ae , )](sin)(cos[)( kTCkTBe kT  . Величины m и n выбираются по виду аппроксимирующей функции. Точность аппроксимации можно оценить по относительной величине среднего квадрата ошибки         1 0 2 1 0 20 )]([ )]()([ mn k mn k kTf kTfkTf E . (2.60) Воспользуемся методом нахождения псевдообратной матрицы [3], который требует вычисления определителей и эффективно реализуется на ЭВМ. В табл. 2.8 приведены значения функции f(t), полученные в результате расчета. Для аппроксимирующей функции принято n=3, m=14.
  • 73. 73 Таблица 2.8 Значения точных и расчетных значений функции t f(t) )(0 tf t f(t) )(0 tf 0 0,0002 0,0002 3,5 0,0787 0,0680 0,5 0,0659 0,0657 4,0 0,0460 0,0462 1,0 0,3136 0,3133 4,5 0,0315 0,0407 1,5 0,4561 0,4399 5,0 0,0273 0,0422 2,0 0,4003 0,3937 5,5 0,0226 0,0416 2,5 0,2735 0,2611 6,0 0,0164 0,0313 3,0 0,1527 0,1380 6,5 0,0105 0,0207 В результате решения по формуле (2.59) матричного равенства                                                                                       0 1 2 0273,00226,00164,0 0315,00273,00226,0 0460,00315,00273,0 0787,00460,00315,0 1527,00787,00460,0 2735,01527,00787,0 4003,02735,01527,0 4561,04003,02735,0 3136,04561,04003,0 0659,03136,04561,0 0002,00659,03136,0 0105,0 0164,0 0226,0 0273,0 0315,0 0460,0 0787,0 1527,0 2735,0 4003,0 4561,0 )1( a a a  получены значения коэффициентов 6346,10 2 a , 1087,10 1 a , 3362,00 0 a , а по соотношениям (2.55) найдены коэффициенты; 0002,00 2 b , 0634,00 1 b , 2075,00 0 b . Изображение аппроксимирующей функции имеет вид 3362,01087,16346,1 2075,00634,00002,0( )( 23 2    zzz zzz zF .
  • 74. 74 Для оригинала получаем выражение аппроксимирующей функции в виде )7040,1sin3307,07040,1cos7239,0(7241,0)( 809,0558,00 tteetf tt   . Полученные значения )(0 tf приведены в табл.2.8. Графики функций f(t) и )(0 tf представлены на рис.2.4. Рис.2.4. Аппроксимация расчетных значений функции f(t) Относительная величина среднего квадрата ошибки, вычисленная по формуле (2.60), составляет %5E . Особенностью предлагаемого метода является тот факт, что увеличение порядка аппроксимирующих уравнений незначительно влияет на точность приближения. Рассмотрим это утверждение на следующем примере. Выполнена аппроксимация кривой затухающего гармонического процесса (рис. 2.5). Поскольку процесс гармонический, принято n=2 и получена аппроксимирующая функция )275,6sin0136,1275,6(cos)( 055,10 ttetf t   .
  • 75. 75 Рис.2.5. Кривая затухающего гармонического процесса Затем была проведена аппроксимация при n=4, вследствие чего внесено два паразитных корня, которым соответствуют два дополнительных члена в аппроксимирующей функции ).615,7sin0052,0615,7cos0028,0( )280,6sin0308,1280,6cos9972,0()( 095,3 0 tte ttetf t t     (2.61) Как видно из (2.61) и рис. 2.5, паразитные члены имеют малую амплитуду, большой отрицательный показатель степени экспоненциального сомножителя и быстро затухают. В обоих случаях точность приближения составляла %2E . Изложенный метод позволяет получить необходимое аналитическое выражение функции времени, заданной экспериментальными данными. Поскольку начальными условиями решения разностного уравнения являются значения аппроксимирующей функции, данный метод более предпочтителен, чем аппроксимация функции интегралом дифференциального уравнения, при котором начальные условия неизвестны. Подход, использованный для наилучшего приближения функции, эффективно реализуется алгоритмически. Точность представления функции слабо зависит от порядка аппроксимирующих уравнений.
  • 76. 76 2.6. Выводы 1. Рассмотрена группа задач построения динамических моделей стационарных и нестационарных динамических объектов как с сосредоточенными, так и распределенными параметрами. Традиционный подход при решении таких задач предполагает необходимость применения обыкновенных дифференциальных уравнений. К числу основных проблем, возникающих при этом подходе, относится некорректность задачи численного дифференцирования экспериментально заданных данных. Для устранения указанных проблем предложены способы получения интегральных моделей динамических объектов по заданным дифференциальными уравнениями, а именно: способ преобразования с расщеплением; способ последовательного интегрирования на основе использования формулы интегрирования по частям; способ подстановки; способ интегральных преобразований на основе применения преобразований Лапласа и теоремы о свертке; структурный (операционный) метод при заданной структуре и динамических характеристиках объекта; метод на основе фундаментальной системы решений. Применение полученных таким образом интегральных динамических моделей позволяет получить основу для построения устойчивых квадратурных алгоритмов расчета параметров моделей для достаточно широких классов динамических объектов, что расширяет возможности методов математического моделирования динамических объектов. 2. Разработан метод параметрической идентификации интегральных динамических моделей линейных объектов, основанный на использовании квадратурных формул. В рамках данного метода рассматривается частный случай стационарного объекта, использование которого позволяет избежать трудностей решения недоопределенной системы алгебраических уравнений, к которой сводится алгоритм предложенного метода в общем случае. Результаты решения тестовых задач при использовании квадратурных алгоритмов свидетельствуют о таких свойствах интегрального метода идентификации, как высокая устойчивость, эффективность по затратам машинного времени и
  • 77. 77 объемам вычислений, простота реализации. Таким образом, предлагаемый метод может быть эффективно использован при решении задач параметрической идентификации динамических объектов. 3. Усовершенствован метод параметрической идентификации передаточных характеристик динамического объекта на основе многократного интегрирования левой и правой частей соответствующего дифференциального уравнения путем нормализации входного и выходного сигнала объекта и использования формулы интегрирования по частям. Таким образом, получены эквивалентные математические модели в виде интегральных уравнений. Для объектов общего вида не существует рекуррентной формулы для вычисления коэффициентов полиномов, входящих в передаточную функцию. Для этого случая разработана структура уравнений для определения коэффициентов передаточной функции с полиномом в числителе. Таким образом, интегрирование переходных процессов позволяет определять динамические свойства изучаемого объекта любой сложности при произвольном входном воздействии. Кроме того, данный метод позволяет избежать ошибок, связанных с неточным фиксированием быстро меняющегося входного сигнала. 4. Предложен способ построения модели линейного объекта в форме дробно-рациональной передаточной функции на основе преобразования Лапласа. Получены коэффициенты передаточной функции второго и третьего порядков на основе использования формулы расчета k-го момента Пуассона. При этом лучшие результаты были получены при аппроксимации входного и выходного сигнала сплайнами третьего порядка. Благодаря представлению функций входного воздействия и отклика объекта рядами Тейлора получены расчетные выражения, определяющие реакцию объекта на ступенчатое изменение величины входного воздействия в момент t = ti, и реакцию объекта на монотонно меняющуюся часть входного воздействия. Предложенный алгоритм позволяет на основе пассивных экспериментов вычислить коэффициенты дробно-рациональной передаточной функции с точностью высокой для инженерных расчетов.
  • 78. 78 5. Произвольную дискретно заданную функцию времени можно с заранее заданной точностью аппроксимировать решениями однородного линейного разностного уравнения с постоянными коэффициентами и получить расчетные выражения для параметров передаточной функции на основе z-преобразования разностного уравнения. Улучшение точности достигается путем применения метода псевдообратных матриц. Поскольку начальными условиями решения разностного уравнения является значение аппроксимирующей функции, данный метод более предпочтителен, чем аппроксимация функции интегралом дифференциального уравнения, при котором начальные условия неизвестны Полученные параметры передаточных функций являются также коэффициентами соответствующих дифференциальных уравнений, что позволяет получать эквивалентные математические модели в виде интегральных уравнений. Структура представления функции не зависит от порядка аппроксимирующего уравнения. Основные результаты данного раздела представлены в работах автора [70-71, 81, 84-87, 89, 90, 92, 182].
  • 79. 79 РАЗДЕЛ 3 МЕТОДЫ И АЛГОРИТМЫ ВОССТАНОВЛЕНИЯ ВХОДНЫХ СИГНАЛОВ ДИНАМИЧЕСКИХ ОБЪЕКТОВ 3.1 Формирование и виды явных динамических моделей Основным видом интегральной модели задачи восстановления входного сигнала динамического объекта являются уравнения Вольтерра I рода, совпадающими по структуре с оператором Вольтерра. Отличие состоит в том, что оператор Вольтерра представляет собой модель явного вида, описывает «прямую» задачу анализа и предназначен для определения реакции )(ty объекта на входное воздействие )(tx . Эта же модель позволяет определить входной сигнал )(tx по известной реакции )(ty , однако при этом необходимо решать интегральное уравнение относительно функции )(tx , входящей под знак интеграла. Непараметрические модели динамических объектов в форме интегральных операторов и уравнений являются самостоятельным видом математического описания задач динамики. В отличие от параметрических моделей, для формирования которых в качестве исходных данных используются заданные параметры объекта, непараметрические динамические модели формируются на основе заданных динамических характеристик объекта или его элементов. Динамические характеристики представляют собой функциональные зависимости, которые могут быть получены в виде экспериментальных данных или в аналитическом виде. Применение непараметрических динамических моделей позволяет расширить круг эффективно решаемых исследовательских и проектных задач. Явные линейные модели. Линейные дифференциальные или интегральные уравнения, представляющие математические модели динамических систем, позволяют исследовать системы с постоянными или зависящими от времени параметрами. При этом общее уравнение системы записывается следующим образом
  • 80. 80    ,tLfty  (3.1) где функция f(t) характеризует входное воздействие (входной сигнал), у(t) – реакцию (выходной сигнал) системы, а линейный оператор L представляет явную динамическую характеристику и определяется свойствами самой системы. Исходя из фильтрующего свойства -функции, получаем выражение          dtftf , (3.2) где t – текущее время;  − формальная переменная интегрирования. Подставляя выражение (3.2) в уравнение (3.1), получаем соотношение                  dtLfdtfLtLfty (3.3) в котором обозначим реакцию динамической системы на дельта-функцию    ,,  tLtG (3.4) Очевидно, что соотношение (3.4) является частным случаем уравнения (3.1) при )()(  ttf . Реакция системы на такое воздействие называется функцией Грина. С учетом обозначения (3.4) уравнение (3.3) принимает вид       ,,    dftGty (3.5) и описывает реакцию системы на произвольное внешнее воздействие в том случае, когда известна функция Грина. Функция Грина зависит от способа задания краевых условий. В частности, если эти условия заданы на концах интервала bta  , , то выражение (3.5) принимает вид       ,,  b a dftGty Когда речь идет об изучении поведения системы при  ,t0 , равенство (3.5) записывается так:
  • 81. 81       ,, 0    dftgty (3.6) а функция g(t,τ) называется полной импульсной реакцией динамической системы с переменными параметрами [132]. Если исследуемая система имеет постоянные параметры, то вид ее импульсной реакции не зависит от момента приложения импульсного воздействия, что приводит к равенству     tgtg , . В таком случае для линейных стационарных систем функция Грина совпадает с импульсной переходной функцией. подстановка которого в выражение (3.6) приводит к интегралу свертки       , 0    dftgty (3.7) с помощью которого по известной импульсной реакции системы g(t–τ) можно определить ее реакцию на произвольное внешнее воздействие f(τ). Формула (3.7) может быть записана в виде          dgtfty . Необходимо отметить, что в выражениях (3.6), (3.7) отсутствуют начальные условия, которые учитываются иным способом. Известно, например, что если динамическая система описывается дифференциальным уравнением, решение которого характеризует ее поведение, то это решение содержит две компоненты — общую и частную. Общая зависит от некоторых постоянных, которые определяются через начальные условия, а частная учитывает реакцию на внешнее воздействие [122]. Таким образом, выражения (3.6) или (3.7) задают частную компоненту решения, а начальные условия входят в общую. Условие перехода от уравнения (3.5) к уравнениям (3.6) и (3.7) было записано в виде  ,t0 . Однако следует учесть, что при изменении τ можно записать также условие ,t 0 которое легко понять, рассматривая
  • 82. 82 импульсную реакцию g(t–τ). В случае ,t ее аргумент будет отрицательным. Однако эта ситуация противоречит физическому смыслу, требующему, чтобы до момента подключения внешнего воздействия реакция системы равнялась нулю. С учетом этого замечания равенство (3.7) имеет вид        t dftgty 0 . Это же замечание относится и к выражению (3.6), где верхний предел нужно заменить на t. Если исследуется система с m входами и n выходами, то вводятся импульсные характеристики )(tkij ),1;,1( mjni  , каждая из которых отображает сигнал на i-м выходе при подаче на j-й вход -функции. Совокупность функций )(tkij образует матрицу импульсных характеристик К. Тогда (3.3) для многомерного случая приобретает вид          dtKFtY , где Y(t) − m-мерный вектор выходного сигнала, )(F − n-мерный вектор входного сигнала. В случае, когда модель объекта представляет собой l последовательно соединенных линейных моделей объектов с  ,tgi , li ,1 ,  ,tg объекта в целом будет иметь вид          .,,...,,, 21 11122121211         lu llll u tl t l uguugduuugduutgdutg Для l параллельно соединенных линейных моделей объектов с импульсной переходной функцией  ,tgi , li ,1 ,  ,tg , очевидно, имеет вид    tgtg t i i 1 ),( . Для полного описания линейной модели объекта достаточно знать его реакцию на какой-нибудь один тип элементарных возмущающих сигналов.
  • 83. 83 Подадим на вход модели объекта единичную ступенчатую функцию         .,1 ,,0 , t t tx (3.8) Тогда на выходе модели объекта, в соответствии с (3.2) получим               .,, ,,0 , tduutg t thty t (3.9) Функция  ,th , которая описывает переходный процесс при нулевых начальных условиях и при возмущающем сигнале в виде (3.8), называется разгонной характеристикой или единичной переходной функцией. О качестве модели объекта судят по виду переходного процесса, который описывает разгонная характеристика. Из (3.9) следует, что        , , th tg . Разгонная характеристика стационарной линейной модели объекта  ,th будет зависеть от t :             ,0, ,0,0 0 duug h и связь  h с g(u) имеет вид      0 ,duugh      h g . Частотная характеристика Ф(iω) и g(u) связаны между собой при помощи прямого и обратного преобразований Фурье         dueugdueug uiui iФiФ          2 1 , 0 . В случае невыполнимости условия абсолютной интегрируемости вводят в
  • 84. 84 рассмотрение преобразование Лапласа, которое применимо для функций  tf , удовлетворяющих условию   0,0  ttf , (3.10) не только, когда  tf абсолютно интегрируема, но и тогда, когда можно выбрать такое положительное число с, что      dtetf tc 0 . (3.11) При выполнении (3.10) и (3.11) преобразование Лапласа имеет вид:     dtetfpF pt   0 , cp Re . Передаточная функция Ф(p) и g(u) связаны при помощи прямого и обратного преобразования Лапласа         .0, 2 1 , 0        udpepФ i ugdueugpФ pu ic ic pu Передаточная функция для линейных моделей объектов с переменными параметрами связана с  ,tg соотношением [57, 77]           detgtpФ tp t ,, . Подадим на вход линейного стационарного объекта сигнал   tatx sin . Тогда       tiФaty sin , (3.12) где       A B arctg ,  A и  B − соответственно действительная и мнимая части  iФ . Из (3.12) следует, что вынужденные колебания, вызываемые в линейной модели объекта гармоническим воздействием, представляют собой также гармоническую функцию времени, имеющую ту же частоту  , что и
  • 85. 85 воздействие, но отличающуюся от последнего по амплитуде и по фазе, причем  iФ указывает, во сколько раз изменилась выходная амплитуда относительно a , а  — сдвиг по фазе для выходного сигнала. Величины  iФ и  зависят от частоты . Существует определенная частота 0 такая, что объект не пропускает сигналы с частотой 0 . Частота 0 называется частотой среза. Применяя к  iY и  pY соответственно обратные преобразования Фурье или Лапласа, получим                     deiФiXdeiYty titi 2 1 2 1 ,       dpepФpX i ty itp ic ic     2 1 . (3.13) Из соотношения (3.13) следует, что если известна  iФ или  pФ , то мы можем вычислить не только вынужденные колебания на выходе объекта, но и переходный процесс, который возникает в нем при любом воздействии  tx на его входе. Поэтому передаточные функции могут рассматриваться как полноценные линейные модели объекта. Передаточная функция  pФ объекта, состоящего из l последовательно соединенных линейных моделей объектов с передаточными функциями  pФk , lk ,1 , равна их произведению:       l k k pФpФ 1 . Передаточная функция  pФ объекта, состоящего из l параллельно соединенных линейных объектов с передаточными функциями  pФk , lk ,1 , равна их сумме:       l k k pФpФ 1 . Передаточная функция  pФ объекта, состоящего из линейной модели объекта с передаточной функцией  pФ1 , охваченной обратной связью с передаточной функцией  pФ2 , имеет вид        pФpФ pФ pФ 21 1 1   . Структурный подход дает возможность представлять реальные динамические модели объектов как конечную комбинацию простых моделей и, кроме того, определять динамические характеристики реальных объектов [29, 99].
  • 86. 86 Интерполяционные алгоритмы формирования явных динамических моделей. На сегодняшний день существует множество алгоритмов идентификации, обеспечивающих получение динамических моделей переходных процессов в форме разнообразных математических зависимостей [44, 78, 165, 169]. Рассмотрим задачу компьютерной идентификации передаточной функции по переходной характеристике, полученной экспериментальным путем. Одной из удобных форм представления некоторого переходного процесса объекта с самовыравниванием (устойчивой динамической системы) является аппроксимирующее выражение     n i i i x xaeax 1 1 0)( , (3.14) где , 0a , а, − постоянные коэффициенты ( − коэффициент затухания) применение к которому преобразования Лапласа-Карсона позволяет получить передаточную функцию в виде i in i i p hpW )( )( 0      , (3.15) где                      .,,3,2, )!1( , , 1 1 100 0 0 niah i aahh ah i n ij j i n i i n i i  (3.16) Определение коэффициентов в выражении (3.14) можно выполнять различными методами [111], что приводит к различным алгоритмам идентификации. Алгоритм 1. Метод интерполяции для определения коэффициентов в выражении (3.14) состоит в следующем [111]. Задается значение 0 , что приводит к системе
  • 87. 87 ,,,2,1,)( 1 1 0 njxaeax n i i ji x j j     (3.16) решение которой дает искомые коэффициенты ia , Здесь jx − дискретные точки задания переходного процесса, а 0a определяется выражением ).(lim0 xa x   (3.17) Существенным недостатком данного метода является прямая зависимость размерности системы (3.16) от количества точек дискретизации переходного процесса. Это приводит к необходимости решения плохо обусловленной системы линейных уравнений большой размерности (что, в свою очередь, может привести к численной неустойчивости данного алгоритма интерполяции) и получению передаточной функции (3.15) в виде ряда с огромным количеством членов. Для решения системы с плохо обусловленной матрицей предлагается алгоритм, представленный в работе автора [177]. Алгоритм базируется на ограниченном количестве перестановок строк и столбцов матрицы, индексы которых отличаютсчя друг от друга в пределах заданного натурального числа k и нахождении локального минимума ошибки решения. Алгоритм 2. Вариационный метод [111] определения ia , позволяющий обеспечить определенную независимость количества членов в (3.14) от количества точек интерполяции nm  , состоит в следующем. Вводится функция        n i i ix xa e ax x 1 10* )( )( , (3.18) однозначно связанная с )(x . Задается значение 0 ; определяется 0a из (3.17) и из условия наименьшего среднеквадратичного уклонения строится аппроксимирующий полином ,)( 2 1* D D x  (3.19) который представляет собой отношение определителей
  • 88. 88 )1(211 211 1100 1 2 10        nnnn n n n ccc ccc ccc xx D      , (3.20) )1(21 21 110 2    nnn n n ccc ccc ccc D     , (3.21) где    m j r jr xc 1 , )1(2,,2,1,0  nr  , (3.22)     m j j l jl xx 1 * , 1,,2,1,0  nl  , (3.23) mj ,,2,1  − номера точек интерполяции. После раскрытия определителей 1D , 2D и построения полинома (3.19) каждое значение ia , ni ,,2,1  получается как коэффициент при 1i x , т.е. таким образом получается функция  x*  . Построив функцию  x , оценивают погрешность приближения и при необходимости уменьшают ее путем нового расчета с увеличением порядка полинома (3.14). Эффективным способом улучшения полученного приближения является уточнение коэффициента затухания, выбранного ранее произвольно. Для этого обычно достаточно решить систему, составленную из m независимых уравнений 0)( 0 1 1     axaex n i i ji x j jj (3.24) относительно mjj ,1,  , и в качестве расчетного принять среднее значение
  • 89. 89    m j jcp m 1 1 . (3.25) Использование этого значения в сочетании с ранее определенными ia позволяет, как правило, резко уменьшить погрешность аппроксимации. Такой процесс уточнения может быть продолжен, если для уточнения  заново вычислить коэффициенты ia по формулам (3.18)-(3.23) или даже повторить цикл вычисления ia ,  по формулам (3.18)-(3.25) несколько раз. Как уже отмечалось выше, существенным недостатком алгоритма 1 является большая размерность аппроксимирующего полинома, что приводит к серьезным трудностям при компьютерной реализации данного алгоритма применительно к задачам идентификации динамических моделей по экспериментальным данным. Более перспективным для рассматриваемой области применения является алгоритм 2, который в отличие от алгоритма 1 позволяет также осуществлять итерационное уточнение модели. На рис. 3.1 и в таблице 3.1 приведены результаты идентификации некоторого переходного процесса, полученного экспериментальным путем. Модель имеет следующие параметры: 2n ; 500 a ; 521 a ; 492 a ; 004,1 ; 20 h ; 2,31 h ; 8,482 h ; 2 )004,1( 1912,49 004,1 2128,3 2)(     pp pW . Следует отметить, что приведенная модель для данного переходного процесса является оптимальной в смысле использования для ее получения рассмотренного алгоритма идентификации. Дальнейшее уточнение параметров ia , , а также увеличение порядка п аппроксимирующего полинома не дают существенного уменьшения ошибки идентификации и даже могут привести к ее увеличению. Несмотря на достаточную эффективность применения неустойчивость для алгоритма 1 обусловлена необходимостью решать систему линейных алгебраических уравнений большой размерности, зачастую с плохо обусловленной матрицей. В алгоритме 2 численная неустойчивость вызвана
  • 90. 90 использованием приближения по методу наименьшего среднеквадратичного отклонения (что может давать весьма большую ошибку аппроксимации на начальном участке переходного процесса). Однако существенным достоинством обоих алгоритмов является полное совпадение переходных процессов в области установившихся значений. Рис. 3.1. Графики идентифицируемого (обозначен сплошной линией) и смоделированного (обозначен пунктирной линией) переходных процессов Табл. 3.1 Результаты идентификации x ( )x ( )ix 0 -2 0 2 29,86146 29,86146 4 45,52982 45,52982 6 49,16269 49,16269 8 49,85575 49,85575 10 49,97636 49,97636 12 49,99625 49,99625 14 49,99942 49,99942 3.2. Квадратурные алгоритмы восстановления входных воздействий на основе решения уравнений Вольтерра I рода Применение явных интегральных моделей динамических объектов для решения задачи восстановления входных воздействий состоит в обращении “прямой” задачи анализа и решении интегрального уравнения Вольтерра I рода
  • 91. 91    x TxxfdtttxK 0 ,0),()(),( (3.26) Данный переход применяется на практике, является эффективным. Однако при этом имеются определенные трудности, вызванные рядом особенностей в применении квадратурных алгоритмов решения и связанные с некорректностью данной задачи, имеющей особенности. В частности, незавершенными остаются вопросы о применимости метода квадратур, основанного на формулах трапеций, Симпсона, Грегори І и ІІ порядка, для численного решения уравнения (3.26) с ядрами, равными нулю на диагонали. Требует анализа случай, когда правая часть уравнения (3.26) задана с погрешностью и обладает ли процедура дискретизации уравнения (3.26), регуляризирующим свойством, если шаг сетки, являющийся параметром регуляризации, определенным образом согласовать с погрешностью исходных данных. Важным остается вопрос о равномерной сходимости регуляризованного решения к точному. Известно, что уравнение (3.26) имеет единственное решения в С , если выполнены следующие условия: а) 0)0(,, )1()1(   fCfCK ; б) 0),(min   xxK x , где  Txttx  0:),( . Приближенному решению уравнения (3.26) посвящены многие публикации [124, 139, 143, 157], где предложены различные численные методы и доказана их сходимость при выполнении условия б). Случай для 0),( ii xxK . При использовании методов квадратур невозможно вычислить значение  0 , так как при axx  1 интеграл в уравнении (3.26) равен нулю и   01  faf . Поэтому для определения  0 используют выражение
  • 92. 92      0, 0 0 aK f   , путем дифференцирования (3.26) по x при 0x . Тогда, используя квадратурные формулы, последовательно можно вычислить приближенные значения                   j i j jiji iij j xxxKWxf xxKW x ~, , 1~~ 1 1 , где jW − весовые коэффициенты квадратурной формулы. Для определения  0f  можно использовать различные интерполяционные способы. Окончательное получаем следующее выражение для приближенного решения уравнения (3.26) с использованием формулы трапеций при h=const:                                   ,,2,~, , 2~ 1,, , ~ 1 1 1 nixxxKW h xf xxK x ixa aaK af a j i j jij i ii i (3.27) где        .11 ,15,0 jпри jпри W j Из выражения (3.27) видно, что при решении уравнения Вольтерра I рода с произвольным ядром время вычисления функции  ix~ зависит от числа шагов дискретизации. С увеличением количества шагов дискретизации пропорционально увеличивается количество циклов по j и соответственно количество вычислительных операций. Данная трудность устранима, если регулярное ядро интегрального уравнения (3.26) обладает свойством представимости ядра в виде суммы произведений независимых функций, т.е. имеет вид:
  • 93. 93               ,,,1 , !1 1 !1 , 1 1 1 1 1 1 Nmml sxsxС ml sx qsxK l m l l llm m l l m lm l l               (3.28) где lq − неизвестные величины, x и s − независимые переменные,  !! ! mnm n Cm n   ,   ,1 1 lml ml xCx     l l ss  . С учетом (3.28) (3.26) принимает вид        xfdsssx x a l m l l   1 . Тогда рекуррентная формула для приближенного решения методом трапеций (при постоянном шаге (h=const)) примет следующий вид:                                                       .,2, ~ ~ ,1,,~ 1 1 11 1 1 ni xxW xxWxxf x ixa aa af a il m l ili i j jjlji m l li i l m l l (3.29) Выражения (3.29) является аналитическим описанием быстродействующего (специального) алгоритма для решения интегрального уравнения Вольтерра 1 рода. Как видно из выражений (3.29), количество вычислительных операций не зависит от номера шага дискретизации, т.е. количество вычислений на каждом шаге остается неизменным. Поэтому при машинной реализации (3.29) значительно сокращаются затраты времени на их решение и объем требуемой памяти ЭВМ. Пример. Пусть решается интегральное уравнение Вольтерра I рода:     .1sin 2 0 2  tt edssyst (2.30)
  • 94. 94 Дифференцируя обе части уравнения (2.30) по t , получаем     .cos 2 0 2 tt tedssyst  (2.31) Используя общую формулу (3.27) к уравнениям (3.31), получаем соответственно следующие системы расчетных соотношений                                    ,~)cos(2~ ,10 0cos 0 0~ 1 1 i j jjij i iOI OI tyttW h t ty y (3.32) где ni ,...,3,2 ;       222 22 1, ii t ii t ii ettett  ;        .11 ,15,0 jпри jпри W j Используя свойство разделяемости ядер и применяя формулу трапеций (3.29) к уравнению (3.31), соответственно имеем рекуррентные соотношения                                              ,~sinsin~coscos2~ ,10 0cos 0 0~ 1 1 1 1 i j i j jjjijjji i iMI MI tytWttytWt h t ty y (3.33) где ...,3,2i       222 22 1, ii t ii t ii ettett  ;        .11 ,15,0 jпри jпри W j Решение будем искать на интервале [0; 3,2] с шагом дискретизации h=0,02. Результаты вычисления приведены для выражений (3.32)-(3.33) в таблице 3.2, где указаны также результаты точного решения, а на рис. 3.2 приведен график кривых погрешностей решения заданного уравнения. Время решения по алгоритму (3.32) при шаге h=0,02 составляет 0,19 сек, а по алгоритму (3.33) составляет 0,07 сек. По точности результатов решений оба алгоритма совпадают.
  • 95. 95 Таблица 3.2 Результаты исследования для примера 1 t  iT ty  iOI ty~  iMI ty~ 1 ~yyy T  0 1 0,9996 0,9996 0,0004 0,32 1,2128 1,2124 1,2124 0,0004 0,64 1,9573 1,9567 1,9567 0,0006 0,96 3,6317 3,6308 3,6308 0,0009 1,28 7,2543 7,2525 7,2525 0,0018 1,6 15,4006 15,397 15,397 0,0036 1,92 34,9172 34,909 34,909 0,0082 2,24 85,2396 85,218 85,218 0,0216 2,56 225,5638 225,5 225,5 0,0638 2,88 650,082 649,89 649,89 0,192 3,2 2046,7598 2046,1 2046,1 0,6598 Рис. 3.2. График погрешности решения Случай для 0),( ii xxK . В приложениях имеется большой класс задач для уравнения (3.26), когда ядро обращается в нуль на диагонали. Рассмотрим задачу восстановления в данной постановке. 1. Относительно ядра ),( txK и правой части )(xf предположим следующее:
  • 96. 96 ;0)0()0(,, )2()2(   ffCfCK (3.34) .0 ),( min,0),( 0         h x txK xxK xtx (3.35) Тогда уравнения (3.26) также имеет единственное решение в С . Построим теперь на  T,0 равномерную сетку с шагом h и узлами Txxx n  ...0 10 , ihxi  , где nTh / . Далее, полагая 1 ixx , запишем (3.26) в виде        1 1 _______ 11 1 1,0),()(),( i j x x ii j j nixfdtttxK . (3.36) В качестве аппроксимации интеграла в (3.36) использование формулы трапеций, с учетом (3.35), приводит к треугольной системе уравнения:     i j i h jji h i nifKhK h 1 _______ 1,100,1 1,0, 2 , (3.37) где )(),(),,( 111,1 j hh jiijiji xxffxxKK   . Из условия (3.35) следует, что для достаточно малых h hkhkK ii  2/0,1 . (3.38) Очевидно, что система (3.37) имеет единственное решение. Можно показать, что если 0),(,),( )4(   xxKCtxK , 0 ),( min 0        k x txK xtx и )2( )(  Cx , то метод квадратур, оснований на формуле трапеций, является сходящимся, причем имеет место оценка )()()(max 10 hOxx ii h ni   . (3.39) Действительно, можно видеть, что для погрешности решения i h i h i  , где i − значение точного решения уравнения (3.26), справедливо равенство
  • 97. 97 )1,0(, 2 1 1 _______ 1,100,1     i j i h jji h i niRKhK , (3.40) где dsKKttxKR i j x x jjijjiii i j           1 1 ,111,111 )( 2 1 )(),( − остаточный член квадратичной формулы трапеций. Вычитая из ( 1i )-й строки системы (3.40) i -ю, получим      1 1 _______ ,,100,0,11,1 1,0,)()( 2 i j h jjiji h iiii h iii niKKhKK h RRhK . (3.41) Вновь, вычитая из 1i -й строки системы (3.41) i -ю, получим уравнение для ошибки      1 1 , )2( 00, )2()2( ,1 2 i j h jji h ii h iii KhK h RhK , 1,...3,2  ni , (3.42) где 11 )2( ,1,,1, )2( 2,2   iiiijijijiji RRRRKKKK . Отсюда, учитывая условия (3.34), (3.35), (3.38), приходим к неравенству     1 1 0 i j h j hRh i k hK k hK k L , 1,...3,2  ni . (3.43) Здесь 2 2 ),( ),( max x txK K tx     , 2 2 12 max h R L i ni R    . (3.44) Из (3.43) следует 2 10 1 2               i hhRh i k hK k hK k hK k L . (3.45) Используя оценку остаточного члена квадратурной формулы трапеций, можно показать, что )(hOLR  . Далее, из (3.40), (3.41) получаются оценки для h 0 и h 1 : 1,0),(  shOh s . Таким образом, используя неравенства )/exp(/1 khKkhK  , Txih i  , из (3.45) получим оценку (3.39).
  • 98. 98 2. Проанализируем возможность применения квадратурных формул, имеющих алгебраический порядок точности выше двух, поскольку для численного решения уравнения (3.26), когда ядро не обращается в нуль на диагонали, использование квадратурных формул Грегори І, ІІ порядков и Симпсона, как показано в [25] приводит к расходящимся методам. Можно показать, что эти формулы могут быть применены для численного решения уравнения (3.26) с разностным ядром. Выпишем веса формул Грегори ІІ [25]: 1,12/13,12/5 110   jii AAAAA , 1,,3,2  ij  . Следовательно, в силу условия (3.35), получим следующие расчетные формулы: ), 6 7 /() 12 5 ( 1,200,21 hKhKf hh  ,1,2, 0 _______ 1,1    i j i h jjij nifKAh ( h 0 − известно) для нахождения приближенного решения уравнения (3.26). Запишем уравнение для ошибки )1,2( 12 1 6 1 _______ 22,111,, )2( 1 0 )2( ,1      nihKhKKAhRhKA h jii h iii h jji i j ji h iiii аналогичное уравнению (3.42). Отсюда, с учетом (3.34), (3.35), (3.38), (3.44), имеем h i h i h j i j j ii Rh i A kA hK kA L 21 1 0 13 1 13 2     . Далее, усилим это неравенство, заменяя в правой части два слагаемых h i 2 , h i 1 на h i . Тогда после преобразования получим неравенство )1,2( 5 6 5 6 _______1 0     niA k hK k L h j i j j Rh i , из которого следует оценка 2 10 5 6 1 12 13 12 5 5 6               i hh R h i k hK hKhKL
  • 99. 99 аналогичная (3.45). Вновь используя неравенства TihkhKkhK  ),5/6exp(5/61 и замечая, что 1,0,0,0  sL h sR при 0h , получим 0maxmax 10   i h i i h s ni при Tnhnh  ,,0 . Теперь рассмотрим формулу Грегори ІІ порядка, имеющую веса [25]: _______ 12110 2,3,1,24/23,6/7,8/3   ijAAAAAAA jiii . С учетом (3.35) получим следующую расчетную формулу:     i j i h jjij fKAh 0 1,1 )1,,5,4(  ni  . (3.46) При реализации (3.46) считаем известным h 0 , а ___ 3,1,  sh s находятся из треугольной системы уравнений                                                    h h h h h h hKf hKf hK h f hKhKhK hKhK hK 00,44 00,33 00,22 3 2 1 3,42,41,4 2,31,3 1,2 8 3 8 3 3 6 7 12 11 6 7 8 9 8 9 3 4 . Уравнение для ошибки будет выглядеть так ),1,,5,4()8( 24 )42( 24 24 11,1,122,12, 33,1, )2( 1 0 )2( ,1         niKK h KK h K h KBhRhKA h iiiii h iiiii h iii h jji i j ji h iiii  где 1,,4,3,1,2,0, ___  ijBsAB jSs  . Вновь, с учетом (3.34), (3.35), (3.38), (3.44), приходим к неравенству   h i h i h i h i h i h j i j j ii Rh i hK hK B kA hK kA L 12123 1 0 7 2 7 1 2 )( )2( 28 1      . (3.47) В силу условий (3.35), (3.38) следует, что для достаточно малых h   3)(/)2( hKhK .
  • 100. 100 Далее, усилив неравенство (3.47), заменяя в правой части 3,1,   sh si на h i получим неравенство ,)1,...,5,4( 66 1 0     niB k hK k L h j i j j Rh i из которого следует оценка 43 0 6 1 6                 i h s s sR h i k hK BhKL k . Так как ____ 3,0,0,0  sL h sR при 0h , то 0max h i i при Tnhnh  ,,0 . Рассмотрим квадратурную формулу Симпсона, часто употребляемую в приложениях. Для применения формулы Симпсона нужно брать четное число отрезков разбиения промежутка интегрирования. При нечетном разбиении можно использовать специальную «половинную» формулу Симпсона [25]. С учетом условия (3.35), применение формулы Симпсона приводит к следующей системе уравнений для нахождения )( i h x : )1,...,2,1(, 0 1,1    nifKAh i j i h jjij , где h 0 − начальное заданное значение. Выпишем коэффициенты jA для матрицы этой системы:                                                     3 4 3 2 3 4 3 2 3 4 3 1 3 2 3 1 12 1 3 4 3 2 3 4 3 1 3 4 3 2 3 4 3 1 3 2 3 1 12 1 3 4 3 1 3 4 3 1 . Опуская промежуточные выкладки, запишем уравнение для ошибки:
  • 101. 101 h iii h iii h jji i j ji h iii K h K h KBhRhK 11,22,, )2( 1 0 )2( ,1 3 2 63 4       , для четного i+1, h iii h iii h iii h jji i j ji h iii K h K h K h KBhRhK 11,122,122,1, )2( 1 0 )2( ,1 12312       , для нечетного i+1, где 3/10 B , 3/41231  kBBB  , 3/2242  kBBB  . Далее, используя вышеизложенные приемы, также доказывается сходимость метода, т. е. 0max h i i при Tnhnh  ,,0 . Полученный результат свидетельствует о следующем. Пусть )4( )(  CtxK , )4( )(  Cx и выполнены условия (3.35), (3.38). Тогда метод квадратур, оснований на формулах Симпсона, Грегори I и II порядка сходится, т. е. 0max 10   ii h ni , при Tnhnh  ,,0 . 3. Рассмотрим теперь задачу приближенного решения уравнения (3.26), когда вместо точной правой части )(xf задана )( ~ xf такая, что  CC xxfxf )()()( ~ . Пусть каркас приближенного решения уравнения (3.26) находится из треугольной системы 1,1,)( ~ )(),()( 2 1 1100,1         nixfxxxKhxK h i j ij h ji h i . (3.48) Выполнив те выкладки, которые были сделаны в пункте 1, получим оценку для погрешности решения constChhCxx ii h ni   1 2 1 10 ),/()()(max . Поэтому, для погрешности решения (3.48) справедлива оценка )()()(max 3/1   Oxx ii h , если 3/1 )( h .
  • 102. 102 Таким образом, сама процедура дискретизации уравнения (3.26) обладает регуляризирующим свойством, если шаг сетки h определенным образом согласовать с мерой точности . Численные примеры. Рассмотрим интегральное уравнение с разностным ядром ))exp(cos(sin 2 1 )())exp(1( 0 xxxxdttxt x  . Его точное решение xx sin1)(  . Методом квадратур, основанном на формулах трапеций, Симпсона, Грегори I и II порядка, получены приближенные решения для N (где 1Nh , h − шаг сетки), равного 10, 20, 40, 60, 80, 100. При использовании формул Грегори, Симпсона считалось начальное условие 1)0(  . В таблице 3.3 приведены результаты расчетов для N равного 10, а в таблице 3.4 вычислены величины погрешности )()(max 10 ii h ni xx   для различных N . Таким образом, исследованы возможности конструктивного применения ряда квадратурных формул для построения алгоритмов восстановления входных сигналов динамических объектов, что, в целом, существенно повышает эффективность применения интегральных моделей в решении обратных задач динамики. Таблица 3.3 Результаты решения модельного примера методами квадратур ix Метод трапеций I Метод Симпсона IV Метод Грегори II Метод Грегори III 0 1,050816 1 1 1 0,1 1,100579 1,099837 1,120897 1,099837 0,3 1,296069 1,294139 1,291325 1,295508 0,5 1,479757 1,478884 1,479720 1,479413 0,7 1,644318 1,643541 1,644087 1,644206 0,9 1,783192 1,782978 1,783210 1,783317
  • 103. 103 Таблица 3.4 Погрешность вычислений модельного примера разными методами квадратур N I II III IV 10 2 101,5   2 101,2   4 104,1   3 108,1   20 2 105,2   2 101   5 101,1   4 105,5   40 2 103,1   3 103,5   6 109,1   4 105,1   60 3 103,8   3 106,3   7 101,6   5 107,6   80 3 103,6   3 107,2   7 102,4   5 108,3   100 3 105   3 101,2   7 107,3   5 104,2   Задача численного дифференцирования. Одной из характерных задач обращения интегрального оператора Вольтерра является задача численного дифференцирования. Данная задача, как правило, присутствует в процессах управления в технических системах, в частности, в системах управления, построенных по «принципу отклонения». Широко распространенным методом управления в таких системах является «метод старшей производной». Задача состоит в том, чтобы вычислить (найти) )()( tfty  , где функция f(t) – задана чаще всего в дискретном виде. Если обозначить   tt dfy 00 )()( , то вычисление производной сводится к решению уравнения Вольтерра I рода, ядро которого равно 1:   tt ftfdfy 0 0 0 )()()()( . (3.49) Обобщением указанного процесса вычисления производной порядка 1p функции  ty , заданной при Tt 0 некоторым приближением  ty является решение интегрального уравнения первого рода             . ! 0 !1 1 1 00 1 k p k kt p t k y tydssxSt p       (3.50)
  • 104. 104 При      sysx p  это равенство есть разложение функции у класса p C в степенной ряд. Определение производной порядка k требует последовательного решения уравнений (3.50) для p = 1,…,k с целью определения значений     .10,0  pky k Алгоритмически более простой путь заключается в последовательном решении задач однократного дифференцирования. Приближенная функция  ty обычно задается в точках некоторого разбиения отрезка .0 1 Ttt m   (3.51) Если функция  ty задана на всем отрезке, будем считать разбиение (3.51) выбранным с целью применения метода частичной дискретизации, соответствующего случаям поточечной или среднеквадратической погрешностей. Дискретизация уравнения связана с разбиением (3.51) и представлением ядра:       .1,0, !1 1 mits p st sk p i i      Отметим, что решение уравнения (3.49) также, как и уравнения (3.50) является некорректной задачей, поскольку исходные данные f(t) содержат погрешности и процесс вычисления может быть неустойчивым. Рассмотрим метод решения, обладающий регуляризирующими свойствами и позволяющий повысить устойчивость вычислительного процесса благодаря применяемому при этом способу регуляризации. Представим уравнение (3.49) в следующем эквивалентном виде )()()()()( 0 0   ftftyyty t , Введем в уравнение малый параметр  в следующем виде )0()()(~)1()(~)(~ 0 ftftyyty t   , 1 ,
  • 105. 105 Данная запись позволяет применить структурно-алгоритмический процесс решения, характеризующий процесс вычислений с обратной связью )0()()(~)1()(~)(~ 0 ftftyyty t   . (3.52) Численная реализация данного выражения наиболее удобна при применении методики, заложенной в системе MATLAB/SIMULINK. Структура, реализующая расчетное выражение (3.52), приведена на рис. 3.3. Данная структура позволяет подбирать значения регуляризирующего параметра  , исходя из условий устойчивости данной схемы. Получаемое при этом отклонение от исходной зависимости (3.49) приводит к определенной ошибке в получаемом результате, которая, тем не менее, оказывается вполне приемлемой как при исследовательских, так и в практических задачах. (1-α) -  f(t)-f(0) ỹ(t) Рис. 3.3. Структура процесса вычислений с обратной связью Реализующаяся в системе MATLAB/SIMULINK модель в случае 1-ой производной представлена на рис. 3.4. Проведенные эксперименты позволяют сравнить результат дифференцирования по предлагаемому методу с стандартной для MATLAB процедурой дифференцирования на основе разностного метода. На рис. 3.5 при параметре 05,0 приведены графики 1-ой производной для функции xxy sin : график производной, полученной предложенным методом (рис. 3.5 а); график производной, полученной использованием конечных
  • 106. 106 разностей (рис. 3.5 б); график производной, полученной точно (аналитически) без помех (рис. 3.5 в). Рис. 3.4 Модель процесса вычисления 1-й производной f(t) Рис. 3.5 Графики 1-й производной для функции xxy sin а) б) в)
  • 107. 107 При добавлении к дифференцируемой функции случайной помехи 05.0 (~5% от величины сигнала) производная, полученная по предложенному методу, имеет ошибку в пределах 0,04 %. Производная, полученная разностным методом имеет ошибку более 0,06 %. Предложенный метод позволяет вычислять производные высших порядков, добавляя к модели рис. 3.4 дополнительные контуры интегрирования (см. рис. 3.6). Рис. 3.6 Модель процесса вычисления 2-й производной f(t) При этом также возникают проблемы сильного влияния случайных помех, которые необходимо сглаживать, экспериментируя с шагом моделирования и параметром регуляризации. Результаты вычисления 2-й производной приведены на рис. 3.7 с учетом влияния помехи. Можно видеть, что результат применения предлагаемого метода практически пригоден, тогда как применение стандартной процедуры MATLAB не приводит к результату. Отметим также, что на результат дифференцирования влияет как значение параметра регуляризации, так и величина шага квадратуры, например, при 1,0 и количестве шагов на интервале дифференцирования 1000 средняя квадратическая погрешность предложенного метода равна 1,1722, а
  • 108. 108 стандартного – 1,2158, соответственно при 05,0 эти величины равны: 1,1851 и 1,2158. Рис. 3.7 Графики 2-й производной для функции xxy sin Таким образом, предложенный метод дифференцирования основанный на решении обратной задачи динамики дает улучшенные результаты по сравнению с методикой MATLAB и может быть применен на практике. 3.3. Многошаговые алгоритмы решения интегральных уравнений Вольтерра I рода в задаче восстановления сигналов Рассмотрим линейное интегральное уравнение I рода типа Вольтерра   x TxxfdtttxK 0 ],0[),()(),( (3.53) с ядрами  xxxK 0),( и 0)0( f (3.54)
  • 109. 109 и 0)0()0(0),(,0),(  ff,xxxKxxK x . (3.55) Как известно [25] из теории интегральных уравнений, если правая часть )(xf и ядро ),( txK удовлетворяют определенным условиям гладкости, то решение задачи (3.53) )(x , существует, единственно и, следовательно, задача (3.53) корректна по специально выбранной паре пространств. Однако задача решения уравнения (3.53) по приближенно заданными функциями )( ~ xf , ),( ~ txK является некорректной. Известны различные регуляризирующие алгоритмы (р.а.) для устойчивого решения уравнения (3.53). В работах [53, 103, 139] рассматривался подход, связанный с аппроксимацией решения исходного уравнения решениями некоторых вспомогательных уравнений II рода. Так как задача численного решения уравнения (3.53) связана с нахождением каркасов приближенных решений, то процедура дискретизации может играть существенную роль в решении задачи. В [11] показано, что при использовании одношаговых методов, основанных на простейших формулах прямоугольников, порождаются регуляризирующие алгоритмы, в которых параметром регуляризации является шаг дискретизации. Однако одношаговые методы имеют низкий порядок сходимости. Задача построения устойчивых методов высокого порядка точности является нетривиальной. При изучении методов порядка выше двух уже в [7, 178] показано, что применение классических интерполяционных формул (типа Симпсона, Грегори I и II порядка) приводит к расходящимся методам, если они применяются для решения задачи (3.53), (3.54). Однако, как показано в [157], напротив, методы, основанные на этих формулах, пригодны для решения задачи (3.53), (3.55). В работах [155, 156] для численного решения задачи (3.53), (3.54) предложена общая схема построения линейных многошаговых методов, основанная на использовании формул типа Адамса. Взяв за основу работы [155-
  • 110. 110 157], рассмотрим задачу устойчивого построения каркасов приближенных интегральных уравнений Вольтерра I рода. Алгоритмы для случая K(x,x)≠0. Введем на [0,T] равномерную сетку 110  ,...,n,iih,xi , где )1(  nT/h и обозначим через h i приближение к точному решению )( ix в точке ix . Важный класс численных методов приближенного решения уравнения Вольтерра получается дискретизацией в (3.53) с помощью семейства квадратурных формул, т.е. заменой (3.53) на систему уравнений с треугольной матрицей n...qixf,xxKh i h ννi i ν ,νi ,,),()( 11 1 0 1      , (3.56) где ,..., q,s,h s 10 − заданные начальные значения, а ,νi 1 − веса квадратурной формулы. При конструировании многошаговых методов высокой точности не все интерполяционные квадратурные формулы пригодны, например, типа Симпсона и Грегори. Сходящиеся многошаговые метода, имеющие вид (3.56) построены в работе [173], где использованы модификации интерполяционных формул и циклически различные квадратурные формулы соответственно. В отличие от метода (3.56), сходящиеся многошаговые методы, основанные на использовании «экстраполяционных» формул типа Адамса, построены в [155, 156]. Общая форма записи многошаговых методов, использующих эти формулы имеет вид q,...,ni,xf,xxKh i h ννi i ν ,νi     )()( 11 0 1 , (3.57) где h q- h , ..., 10  − заданные начальные значения, а  ,1i − веса квадратурной формулы. Для выбора весов  ,1i будем рассматривать следующие квадратурные формулы:
  • 111. 111 .yRxyωhyrxybhyr xyahdttydttyy(t)dt iν i ν ,νi i qj q ν jνjνq x i qj x x q ν νν x q j j i )()()()()(ˆ )()()( 1 0 1 0 1 0 00 11                         (3.58) Здесь a − веса квадратурной формулы Ньютона-Котеса с 1q узлом, а веса b могут быть найдены единственным образом из системы уравнений       q j q...,j j b 0 0 10,1,0, 1 1 )( . (3.59) При таком выборе весов ),()()( 3 1 )1(2 1      q qj qq j hOCxyhyr где   1 0 )1()1( 1 dαq-α...αα q! Cq , а )()(ˆ 2  q q hOyr и, следовательно, метод имеет погрешность аппроксимации )()( 1 1    q i hOyR . Перейдем к сходимости метода (3.57) с произвольным параметром q . Как и при решении дифференциальных уравнений, свойства устойчивости методов решения интегральных уравнений можно связать с характеристическим полиномом     q q b 0 )( . Будем говорить, что метод (3.57) удовлетворяет сильному корневому условию, если все корни полинома )( лежат строго внутри единичного круга. Условие сходимости формулируется следующим образом. Пусть  )0)((),( )2( Txt,x,tΩtxK C q    ,  xxxK 0),( , C q βx    )1( )( , 0)0( f и начальные значения 10,  qsh s заданы с точностью )( 1q hO . Тогда, если метод (3.57), основанный на формуле (3.58), удовлетворяет сильному корневому условию, то он сходится с порядком 1q , т.е.
  • 112. 112 )()(max 1 0    q i h i ni hOx . Используя критерий Рауса-Гурвица [80], нетрудно показать, что метод (3.57) удовлетворяет сильному корневому условию для 5,,1,0 q . Метод не годится, начиная с 6q . Методы вида (3.57), использующие квадратурные формулы (3.58), требуют специальные процедуры для начала счета. Для вычисления начальных значений h s с точностью )(  hO можно воспользоваться неявным методом типа Рунге-Кутта, предложенным в [25]. Построение многошаговых методов для случая 0),( xxK . Рассмотрим случай 0),( xxK ,   xtxK xtx 0),( . В [147] показано, что для решения таких классов задач применим метод, основанный на квадратурных формулах, непригодных в стандартном случае (для класса уравнений с 0),( xxK таких, как формула Симпсона и Грегори I и II порядка. Сходящиеся методы, основанные на комбинации формулы Симпсона с правилом 8/3 , построены также в [173]. Покажем, что можно обобщить методы (3.57) для решения задачи (3.53), (3.55) и далее построим сходящиеся методы высокого порядка точности, основанные на интерполяционных формулах типа Адамса. Чтобы определить, какие квадратурные формулы порождают сходящиеся методы рассмотрим модельную задачу   x .(x)dtttx 0 0,0)()( (3.60) Применяя метод (3.57), основанный на формуле (3.58), к (3.60), получим 10,  qsh s ,           q h j i qj ji q h i xxbhxxah 0 1 0 1 0)()( (3.61) Из (3.61) нетрудно подучить разностное уравнение q-го порядка с постоянными коэффициентами
  • 113. 113   0)1()1( 1 1 10     h qiq h i q h i qbbbb Таким образом, сходимость метода (3.57) будет зависеть от нулей полинома   q q q q qbbbb       1 1 1 1 0 )1()1()( . (3.62) Пусть C q txK )3( ),(   , 0),( xxK , C q x (x)xxxK )1( 0),(   , 0)0()0(  ff и начальные значения q-s,h s 10  заданы с точностью )( q hO . Тогда, если метод (3.57), основанный на формуле (3.58), удовлетворяет сильному корневому условию, то он сходится с порядком q, т.е. )()(max 0 q i h i ni hOx   . Определим максимальный порядок точности метода (3.57). Полагая в (3.62) 1q )2/1,2/3( 10  bb , получим характеристическое уравнение ,0123 2  корни которого лежат строго внутри единичного круга. При 2q )12/5,12/16,12/23( 210  bbb будем иметь .ii 3,2,1,1,010313223 23  Однако уже при 3q )24/9,24/37,24/59,24/55( 3210  bbbb корни уравнения 02711017011855 234  не лежат внутри единичного круга. Таким образом, многошаговый метод (3.57), основанный на формуле (3.58), удовлетворяет сильному корневому условию для 2,1q и, следовательно, максимально возможный порядок точности метода (3.57) равен двум.
  • 114. 114 Для построения методов высокой точности рассмотрим интерполяционную формулу типа Адамса ).()()()( )(ˆ)()()()( 1 1 0 1 1 1 0 00 11 yRxyωhyrxybh yrxyahdttydttydtty iν i ν ,νi i qj q ν jνjν x i qj x x q q ν νν x q j j i                                 (3.63) Здесь a − веса квадратурной формулы Ньютона-Котеса с 1q узлом, а веса b определяются однозначно из системы уравнений [98]       q j .q,,j j b 1 11,0, 1 1 )(  (3.64) При таком выборе весов, имеем ),()()( 1 2 )2(3 1      q qj qq j hOCxyhyr где ,dq q Cq       0 1 1 )()1( )!1( 1  )()(ˆ 2  q q hOyr . Следовательно, )()( 2 1    q i hOyR . Формула (3.63), где веса b определяются формулой (3.64), соответствует квадратурной формуле Грегори [164]. Очевидно, что использование формулы Грегори (3.63) к функции )(),()( ttxKty  в силу условия 0),( xxK приводит к треугольной системе уравнений вида (3.57) для приближенного нахождения h i . Вновь применяя метод (3.57), основанный на формуле (3.63), к задаче (3.60) можно выяснить, что сходимость метода будет зависеть от нулей полинома   .)1()1()( 1 0 1 q q q qbbb     (3.65) Пусть )4()2( ),(,)(      qq CtxKCx , 0),( xxK ,  xkxxKx 0),( , 0)0()0(  ff и начальные значения qsh s 1,,1,0,   заданы с
  • 115. 115 точностью )( q hO . Можно показать что, если все корни полинома (3.65) лежат строго внутри единичного круга, то метод (3.57), основанный на формуле (3.63), сходится с порядком q, т.е. )()(max 0 q i h i ni hOx   . Таким образом, метод (3.57), основанный на формуле Грегори q –го порядка, сходится со скоростью )( q hO , если начальные значения заданы с точностью )( q hO . В табл. 3.5 выписаны характеристические уравнения для 5,...,1q . Таблица 3.5 Результаты анализа сходимости метода Порядок точности Вид характеристического уравнения 1q 01213 2  2q 014514 23  3q 01996194176299 234  4q 018109276374266317 2345  5q 0131530426921931558521589739292284199 23456  Устойчивость многошагового метода к возмущениям исходных данных. В большинстве приложений интегральных уравнений Вольтера вместо f и K заданы приближения f ~ и K ~ такие, что  c ff ~ ,  c KK ~ . Требуется по данным f ~ и K ~ восстановить устойчивый каркас приближенных решений задач (3.53), (3.54) либо (3.53), (3.55). Проведем анализ устойчивости многошагового метода к возмущениям исходных данных. Рассмотрим случай, когда ядро задано точно, а вместо точной правой части f задана непрерывная функция f ~ такая, что  cc xxfxf )()()( ~ .
  • 116. 116 Сначала перейдем к исследованию устойчивости приближенного решения задачи (3.53), (3.54), полученного методом (3.57), основанным на формуле (3.58). Пусть каркас приближенного решения находится из треугольной системы уравнений nqixfxxKh i i ii ,,),( ~ )( 1 0 1,1      , (3.66) где h q h 10 ,...,  ̶ заданные начальные значения,  ,1i ̶ веса квадратурной формулы. Найдем оценку погрешности метода (3.66). Полагая )( iii x  и записывая уравнение ошибки в виде            i qj q iijji i ii RKbhKah 0 11,1 0 ,1 , можно показать что, ,max 2 1 1 0 h chc q i ni     (3.67) где ic ̶ постоянные не зависящие от h . Из оценки (3.67) видно, что первое слагаемое характеризующее точность метода, убывает с уменьшением h , а второе слагаемое, связанное с погрешностью исходных данных, напротив, растет. Из (3.67), выбирая 2 1 )(   q h , находим ).()(max 2 1     q q ii i Ox (3.68) Пусть выполнены условия сходимости и  c xfxf )()( ~ . Тогда многошаговый метод, основанный на формуле (3.58) для 5,,2,1 q , порождает р.а., причем справедлива оценка (3.68), если 2 1 )(   q h .
  • 117. 117 В работах [7, 11] показано, что метод, основанный на формуле средних прямоугольников дает порядок сходимости по , равный 3/2 . В то же время, метод, основанный на формуле (3.58), может давать наивысший порядок сходимости, равный 7/6 . Для того чтобы построить устойчивое решение задачи (3.53), (3.55) используем метод, основанный на формуле (3.63). При этом, оценка погрешности метода имеет вид constcc h chсx q ii i    21221 ,,)(max . (3.69) Таким образом, при достаточно малом , выбирая 2 1 )(   q h , будем иметь оценку погрешности р.а. .4,,1),()(max 2 0    qOx q q ii ni Числовые результаты. Пример 1. В качестве примера рассмотрим задачу [11]   x xxdtttx 0 20,cos1)()cos( , которая имеет решение xx  )( . В табл. 3.6 приведены максимальные погрешности решений для h , равного 0.1, 0.05, 0.025, 0.02. Таблица 3.6 Зависимость максимальной погрешности решения от шага дискретизации q h=0.1 h=0.05 h=0.025 h=0.02 1 3 101.8   3 102   4 101.5   4 103.3   2 3 106.1   4 101.2   5 108.2   5 104.1   3 4 109.1   5 102.1   7 108   7 103.3   4 5 109.1   7 101.6   8 101.2   9 109.6   5 6 106.2   8 105.4   9 101.1   10 109.3  
  • 118. 118 Результаты табл. 3.6 показывают 1q -й порядок сходимости метода, но для 5,4q заметен эффект машинного округления. Пример 2. Рассмотрим задачу [12]    x xxt xexxxdtte 0 20),cos(sin5,0)()1( , которая имеет решение xx sin1)(  . В табл. 3.7 приведены максимальные погрешности решения. Таблица 3.7 Сравнение максимальных погрешностей решения разными методами задачи восстановления Метод 1,0h 05,0h 025,0h 02,0h А Б 2 109,4   2 101,2   2 104,2   2 101   2 102,1   3 103,5   3 109,9   3 102,4   В Г 3 104,7   5 104,1   3 102   6 101,1   4 104,5   7 108,1   4 105,3   7 101   Д Е 5 101,1   7 108,4   6 106,1   8 108,1   7 102,2   8 106,1   7 102,1   8 109,3   Из табл. 3.7 видно, что методы типа А – метод (3.37) с 1q , Б – Грегори І порядка, имеют первый порядок сходимости, В – метод (3.37) с 2q , Г – Грегори ІІ порядка, - второй порядок, Д – Грегори ІІІ порядка – третий порядок, Е – Грегори ІV порядка – четвертый порядок сходимости. 3.4. Частотный способ восстановления сигнала на входе линейного динамического объекта В состав развитого алгоритмического и программного обеспечения систем инверсной обработки результатов наблюдений, т.е. систем решения обратных динамических задач, должны входить блоки определения полных передаточных характеристик динамических объектов по исходным данным, неявно содержащим эти характеристики. К данным такого рода относятся
  • 119. 119 амплитудно-частотные характеристики системы (АЧХ). Поскольку, экспериментальное определение фазо-частотных характеристик элементов, как правило, осложнено аппаратно-технологическими трудностями, необходимо рассмотреть получение по данной АЧХ объекта его передаточной функции, которая проще определяется и предполагается известной. На основе данной постановки обосновывается способ восстановления сигнала на входе динамического объекта с ориентацией на его компьютерную реализацию. Восстановление передаточной функции динамического объекта. Для рассматриваемого объекта предполагаются известными его амплитудно- частотная характеристика )(A и значения )( iq tY квантованного сигнала на выходе объекта в дискретные моменты времени it . Принципиально поставленная задача решается использованием преобразования Гильберта, которое описывает связь между фазовой )( и амплитудно-частотными характеристиками объекта [148, 149]:      du u uA )(ln1 )( . Это соотношение может быть приведено к виду, в ряде случаев более удобному для практического использования:          dcth d Ad 2 )(ln1 )( ,   u ln . (3.70) Отсюда, в частности, при Constv d Ad   )(ln легко определяется 2 )(   . В [49] получено приближение фазо-частотной характеристики при аппроксимации полубесконечной логарифмической характеристики )(L линейными зависимостями с постоянным наклоном (рис. 3.8):
  • 120. 120                                                           ,10, 2 ,101 ,1414.0, 2 lnln 1 4 ,414.00, 2 0 0 00 0 0 0 0 00 0 (3.71) где 0 – точка сопряжения прямолинейных отрезков аппроксимации )(L . Рис. 3.8 – Полубесконечная логарифмическая амплитудно-частотная характеристика Погрешность аппроксимации (3.71) может быть достигнута в пределах 2%. На участках амплитудно-частотной характеристики, где величина )(ln uA отлична от нуля, представляется рациональной аппроксимация функции )(ln)( uAuL  параболой kn порядка. Пусть на отрезках k частот  kk  , получены выражения: ),1(,)( ~ ln 0 ][ m n j jnk jk kkuauA k k     (3.72)
  • 121. 121 Из (3.70) и (3.72) получаем:      mk k k 1 )( 1 )( , (3.73) где             k kn n j k jn k jn k kk k k kk G jn jG ln)()( 1 0 , (3.74) при этом     j i ijk ik a=)j(G 0 ][ , (3.75) т.е. данная функция является полиномом степени j с коэффициентами  k i . В частности, при 2kn для всех mk интервалов частотной характеристики имеем:                    .,1,ln 2 )( 21 2 0 10 220 m k kkkk kk kk kk k k kk        (3.76) Так как при малых значениях )(uA аппроксимация (3.72) невозможна, то в алгоритме определения фазо-частотной характеристики представляется целесообразным комбинированное использование аппроксимаций (3.71), (3.73)- (3.75). Таким образом, можно считать известной и передаточную функцию рассматриваемого элемента системы )( )()(   j eAjW , (3.77) если задана его амплитудно-частотная характеристика. Восстановления входного сигнала. Используя связь )()()(  jWjXjY (3.78)
  • 122. 122 между Фурье-образами )(Y и )(X выходного и входного сигналов )(tY и )(tX соответственно, можем записать известные соотношения [43]:     deYjY j 0 )()( , (3.79) )( )()( )(    A e jYjX j , (3.80)        0 )cos(Re 2 )( dtjXtX . (3.81) Соотношения (3.71), (3.77)-(3.81) принципиально решают поставленную задачу. Необходимо учесть, что известные значения )( iq tY выходного сигнала объекта отягощены погрешностью квантования qY . Следовательно, перед использованием (3.79) имеющийся сигнал должен быть подвергнут фильтрации: )()()( ttYtY q  , где )(t – оператор фильтра квантованного сигнала. Этот оператор может быть программно реализован с помощью сглаживающей сплайн-аппроксимации сигнала )(tYq [4]. Программа сплайн-аппроксимации используется также и для реализации соотношения (3.72). Согласно изложенному, восстановление сигнала на входе динамического объекта может быть реализовано комплектом программ, блок-схема которого приведена на рис 3.9. При известной передаточной функции элемента и заданном массиве значений выходного сигнала для решения задачи восстановления входного сигнала можно использовать и другие алгоритмы, например, основанные на решении соответствующих интегральных уравнений [110].
  • 123. 123 Рис. 3.9 – Блок-схема комплекта программ восстановления входного сигнала динамического объекта Ввод массивов )(),( kiq AtY  параметров AYq  , Подпрограмма аппроксимации сигнала )( iq tY с параметром сглаживания qY Подпрограмма прямого преобразования Фурье Подпрограмма F- изображения входного сигнала Подпрограмма обратного преобразования Фурье Подпрограмма аппроксимации АЧХ с параметром сглаживания A Подпрограмма определения ФЧХ Подпрограмма, реализующая m-ый алгоритм восстановления входного сигнала Блок осреднения оценок входного сигнала qY )( iq tY )( kA  A  ][k ja )( j mitX )( m )( itX 1 1)( itX )( itY )( jY  )( jX
  • 124. 124 Оценка погрешности восстановления входного сигнала. Оценка погрешностей вычисляемых характеристик представляет собой задачу, решение которой на порядок сложнее самой задачи оценки требуемых характеристик, так как требует учета характеристик погрешностей исходных данных, оценки чувствительности алгоритмов к этим погрешностям, оценки методических погрешностей и полных вычислительных погрешностей реализации конкретных вычислительных алгоритмов. Предположим, что точность κ-го алгоритма оценки входного сигнала характеризуется среднеквадратическим отклонением k . Естественно при наличии нескольких )( an алгоритмов оценки осреднять получаемые характеристики с весами, зависящими от точности соответствующего алгоритма:    an k kk xwX 1 . (3.82) В рамках линейной теории точности дисперсия комбинированной оценки (3.82) определяется выражением    an k kkx wD 1 22 . (3.83) Из (3.83) получим веса kw , минимизирующие дисперсию xD . Из необходимого условия 022 22    kk k k k k x w d dw w dw dD (3.84) получаем k k k k d w dw    , откуда k k c w   . Константа с определяется условием    an k kw 1 1, откуда     an k k c 1 1 1 . Можно убедиться, что выбор весов согласно соотношению     an j jkkw 1 1 1 действительно минимизирует дисперсию оценки (3.82).
  • 125. 125 3.4. Выводы 1. Явные динамические модели объектов представляют собой интегральные операторы с переменным верхним пределом интегрирования, причем операторы являются скалярными, в случае наличия в объекте одного входа и одного выхода, или матричными, при наличии многих входов и выходов. Полученные по динамическим характеристикам интегральные операторы представляют собой наиболее простые и вместе с тем универсальные динамические модели, поскольку обеспечивают адекватность воспроизведения свойств объекта в пределах точности априорно заданных динамических характеристик и не требуют при своем формировании каких- либо методов аппроксимации. 2. Интегральные уравнения Вольтерра І рода описывают задачу восстановления входных воздействий, поступающих на объект при известной его динамической характеристике и измеренном выходном сигнале. Особенности уравнений требуют целенаправленного выбора численных алгоритмов для решения. Исходя из компромиса между сложностью вычислительного процесса и точностью результатов, могут быть выбраны различные модификации метода квадратур. Достаточно эффективными при решении задач с „инженерной” точностью оказываются алгоритмы на основе формул прямоугольников и трапеций, причем в качестве регуляризирующего параметра может быть использована величина шага интегрирования. Анализ квадратурных формул повышенной точности позволил найти и использовать условия, которые обеспечивают построение устойчивых алгоритмов решения задачи восстановления с повышенной точностью, достигаемой, в частности, благодаря полученному соотношению между шагом дискретизации и коэффициентом регуляризации. 3. Применение интегрального метода восстановления входного сигнала динамического объекта к задаче численного дифференцирования позволило улучшить получаемые результаты по сравнению с традиционным методом, реализованным в пакете MATLAB. Численные эксперименты свидетельствуют
  • 126. 126 о работоспособности метода и возможности его применения на практике с использованием стандартных программных средств системы MATLAB/SIMULINK. 4. Многошаговые методы для численного решения уравнения Вольтерра I рода основаны на формулах Адамса. Методы применимы и в том случае, когда правая часть и ядро уравнения Вольтерра заданы с погрешностью. Анализ многошаговых квадратурных алгоритмов позволили установить, что, исходя их условий устойчивости могут быть получены возможности эффективного применения квадратурных формул высокого порядка точности, что подтверждается вычислительными экспериментами. 5. Частотный метод восстановления сигнала основан на взаимосвязи фазовой и амплитудной частотных характеристик динамического объекта. Данная зависимость описывается преобразованием Гильберта и производными от него соотношениями. В процессе определения фазо-частотной характеристики использовано ее смешанное приближение функциями с постоянным наклоном и параболическими отрезками для разных диапазонов логарифмической амплитудной частотной характеристики. Сигналы на входах элементов определяются по значениям полной передаточной функции и выходных сигналов, прошедших процесс фильтрации. Для повыщения точности результатов решения задачи восстановления целесообразно применять способ осреднения оценок искомых значений входного сигнала, полученных при помощи нескольких алгоритмов с учетом весовых коэффициентов, зависящих от точности этих алгоритмов. Основные результаты данного раздела представлены в работах автора [82, 83, 88, 89, 91, 93, 125, 177].
  • 127. 127 РАЗДЕЛ 4 ПРОГРАММНЫЕ СРЕДСТВА РЕШЕНИЯ ОБРАТНЫХ ЗАДАЧ ДИНАМИКИ. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ 4.1 Структура комплекта программ в системе MATLAB Основными требованиями, предъявляемыми к программному обеспечению для математического моделирования, являются эффективность — процессорное время моделирования, количество итераций, объем задействованной памяти и точность результатов, а также надежность — способность успешно решать требуемые задачи, достоверность выдаваемых результатов, способность выделения ошибочных ситуаций. Кроме того, важным аспектом является обеспечение удобства пользователя, прежде всего, с точки зрения трудоемкости подготовки исходных данных и их ввода в ЭВМ, возможности эффективного вывода промежуточной информации и конечных результатов, гибкости программного обеспечения [135]. Исходя из указанных требований, систему компьютерного моделирования для решения обратных задач динамики целесообразно организовать в виде пакета прикладных программ (ППП), включающего модули реализации следующих динамических моделей: интегральных моделей в виде уравнений Вольтерра; дробно-рациональных передаточных функций; моделей в виде обыкновенных дифференциальных уравнений, а также модули оценки точности полученных результатов. В соответствии с модульным принципом организации программы разбиваются на несколько подпрограмм и функций, допускающих их дальнейшее развитие и коррекцию. Пакет состоит из тринадцати основных модулей, предназначенных непосредственно для решения задач идентификации и восстановления входного сигнала динамических объектов, семи модулей, реализующих оконный интерфейс и обеспечивающих диалоговый процесс решения модельных примеров, а также одиннадцати дополнительных подпрограмм, предназначенных для подготовки и передачи в
  • 128. 128 основные модули исходных данных или вызываемых в качестве подпрограмм. Назначение файлов интерфейса представлено в таблице 4.1. Таблица 4.1 M-файлы, реализующие интерфейс ППП Название файла Назначение invTask Главное окно комплекта программ identInt Реализация оконного интерфейса задачи идентификации при помощи интегрального метода identInt_res Окно вывода результатов задачи идентификации identDiff Реализация оконного интерфейса традиционных (оптимизационных) методов идентификации identA Реализация оконного интерфейса получения аналитического представления экспериментальных зависимостей (разностной модели) restInt Реализация оконного интерфейса задачи восстановления входного сигнала динамического объекта ident_App Реализация оконного интерфейса задачи идентификации динамических характеристик объекта Структура основных модулей разработанного пакета программ приведена на рис. 4.1, а в таблице 4.2 представлены данные о его основных модулях. Тексты программ, а также описание входных и выходных параметров разработанных модулей приведены в Приложении Б. При использовании комплекса программ для решения задач идентификации предусмотрена возможность обработки значений функций входного и выходного сигналов, заданных как в аналитическом, так и в табличном виде. Во время работы основных модулей требуется вызвать дополнительные m-файлы, необходимые для работы данного модуля (см. табл. 4.3). Кроме того, используются m-файлы, содержащие исходные данные для решения задачи восстановления сигнала, которые имеют следующее назначение: kernel_... − m- файлы, задающие ядра уравнений; rightSide… − m-файлы для вычисления правых частей интегральных уравнений, а также исходные файлы с исходными табличными данными для задачи идентификации.
  • 129. 129 paramsMSM Квадратурный алгоритм идентификации (интегральная модель) Оптимизационный алгоритм идентификации (дифференциальная модель) Аналитическое представление экспериментальных зависимостей (разностная модель) Восстановления входного сигнала линейного объекта (интегральная модель) Оценка точности расчетов Интерполяционный алгоритм идентификации динамических характеристик объекта paramsLM MSM_general inv_general Основные функции комплекта программ Основные модули volt1Mod volt1Trad calcZ calcPInvZ polyCoef coefH errorMiddle2 errorMax Рис. 4.1. Структура комплекта программ
  • 130. 130 Таблица 4.2 Основные модули комплекта программ Наиме- нование Формат вызова функции Дополни- тельные m-файлы Назначение Реализуемый метод MSM_general [X,err]= MSM_general (A,B); system_coeff_ tab MGauss Решение СЛАУ относительно параметров ИДМ Квадратурный метод идентификации на основе метода наименьших квадратов inv_general [X,err]= inv_general (A,B); system_coeff_ tab Решение СЛАУ с квадратной матрицей относительно параметров ИДМ Квадратурный метод идентификации на основе метода обратной матрицы paramsMSM X=paramsMSM (y_tab,f_tab,t_tab,w); - Определение параметров дифференциаль- ной модели для входных и выходных сигналов, заданных в виде полиномов и тригонометрическ их функций Оптимизацион- ный алгоритм на основе метода наименьших квадратов paramsLM X=paramsLM (y_tab, f_tab,t_tab,w,eps ); - Определение параметров дифференциально й модели для входных и выходных сигналов в произвольном виде Метод Левенберга- Маркарда
  • 131. 131 Продолжение таблицы 4.2 Наиме- нование Формат вызова функции Дополни- тельные m-файлы Назначение Реализуемый метод calcZ [y_msm,err_msm, t_msm,a,b]= calcZ( t,x,na,nb ); makeFs, MSM_general calcB Построение разностной модели объекта на основе данных, полученных методом наименьших квадратов Метод аналитического представления эксперименталь- ных зависимостей на основе обратного z- преобразования передаточной функцииcalcPInvZ [y_inv,err_inv, t_inv,a,b]= calcPinvZ ( t,x,na,nb ); makeFs, calcAbyPInv, calcB Построение разностной модели объекта на основе данных, полученных методом псевдобратной матрицы polyCoef a=polyCoef (X,F,Lambda,n, eps ) Matr_SYM Определение коэффициентов переходной характеристики динамического объекта Интерполяцион- ный алгоритм идентификации coefH H= coefH(a, Lambda) polyCoef Определение коэффициентов дробно- рациональной передаточной функции Преобразование Лапласа-Карсона errorMiddle2 err=errorMiddle2 (y0,y); solveDiffEqTab Определение относительной среднеквадратичн ой ошибки На основе предварительно полученного решения ДУ методом Рунге- Кутты 4, 5 порядков
  • 132. 132 Продолжение табл. 4.2 Наиме- нование Формат вызова функции Дополни- тельные m-файлы Назначение Реализуемый метод errorMax err= errorMax(y0,y); solveDiffEqTab Определение максимальной абсолютной ошибки На основе предварительно полученного решения ДУ методом Рунге- Кутты 4, 5 порядков voltTrad [y,err]= volt1Trad(x); rightSide, kernel Решение линейного интегрального уравнения Вольтера I рода с ядром произвольного вида Метод квадратур на основе традиционного подхода volt1Mod [y,err]= volt1Mod(x); vFast1, vFast2 Решение линейного интегрального уравнения Вольтера I рода с возможностью выбора типа ядра Метод квадратур на основе разделяющихся ядер
  • 133. 133 Таблица 4.3 Дополнительные модули комплекта программ Наименование Формат вызова функции Назначение Реализуемый метод MGauss X=MGauss(A,B); Решение СЛАУ Метод Гаусса calcAbyPInv a=calcAbyPInv(f,F); Расчет коэффициентов знаменателя передаточной функции Метод псевдообратной матрицы calcB b=calcB( f,a,n ); Расчет коэффициентов числителя передаточной функции Z-преобразование makeFs [f,F] = makeFs(x,m); Предварительная подготовка данных для определения коэффициентов передаточной функции solveDiffEqTab [T,Y]= solveDiffEqTab (f,p,init,x); Решение дифференциального уравнения с правой частью в табулированном виде Рунге-Кутты 4, 5 порядков system_coeff_tab [A,B]= system_coeff_tab (t,u,f,h,c); Расчет коэффициентов СЛАУ для реализации ИДМ c исходными функциями в табличном виде Метод трапеций vFast1 [ y,err,t ] = vFast1( x ); Решение линейного интегрального уравнения Вольтерра I рода с ядром в виде тригонометрической функции Метод квадратур на основе модифицированного алгоритма vFast2 [ y,err,t ] = vFast2( x ); Решение линейного интегрального уравнения Вольтерра I рода со степенным ядром Coef_CG [C,G]= Coef_CG (X,F,Lambda,n); Предварительная подготовка данных для формирования матриц Интерполяционный алгоритм идентификации Matr_SYM [D1,D2]= Matr_SYM(C,G,n) Формирование матриц в символьном виде Lambda_Sr Lambda_Sr= Lambda_Sr(a,X,F) Уточнение коэффициента затухания
  • 134. 134 4.2. Организация программных модулей При использовании комплекта программ для решения обратных задач динамики предусмотрена возможность обработки значений функций входного и выходного сигналов, заданных как в аналитическом, так и в табличном виде. В последнем случае экспериментально полученные данные предварительно записываются в файлы формата *.doc или *.txt через пункт “Генерация данных” меню “Файл” главного окна ППП (рис. 4.2). Рис. 4.2. Главное окно комплекса програм В главном окне комплекса задаются интервал и шаг измерений, значения входного и выходного сигналов для задачи идентификации, уровень и тип помехи сигналов. Предусмотрена возможность получения графиков заданых функций. Программные модули задачи идентификации. Программы MSM_general, inv_general и system_coeff_tab предназначены для решения задачи интегральной идентификации динамического объекта на основе дискретизации интегралов в (2.20)-(2.21) при помощью квадратурной формулы трапеций. При этом выполняется следующая последовательность действий: 1. Используя функцию system_coeff_tab вычисляются коэффициенты ijA и jb СЛАУ. При вызове функции расчета коэффициентов СЛАУ передаются следующие параметры: u − вектор значений функции выходного сигнала; f −
  • 135. 135 вектор значений функции входного сигнала; t – вектор дискретных значений узлов измерений; h − шаг между соседними узлами сетки; c − вектор начальных условий. Результатом работы функции будут следующие векторы: A — матрица коэффициентов при неизвестных в СЛАУ; B — вектор-столбец свободных членов. 2. Полученная СЛАУ решается относительно неизвестных параметров jq методом наименьших квадратов или методом обратной матрицы при помощи функций MSM_general или inv_general соответственно. Функция MSM_general использует подпрограмму MGauss, которая реализует метод Гаусса для решения СЛАУ. Рассмотрим типовый пример 1 решения задачи идентификации с использованием соответствующих программ (Приложение Б). Построим интегральную модель линейного объекта (2.17), на вход которого подается сигнал 6125,1)( 23  ttttf . Выходной сигнал, получаемый при этом описывается функцией 3 )( tty  . Параметры модели будем искать на интервале [0; 2] с шагом дискретизации h=0,01 (рис.4.3). Рис. 4.3. Исходные данные для решения задачи идентификации Порядок эквивалентной дифференциальной модели m=3. Зададим начальные условия 3,1, iCi и вектор точных значений 3,1, ipi в окне,
  • 136. 136 вызываемом из главного меню «Идентификация», подменю «Интегральный метод» (рис. 4.4). Рис. 4.4. Заполнение полей векторов начальных условий и точных значений коэффициентов Во всплывающем окне отобразится график абсолютной погрешности решений. Рассчитанные параметры модели, построенной при помощи интегрального метода доступны пользователю в окне, вызываемом из подменю «Результаты инт. и дифф. методов» (рис.4.5), в котором предусмотрена возможность просмотра результатов оценки модели и построения графиков входных и выходных сигналов объекта и модели. Рис. 4.5. Результаты идентификации квадратурным методом
  • 137. 137 Для данного тестового примера были получены следующие параметры (см. рис. 4.5): 0856,21 q , 7155,42 q , 6312,03 q . Построим параметрическую модель этого же объекта, используя классические оптимизационные алгоритмы. В пакете программ реализованы следующие методы: наименьших квадратов; Левенберга-Маркарда [40] (рис. 4.6). Рис. 4.6. Окно задания параметров при идентификации оптимизационными методами Предусмотрена возможность построения графиков функций сигналов и абсолютной погрешности решения. Эффективность системы моделирования при решении группы тестовых примеров оценивалась по таким критериям как точность решения (абсолютная погрешность y , относительная погрешность y ) и время выполнения. Для проверки устойчивости методов, реализованных программными модулями, есть возможность наложения на входной сигнал аддитивной помехи, которая может быть представлена в следующем виде: случайной помехой, распределенной по нормальному закону; случайной помехой с учетом амплитуды входного сигнала и синусоидальной помехи )sin()( ttkf .
  • 138. 138 Соответствующий выходной сигнал был получен с помощью метода Рунге- Кутты 4 и 5 порядков при известных точных значениях параметров. Результаты идентификации представлены в таблицах 4.4-4.5. Таблица 4.4 Результаты применение интегрального метода идентификации, m=3, h=0,01 k , % ymax T, с 1q 2q 3q 0,00 0,021668 0,079242 2,0856 4,7155 -0,6312 0,01 0,021214 0,072266 1,9849 4,8702 -0,7717 0,05 0,021245 0,089712 1,8872 5,0162 -0,9027 0,10 0,021238 0,090289 1,7868 5,1687 -1,0378 Таблица 4.5 Результаты применение метода Левенберга-Маркарда, m=3, h=0,01 k , % ymax T, с 1q 2q 3q 0,00 0,071703 0,017017 1,9032 5,1420 -1,1246 0,01 0,072719 0,002606 1,8092 5,2763 -1,2410 0,05 0,076735 0,003727 1,7127 5,4168 -1,3612 0,10 0,081703 0,002532 1,6123 5,5679 -1,4896 В случае задания входного и выходного сигналов в виде полиномов интегральный метод идентификации дал более точные результаты (см. рис. 4.7). Рис. 4.7 Зависимость максимальной абсолютной погрешности от уровня шума ( ;)( 3 tty  )
  • 139. 139 Рассмотрим пример 2 для задачи идентификации, когда сигналы заданы в виде функции, содержащей экспоненту Входной сигнал: 2.014)( 2   t etf . Выходной сигнал: t ety 2 1)(   . Порядок эквивалентной дифференциальной модели m=5. При интегральной идентификации были получены следующие параметры динамического объекта: 0113,01 q , 3704,32 q , 7472,53 q , 9459,14 q и 1995,05 q . Для данного примера выбираем метод Левенберга-Маркарда, т. к. при использовании других методов для сигналов, представленных функциями экспоненты, были получены системы уравнений с плохо обусловленными матрицами. В таблице 4.6 представлены значения выходного сигнала y(t) и )(~ ty , полученные экспериментально и по результатам моделирования соответственно и абсолютная погрешность решения по выходу модели )(~)( tytyy  для разного шага дискретизации Таблица 4.6 Результаты решения задачи идентификации t y(t) Метод Левенберга- Маркарда, h=0,01 Интегральный метод h=0,01 Интегральный метод h=0,1 Интегральный метод h=0,5 )(~ ty )(~)( tyty  )(~ ty )(~)( tyty  )(~ ty )(~)( tyty  )(~ ty )(~)( tyty  0 0 0 0 0 0 0 0 0 0 0,2 0,32968 0,329678 61002,2  0,329685 61016,5  0,329685 61051,5  0,329728 5108,4  0,4 0,550671 0,550476 0,000195 0,550674 61057,2  0,550683 51022,1  0,551819 0,001148 0,6 0,698806 0,697422 0,001384 0,698807 61066,1  0,698876 51098,6  0,706549 0,007743 0,8 0,798103 0,792689 0,005415 0,798106 6105,2  0,798375 0,000271 0,826963 0,02886 1 0,864665 0,849267 0,015398 0,864671 61088,5  0,865442 0,000777 0,941922 0,077257 1,2 0,909282 0,873438 0,035844 0,909295 51032,1  0,911108 0,001826 1,076342 0,16706 1,4 0,93919 0,866432 0,072758 0,939216 51063,2  0,942927 0,003737 1,249834 0,310644 1,6 0,959238 0,825515 0,133723 0,959285 51076,4  0,966149 0,006912 1,474885 0,515647 1,8 0,972676 0,74466 0,228016 0,972756 51096,7  0,984494 0,011817 1,755697 0,783021 2 0,981684 0,74466 0,366786 0,981809 0,000125 1,000644 0,01896 2,088532 1,106848 Анализ результатов решения примера при задании разных значений шага интегрирования показал, что квадратурный метод идентификации дает более
  • 140. 140 точный результат в сравнении с оптимизационным алгоритмом (см. рис. 4.8 и таблицу 4.7). Рис. 4.8. Влияние метода и шага дискретизации на точность результата задачи идентификации Таблица 4.7 Результаты оценки точности и быстродействия моделирования Метод ymax ymax T, с 1q 2q 3q 4q 5q Левенберга-Маркарда, h=0,01 0,366786 0,436696 4,73 0,7820 -1,4175 2,5694 -4,6576 -0,2 Интегральный, h=0,01 0,000125 0,000127 0,111956 0,0113 -3,3704 5,7472 1,9659 -0,1995 Интегральный, h=0,1 0,01896 0,019314 0,013829 0,1081 -3,3084 5,6198 2,1707 -0,1568 Интегральный, h=0,5 1,106848 1,127499 0,005619 -0,3594 4,5435 6,8183 -26,8268 12.0439 В таблицах 4.8 и 4.9 представлены максимальная абсолютная погрешность идентификации, время вычислительного процесса в секундах и параметры модели с учетом синусоидальной помехи входного сигнала. Вычисления с использованием разных методов проводились на интервале [0, 2] при равном шаге дискретизации h=0,01. Сравнительный анализ результатов работы разных алгоритмов показал, что квадратурный алгоритм идентификации обладает большей устойчивостью.
  • 141. 141 Таблица 4.8 Результаты применение интегрального метода идентификации, m=5, h=0,01 k ymax T, с 1q 2q 3q 4q 5q 0,01 0,000189 0,103491 0,023311 -6,49706 6,37588 15,83192 -0,23627 0,05 0,000310 0,089377 0,00475 -1,49317 5,514835 -6,05629 -0,2662 0,10 0,000340 0,084081 0,003691 -1,016305 5,387974 -7,63575 -0,32318 Таблица 4.9 Результаты применение метода Левенберга-Маркарда, m=5, h=0,01 k ymax T, с 1q 2q 3q 4q 5q 0,01 0,055796 0,092078 129,9511 4971,802 5075,571 -8483,68 85,11122 0,05 0,111028 0,012793 128,5888 4742,03 2141,363 -13428,8 221,1721 0,10 0,113844 0,010860 125,861 4203,769 1789,687 -12070,3 382,1129 Метод аналитического представления данных.. Исследовалась возможность аппроксимации функции     )/1(3/sin 15/t ettf  . При использовании n=50 точек функции от 0 с шагом 0,5 метод псевдообратной матрицы позволил получить более точный результат аппроксимации: максимальное значение модуля абсолютной ошибки составило 15 108.8   против 14 108.9   , полученного при использовании метода наименьших квадратов. В работе [84] приведены результаты решения тестовых примеров с использованием данного метода. Программные модули задачи восстановления сигналов. Программа volt1Trad предназначена для решения линейного интегрального уравнения Вольтерра I рода с ядром произвольного вида, с помощью метода квадратур с использованием квадратурной формулы трапеций (3.27). Программа volt1Mod вызывает подпрограмм vFast1 и vFast2, предназначеные для решения линейного интегрального уравнения Вольтерра I с ядрами заданого вида при помощи модифицированного метода квадратур (3.29). При этом выполняется следующая последовательность действий программами:
  • 142. 142 1. Проверяется правильность задания входных данных. В случае обнаружения ошибок устанавливается соответствующее значение индикатора ошибки и работа программы прерывается. 2. Согласно заданному методу квадратур, интегральные операторы заменяются квадратурными формулами и вычисляется решение )(~ a исходного интегрального уравнения в начальной точке отрезка, на котором ищется решение. 3. В программе volt1Trad с помощью дополнительного цикла по j определяются значения ядер  ji xxK , для текущей точки отрезка, на котором ищется решение. В программах vFast1 и vFast2 определяются значения разделенных ядер )( il x и )( jl x в текущей точке, а также сумма произведений    il m l il xx   1 на i-м шаге интегрирования. 4. С помощью заданного метода квадратур с использованием квадратурной формулы трапеций решается исходное линейное интегральное уравнение и вычисляется его решение )(~ ix в текущей точке. 5. Если конец отрезка, на котором ищется решение, не достигнут, то повторяются шаги 3-5 для следующей точки отрезка. 6. Формируются массивы выходных данных, индикатору ошибки IER присваивается значение 0 и работа программы заканчивается. Рассмотрим типовой пример сеанса работы с использованием программ volt1Trad и volt1Mod (Приложение Б). Решается линейное интегральное уравнение Вольтерра первого рода:     .cos 2 0 2 x x xedssysx   Задается интервал [0; 3,2] с постоянным шагом дискретизации h=0,02. Результаты решения тестового примера 3 представлены в параграфе 3.2. При этом среднеквадратичная ошибка полученного решения 18931.0 , среднее значение абсолютной погрешности решения равно 0б08664, среднее значение относительной погрешности решения − 0,00029. Время вычислений
  • 143. 143 при использовании метода на основе традиционного подхода – 0,19 с, при использовании модифицированного метода −0,07. Модули интерполяционного метода. Для получения аналитического выражения для ядра интегрального уравнения вызывается модуль ident_App, реализующий интерполязионный алгоритм идентификации динамических характеристик объекта. Описание работы модулей, реализующих алгоритм, и результаты решения тестового примера даны автором в работе [83]. Для решения плохо обусловленной матрицы используется алгоритм, реализованный автором в системе SciLab. Программа была протестирована для вещественных матриц Ганкеля с размерностью n=700. Среднее улучшение точности вычислений составило 20%. Исходный код программы распространяется под лицензией GNU GPL v3. Подробное описание функций, входящих в программу, дано автором в работе [177]. Все программы программного пакета разработаны с использованием языка программного комплекса MATLAB и объединены в единый пакет прикладных программ для решения задач идентификации и восстановления входных сигналов, согласно концепции пакетов прикладных программ (MATLAB APPLICATION TOOLBOXES), принятой в системе MATLAB. Это позволяет использовать следующие преимущества разработанной системы моделирования: − возможность совместного использования с другими пакетами прикладных программ, входящих в состав программного комплекса MATLAB; − возможность анализа, коррекции и применения M-функций в качестве шаблонов, написанных на языке MATLAB, для разработки новых приложений; − возможность использования в рамках системы MATLAB на любой вычислительной платформе. Результаты тестирования позволяют сделать вывод о том, что разработанное программное обеспечение полностью соответствует требованиям, предъявляемым к современным пакетам прикладных программ для компьютерного моделирования.
  • 144. 144 4.3. Решение прикладных задач В последние годы интенсивно разрабатываются и находят все более широкое применение методы неразрушающего контроля технических изделий на базе эффектов нелинейности, инерционности и флуктуирования их физических параметров. На основе этих методов можно определять диагностические параметры и признаки физического состояния изделий. К таким методам неразрушающего контроля, выполненным на основе подачи специальных испытательных сигналов, относятся методы интегральной диагностики, базирующиеся на расчете параметров динамических моделей непрерывных объектов. Сущность интегральной диагностики состоит в том, что объект диагностирования рассматривается в целом без раскрытия его внутренней структуры. Интегральная диагностика основывается на анализе переходных или нелинейных характеристик элемента (примерами таких характеристик являются переходная тепловая характеристика, вольтамперная характеристика, вольт-фарадная характеристика и др.). Диагностическая информация выделяется из непрерывного выходного сигнала при подаче на вход объекта специального тестового воздействия, выявляющего изменения физического состояния ДО. Для целей диагностики используют два вида переходных характеристик - переходная (получаемая при подаче на вход объекта тестового сигнала в форме единичного скачка) и импульсная переходная (при подаче сигнала типа дельта-функции). Предпочтительной является переходная характеристика ввиду ее практической доступности. 4.3.1. Теплодинамические модели резистивных структур при решении задач динамики. В качестве объекта исследований рассмотрим резистивные структуры и задачу построения диагностических моделей постоянного непроволочного резистора при ступенчатом тестовом воздействии.
  • 145. 145 Резистивная структура, примером которой является резистор с изоляцией, как показано на рис.4.9, где 1 − керамическое основание, 2 − резистивный слой, 3 − контактный узел, 4 − защитное покрытие, 5 − выводы, представляет собой элемент с распределенными параметрами, что приводит к необходимости применения уравнений в частных производных или двумерных интегральных уравнений. Однако применение таких динамических моделей представляет собой трудоемкую задачу. Поэтому на практике предпочитают за счет упрощения и допущений обойтись получением и применением одномерных динамических моделей в виде обыкновенных дифференциальных уравнений, интегральных уравнений и операторов типа Вольтерра. Для этого есть определенные основания как теоретического, так и практического характера. В пользу такого подхода свидетельствует также рассмотрение резистора как скалярного объекта, входным сигналом которого является ток (или напряжение), а выходным − динамическое изменение сопротивления при джоулевом нагреве. Рис.4.9. Структура резистора с изоляцией Для резистивных материалов характерным является изменение их проводимости во времени при внешнем испытательном воздействии типа скачка. Изменение значения сопротивления является сложной функцией вида:  .,,,,),()( 0 thcRtuftR v 
  • 146. 146 В роли аргументов функции )(tR выступают функция изменения сопротивления от времени, теплоемкость vc , коэффициент теплопередачи или тепловых потерь h , интегральный коэффициент сопротивления (ТКС)  и другие факторы, представляющие в интегральном виде феноменологические параметры диссипативных подсистем. Данная зависимость может оказаться слишком сложной для практического использования. Упрощение указанной зависимости может быть достигнуто исключением из нее тех факторов, которые дают малый вклад в общую зависимость, являются малоинформативными или, если рассматривать их с позиций факторного анализа, имеют очень маленький вес. Так как в качестве исходных данных для анализа переходной функции принимаются теплофизические параметры, то принято называть ее переходной тепловой характеристикой (ПТХ). Она является информативной и, следовательно, может быть использована для расчета параметров динамического объекта. Для обоснования одномерных динамических моделей используется следующее допущение и данные. Параметры модели принимаются постоянными во время переходного процесса в связи с его небольшой длительностью, учитывается и однонаправленное изменение тепловой энергии, что и дает физическое обоснование для перехода от распределенных свойств параметров к сосредоточенным. При этом учитывается, что тепловая энергия выделяется только на границах зерен, из которых созданы активные слои резистивных непроволочных элементов, ввиду минимальных размеров самых зерен. При необходимости эти допущения определяют начальные условия двумерной модели резистивных элементов при переходе к одномерной. Принимается, что соблюдаются условия изотермичности, которые приводят в рассматриваемой динамической модели к пространству начальных условий (начальной температуры). Принимаются также постоянными значения коэффициента теплоемкости, коэффициента тепловых потерь, интегрального температурного коэффициента сопротивления.
  • 147. 147 Исходя из принятых допущений, изменение температуры в произвольной точке поверхности резистора может быть описано обыкновенными дифференциальными уравнениями первого порядка на основе теплоэнергетического баланса между энергией джоулева нагрева и излучением в окружающую среду. При более полном учете динамики процессов, возникающих вследствие энергетического скачка, порядок дифференциального уравнения может быть увеличен, т.е. наиболее общей формой динамической модели данного вида является дифференциальное уравнение вида (2.16) [134, 140], где коэффициенты ____ ,1, niqi  образуют систему параметров модели. Если объектом диагностирования является резистивная непроволочная структура, то эти коэффициенты являются постоянными. При решении задач интегральной диагностики можно численно определить указанные коэффициенты, т.е. восстановить параметры математической модели резистора и отнести последний к классу годных или негодных объектов. Входной тестовый сигнал представляется в виде: )(1)( tctf  , где constc  , а в качестве выходного сигнала возьмем значения ПТХ ____ ,1, Njy j  измеряемые через некоторый промежуток времени (шаг измерений). Рассмотрим применение разработанной методики расчет параметров динамических моделей для построения диагностических моделей PC. Метод основан на переборе возможных структур дифференциальных уравнений, используя эквивалентное интегральное уравнение. Минимизируя функционал невязки вида , ! )( )!1( )( )!( )( )!1( )( )( 2 0 1 0 1 1 1 0 1 0 1                                         i j i k t n j j i n i m i n j t jn k jkj i ji j t cdssf n st jk t cdssy j st qtyФ (4.1)
  • 148. 148 находим искомые значения неизвестных параметров. Затем получаем решение дифференциального уравнения на всем интервале наблюдений с помощью реализации эквивалентного интегрального уравнения. Первым шагом построения модели PC является использование дифференциального уравнения первого порядка вида 0)0(),()()( cytftqyty  . Затем порядок уравнения постепенно увеличивается на каждом следующем шаге алгоритма. При этом находится искомое значение параметра q , доставляющее минимум функционалу (4.1). По изложенному в параграфе 2.2 алгоритму численно реализуется интегральная модель и оцениваемый переходной процесс сравнивается с реальными исходными данными. Если погрешность оказывается больше заданной, рассматривается уравнение вида 10 )0(,)0(),()()()( 21 cycytftyqtyqty  и т.д. Повторяя эти расчеты, находим оптимальные значения параметров и структуры модели, доставляющие минимум функционалу (4.1). На основе предложенной методики были построены диагностические модели шести групп резисторов. ПТХ первых четырех групп резисторов хорошо аппроксимировались решениями дифференциального уравнения первого порядка с максимальной относительной погрешностью ( %2 ). Остальные ПТХ плохо аппроксимировались с использованием дифференциальных моделей 1-го и 2-го порядков ( %28 ). Значения параметров, контрольные значения реального выходного сигнала и получаемые посредством модели расчетные значения для первой и второй группы резисторов приведены в таблицах 4.10 и 4.11. Графики ПТХ построенных моделей соответствуют годным резисторам, а отклонения от графиков свидетельствуют о наличии различного рода дефектов, например, дефектов токопроводящего слоя, пятен, царапин и т.д.
  • 149. 149 Таблица 4.10 Контрольные значения реального выходного сигнала и получаемые посредством модели расчетные значения для ПТХ1 (q=1,61498) it 1R 1 ~ R 11 ~ RR  0,1 1 0,991 0,009 0,2 1,7 1,7092 0,0092 0,3 2,3 2,3778 0,0078 0,4 2,9 2,8363 0,0063 0,5 3,35 3,3782 0,0028 0,6 3,78 3,8326 0,0052 0,7 4,15 4,2137 0,00637 0,8 4,55 4,5332 0,0016 0,9 5 5,0257 0,00257 1 5,2 5,214 0,0014 Таблица 4.11 Контрольные значения реального выходного сигнала и получаемые посредством модели расчетные значения для ПТХ2 (q=0,9995) it 2R 2 ~ R 22 ~ RR  0,1 1 0,995 0,005 0,2 1,8 1,813 0,013 0,3 2,5 2,5032 0,0032 0,4 3,2 3,296 0,096 0,5 3,9 3,934 0,034 0,6 4,5 4,511 0,011 0,7 5 5,034 0,034 0,8 5,5 5,506 0,006 0,9 5,9 5,93 0,03 1 6,3 6,31 0,01 Для классификации резисторов можно использовать не только порядок (структуру) дифференциального уравнения, но также и значения параметров
  • 150. 150 уравнения. Технология компьютерной диагностики должна предусматривать хранение значений коэффициентов дифференциального уравнения и допустимые отклонения их решений от характеристик эталонного резистора, т.е. для каждого конкретного вида ПТХ определяется структура и значение параметров дифференциального уравнения. С помощью полученных значений параметров определяется максимальная погрешность аппроксимации и если она меньше допустимой, то резистор считается годным. Решение задачи расчета параметров диагностических моделей является одним из этапов решения общей задачи диагностирования PC и повышения их качества и надежности. 4.3.2. Идентификация участков длинных линий (RC-объектов). Известен целый ряд различных тепловых, электромагнитных объектов и устройств, передаточные функций которых содержат s в дробно- рациональной и экспоненциальной зависимостях. В частности, к числу таких объектов относятся RС–объекты [32]. На примере участка длинной линии микропровода рассмотрим вопрос построения модели RС-объекта посредством рассмотренной ранее методики. B качестве исходных возьмем экспериментальные данные о переходном процессе в участке при температуре +( 220  )°С. Испытывались два образца RС-объектов из микропровода согласно схеме испытаний, представленной на рис.4.10. Рис. 4.10. Схема испытаний
  • 151. 151 Обозначения в схеме: U − источник постоянного стабилизированного напряжения типа УЭСВ-1; ОУ− операционный усилитель постоянного тока типа УУ-1; 0R − безреактивный резистор, 10 МОм; V − индикатор самопишущий типа Н-340; 31, RR − резисторы с номиналом 1 МОм типа MB СГ-1; 42 , RR − магазины сопротивления типа МСР-63; G − гальванометр типа М 195/3; xZ − исследуемый объект. Коэффициент деления входного делителя 43, RR напряжения подбирают так, чтобы в конце промежуточного времени t=1000 с напряжение на клеммах самопишущего индикатора было не более 100 В, т.е. не превышало максимального отклонения индикатора. После установки вспомогательным делителем 43, RR нулевого показания гальванометра снимается переходная характеристика. Исследуемую линию помещают в термостат. Испытания проводились при температуре CT  220  . В таблице 4.12 приведены измеряемые значения выходного сигнала U (переходной характеристики). Таблица 4.12 Результаты испытаний № образца t, сек U U ~ UU ~  1 200 18,8 16,66 2,1 400 27 23,10 1,1 500 30,7 31,24 0,54 600 34 35,95 1,95 300 40,4 41,33 0,93 1000 45,5 45,04 0,46 2 200 17,3 16,24 1,06 400 22,1 22,45 0.35 500 24,3 24,79 0.49 600 26,5 26,49 0.01 800 28,4 28,62 0.22 1000 30 29,73 0.27 Вычислительные эксперименты проводились по квадратурному алгоритму, рассмотренному в разделе 2, с выравниванием исходных данных
  • 152. 152 методом наименьших квадратов. Входной сигнал представляет собой единичный скачок. Модель строится в виде уравнения .10,)(10)(,1)()( 3 1 2)()( trruryryqry m i im i m      (4.2) Из (4.2) согласно методу наименьших квадратов для построения модели первого порядка имеем     N i t ii i tdrryqtyФ 1 0 2 ))()(( . Отсюда получим       n i tt ii ii drrytdrryqty q Ф 1 00 0)(])()([2 и     n i ttn i ii ii drrydrrytytq 1 2 001 ))(()())(( . Используя для вычисления интегралов  it drry 0 )( формулы трапеций, находим для первого и второго образцов соответственно 22.3;8823.1 21  qq . В таблице 4.12 приводятся контрольные значения переходного процесса 2,1),1( 100 )( ~ 3 10    ie q tU tq i i i , а также значения ошибки. Отметим, что, если с увеличением порядка моделей исследуемых образцов величина UU ~  не убывает, то можно предположить, что для таких образцов можно не увеличивать порядок дифференциального уравнения. Рассмотрим ту же задачу параметрической идентификации RC-объектов из микропровода, представляющих собой линии с распределенными параметрами с иррациональными передаточными функциями посредством метода, приведенного в параграфе 3.1. В качестве математической модели
  • 153. 153 будем использовать аппроксимирующую дробно-рациональную передаточную функцию. На рис. 4.11 приведен вид идентифицируемого переходного процесса, а в табл. 4.13 – результаты идентификации. Идентифицированная передаточная функция имеет вид 3 8 2 5 )001,0( 1053,5 )001,0( 1077,4 001,0 04273,0 326,10)(          sss sW , откуда импульсная характеристика может быть представлена выражением )10765,21077,404273,0()(326,10)( 285001,0 ttettv t   , а соответствующая ей интегральная модель записывается в виде .dττxre,edττrxet,,e dττxet,t,,eτdτxty t r,t, t r,t, t r,t, t       0 2001080010 0 0010850010 0 00102850010 0 )(107652)()1053510774( )()10765210774042730()(326,10)( Рис. 4.11. График переходного процесса в RC-линии из микропровода, построенный по экспериментальным данным
  • 154. 154 Таблица 4.13. Результаты идентификации RC-элементов из микропровода t, с U, В WU ~ , В WUU ~  IEU ~ , В IEUU ~  200 18,8 18,844 0,044 18,865 0,065 400 27 26,912 0,088 26,93 0,07 500 30,7 30,648 0,052 30,664 0,036 600 34 34,143 0,144 34,159 0,159 800 40,4 40,357 0,043 40,369 0,031 1000 45,5 45,504 0,004 45,5001 0,0001 4.3.3. Коррекция динамических искажений измерителя тепловых потоков Измерение плотности потоков теплового излучения имеет важное значение для многих экспериментальных исследований и технологических процессов. Ориентация современной техники и технологии на более полную интенсификацию энергетических процессов обуславливает всевозрастающий интерес к методам и средствам изучения нестационарных процессов. Исследование процессов теплообмена поверхностей высокоскоростных летательных аппаратов, деталей установок для горячей штамповки, подвижных частей литейного и прокатного оборудования, двигателей внутреннего сгорания и газотурбинных установок, развитие лазерной техники - вот далеко неполный перечень областей, где первостепенное значение имеет точная информация о плотностях нестационарных потоков теплового излучения. Перспективными направлениями дальнейшего развития методов и приборов для измерения нестационарных потоков теплового излучения в сторону уменьшения динамических погрешностей в настоящее время являются: − изыскание новых физических принципов, которые могут быть использованы для создания малоинерционных приемников теплового излучения;
  • 155. 155 − дальнейшее совершенствование методик измерения на основе применения современных специализированных средств вычислительной техники. В части разработки новых методик измерения особое значение приобретают структурные методы коррекции динамических погрешностей измерительных преобразователей. Задача структурной коррекции динамических характеристик измерительных систем заключается в построении и использовании в преобразующем канале или контуре системы такого блока, который благодаря своим специально сформированным динамическим свойствам обеспечивает как можно лучшие динамические характеристики всей системы. Инерционность теплоэлектрических приемников (измерительных преобразователей) излучения ограничивает возможности системы измерения нестационарных потоков теплового излучения. Непосредственное использование показаний этих приборов для измерения и регулирования быстроизменяющихся процессов приводит к значительным динамическим погрешностям. Поэтому разработка способов и устройств компенсации подобных ошибок в реальном времени весьма актуальна. Интегральный метод восстановления сигналов для решения задачи коррекции динамических погрешностей системы измерения потоков теплового излучения, что заключается в восстановлении входного сигнала  ty по выходному  tf и по импульсной переходной характеристике  tk , сводится к решению интегрального уравнения Вольтерра первого рода        t tfdssystk 0 ~ , (4.3) где k ~ − динамическая характеристика системы,  tf − зарегистрированный сигнал,  ty − восстановленный сигнал на входе системы. Для синтеза корректирующих алгоритмов необходимо иметь выражение функции  tk , которое можно получить путем аппроксимации переходной
  • 156. 156 характеристики  tPe каким-либо выражением и последующим его дифференцированием. Функцию  tPe получаем как реакцию системы на входной сигнал в виде единичной функции, для воспроизведения которой используется стационарный излучатель на основе лампы накаливания и диафрагмы с заслонкой, управляемой электромагнитом. Способ нелинейной аппроксимации экспериментально полученной переходной характеристики  tPe          M i i i t tetPtP 1 1 0 ~ , Mi ,1 , где  ,,0 i − постоянные коэффициенты, позволяет найти значение параметров аппроксимирующего выражения и выбрать его порядок n таким образом, чтобы сумма среднеквадратичной погрешности в заданных точках интерполяции аппроксимирующей функции была минимальной. При 7n импульсная переходная функция приемника имеет вид   .)000000144,0000016,0 000657,001198,0102,0376,0562,0( ~ 178,065 432 t ett tttttk    (4.4) Таким образом, программа должна решать интегральное уравнение ).()(])(000000144.0)(000016.0 )(000657.0)(01198.0)(102.0)(376.0562.0[ )(178.065 0 432 tfdssyestst stststst st t     (4.5) Моделирование рассматриваемого способа компенсации динамической погрешности целесообразно проводить на основе какого-либо характерного режима работы приемника. С этой целью в [105] были проведены эксперименты по измерению плотности нестационарного потока теплового излучения с заданным законом изменения, характерным для практических условий работы приемников.
  • 157. 157 Изменение плотности падающего потока теплового излучения достигалось за счет вращения приемника вокруг оси, проходящей через середину его приемной поверхности, в поле потока стационарного излучателя. По результатам предварительных стационарных измерений установлено, что изменение плотности потока излучения при вращении приемника соответствует закону косинусов Ламберта с максимальным отклонением 2,5%. Необходимая равномерность вращения приемника в процессе измерения обеспечивалась при помощи бумагопротяжного механизма самописца Н-37. Для исключения конвективной составляющей теплового потока приемник вместе с вращающим устройством помещался в вакуумный объем. Характерный отклик приемника на синусоидальный поток теплового излучения с периодом 28 с приведен в табл. 4.14. Полученная зависимость  itf определяет исследуемый режим и представляет собой правую часть (4.3). Таблица 4.14 Результаты эксперимента N it  itf N it  itf N it  itf 1 0,00 0,00 11 5,00 10,20 21 10,0 12,44 2 0,50 0,51 12 5,50 10,93 22 10,5 11,78 3 1,00 0,79 13 6,00 11,58 23 11,0 11,35 4 1,50 2,06 14 6,50 12,23 24 11,5 10,87 5 2,00 3,60 15 7,00 12,75 25 12,0 10,22 6 2,50 4,76 16 7,50 13,14 26 12,5 9,48 7 3,00 5,84 17 8,00 13,30 27 13,0 8,60 8 3,50 6,91 18 8,50 13,33 28 13,5 7,59 9 4,00 8,01 19 9,00 13,19 29 14,0 6,11 10 4,50 9,16 20 9,50 12,89 Теперь для численной реализации интегрального уравнения (4.3) имеем достаточно полную информацию, т.е. имеем вид ядра (4.4) и значение правой части (табл. 4.14). Для компьютерного моделирования в качестве численного метода решения уравнения (4.3) был выбран метод квадратур [21], согласно которому интеграл заменяется конечной суммой, что приводит к системе алгебраических уравнений
  • 158. 158         i j ijjij tftyttkA 1 ~ , ...,2,1i , где jA − коэффициенты квадратурной формулы,   hhiti ,1 − шаг дискретизации. Применение формулы трапеций с постоянным шагом consth  к уравнению (4.3) позволяет получить рекуррентное соотношение в виде                                                 .~~ 0 2~ , 0 22403 0 0 0~ 1 1 i j jjij i i tyttkA h tf k ty k hhfhff k f y (4. 6) Из выражения (4.6) видно, что число выполняемых операций на каждом шаге непрерывно растет с ростом номера узлов дискретизации и соответственно растет объем необходимой памяти при компьютерной реализации. В данном случае целесообразно воспользоваться модифицированным алгоритмом численного решения интегрального уравнения (4.3), основанным на свойстве разделяемости ядра. При этом ядро уравнения (4.3) представляется следующим образом:         m l ll ststk 1 , ml ,1 . (4.7) Если ядро в уравнении (4.5) представим в виде (4.7), то уравнение (4.5) примет вид              ,]61520156 510105 464 332[ 178,0 765 2 4 3 3 4 2 5 1 6 7 654 2 3 3 2 4 1 5 6 543 2 2 3 1 4 5 432 2 1 3 4321 2 321211 tfeRtRRtRtRtRtRtB RtRRtRtRtRtB RtRRtRtRtB RtRRtRtBRtRRtBRtRBRB t      (4.8) где 562,01 B ; 376,02 B ; 102,03 B ; 01198,04 B ; 000657,05 B ; 000016,06 B ; 000000144,07 B ;     t ks k dssyseR 0 1178,0 , 7,1k .
  • 159. 159 Тогда расчетное выражение (4.6) приобретает следующий вид:                                                  .~2~ , 00 0 0~ 1 1 1 1 m l i j jjljil i i m l ll tytAt h tf ty h f y (4.9) где        .0 ~~ 1    m l iiilil kttktt Таким образом, в выражении (4.9) количество вычислительных операций не зависит от номера узлов дискретизации, поскольку слагаемые        1 1 i j jjlj tytA зависят только от одной свободной переменной jt . Результаты решения уравнения (4.8) приведены в таблице 4.15. Необходимо отметить, что методу квадратур соответствует регуляризирующий алгоритм, в котором параметром регуляризации является шаг квадратуры. Таблица 4.15 Результаты решения при различных шагах квадратуры it  ih ty 5.0  ih ty 1  ih ty 5.1 it  ih ty 5.0  ih ty 1  ih ty 5.1 0,0 2,224 0,392 1,424 7,5 18,837 17,525 0,5 2,189 8,0 17,484 17,343 1,0 1,870 2,973 8,5 16,938 1,5 9,858 4,518 9,0 15,248 15,356 14,946 2,0 9,805 10,426 9,5 13,972 2,5 11,114 10,0 12,141 12,270 3,0 12,694 11,244 11,397 10,5 9,940 10,614 3,5 14,321 11,0 10,672 9,567 4,0 16,078 15,347 11,5 8,187 4,5 17,858 14,991 12,0 6,969 7,385 7,661 5,0 18,498 17,887 12,5 5,198 5,5 18,067 13,0 3,332 3,717 6,0 19,067 17,814 17,126 13,5 1,361 2,578 6,5 19,378 14,0 3,189 1,299 7,0 19,120 18,913
  • 160. 160 На рис. 4.12 представлен восстановленный входной сигнал при различных значениях шага. Как видим, с увеличением шага повышается устойчивость получаемого решения, что и свидетельствует о существенном влиянии шага h на решение уравнения (4.3). Рис. 4.12. График восстановленного входного сигнала 4.4. Выводы 1. Разработан комплекс программных средств для решения обратных задач динамики систем. Разработанный пакет состоит из тринадцати основных модулей, предназначенных непосредственно для решения задач идентификации и восстановления входного сигнала динамических объектов, семи модулей, реализующих оконный интерфейс и обеспечивающих диалоговый процесс решения модельных примеров, а также одиннадцати дополнительных подпрограмм, вызываемых основными модулями. Разработанные программы
  • 161. 161 могут быть эффективно использованы как автономно, так и совместно с другими пакетами прикладных программ системы MATLAB. 2. Описана методика использования разработанных программных средств. Решен ряд тестовых задач с использованием разработанного комплекса. Алгоритмы, реализующие квадратурный интегральный метод идентификации показали более высокую точность и помехоустойчивость в сравнении с классическими алгоритмами. 3. Разработана методика получения и анализа математических моделей изделия из резистивных материалов, подверженных энергетическому воздействию в процессе производственного контроля и диагностики. Теплодинамические модели строятся на основе обработки результатов эксперимента с импульсным воздействием на образец и фиксированием реакции в виде переходной характеристики. Модели позволяют обнаруживать дефектные образцы изделий по виду и форме характеристики. 4. При решении задачи идентификации участков длинных линий использовались экспериментальные данные о переходном процессе. Вычислительные эксперименты по построению модели проводились на основе квадратурных алгоритмов с выравниванием результатов по методу наименьших квадратов. При этом получены с необходимой точностью математические модели в виде дробно-рациональных передаточных функций, что обеспечивает применение модели в процессах управления. 5. На основе алгоритмов решения уравнений Вольтерра I рода решена задача динамической коррекции динамических искажений измерителя тепловых потоков. Методу квадратур соответствует алгоритм, в котором параметр регуляризации равен шагу квадратуры. Показано, что с увеличением шага повышается устойчивость получаемого решения. Таким образом, шаг интегрирования выбирается, исходя из условий обеспечения устойчивости и заданной точности процесса восстановления входного сигнала. Основные результаты данного раздела представлены в работах автора [83, 177].
  • 162. 162 ЗАКЛЮЧЕНИЕ Основным результатом диссертационной работы является развитие методов математического моделирования обратных задач динамики систем на основе эффективного применения интегральных моделей в виде уравнений Вольтерра I и II рода, создание численных алгоритмов и программных средств их численной и компьютерной реализации, в том числе получены следующие результаты. 1. На основе анализа и систематизации обратных задач динамики, исследования свойств и особенностей рассматриваемых видов динамических моделей предложен подход по развитию соответствующих методов математического моделирования на основе использования и реализации интегральных моделей в виде уравнений Вольтерра I и II рода, определены их функциональные возможности при исследовании различных классов задач, а также сформулированы особенности, влияющие на выбор методов их численного решения. Путем сравнительного анализа пакетов математического моделирования, используемых на практике, осуществлен выбор программной среды MATLAB для разработки средств обеспечения проведения необходимых вычислительных экспериментов и решения прикладных задач. 2. Предложены способы получения интегральных моделей, которые являются основой для построения алгоритмов решения обратных задач динамики для достаточно широкого класса динамических объектов. Разработаны интегральные методы идентификации динамических объектов, позволяющих получить устойчивые неоптимизационные алгоритмы вычисления параметров математических моделей. Предложены рекуррентные способы параметрической идентификации передаточных функций динамических объектов при произвольном входном воздействии (полученные параметры передаточных функций являются также коэффициентами соответствующих дифференциальных уравнений, что позволяет получать эквивалентные математические модели в виде интегральных уравнений).
  • 163. 163 Получил дальнейшее развитие метод представления дискретных функций, полученных экспериментально, в виде решения однородных линейных разностных уравнений. Исследование алгоритмов, реализующих предложенные методы идентификации, позволяет сделать вывод об их эффективности в смысле объема вычислений и простоты реализации, а также высокой точности расчетов параметров модели. 3. Разработаны квадратурные алгоритмы численной реализации линейных интегральных моделей в виде уравнений Вольтерра I рода, обеспечивающие требуемые точность и быстродействие процесса моделирования при восстановлении входного сигнала использование параметра регуляризации и последовательное применение операций интегрирования в задачах восстановления сигналов обеспечивает устойчивость расчетных алгоритмов. Предложены многошаговые методы восстановления входного сигнала динамического объекта, которые основаны на использовании формул типа Адамса, что позволяет повысить точность расчетов. Предложен метод численного дифференцирования, который сводится к решению уравнения Вольтерра I рода с повышенной устойчивостью и допускает реализацию в системе SIMULINK. Разработан частотный способ восстановления входных сигналов динамических объектов (в рамках задачи решаются задачи нахождения фазо-частотной характеристики и передаточной функции объекта, метод позволяет определять входной сигнал на всем интервале частот); приводится способ оценки результатов восстановления входных сигналов. 4. На основе предложенных алгоритмов впервые разработан комплекс прикладных программ для моделирования динамических объектов с реализацией интегральных моделей Вольтерра в среде MATLAB. Применение интегральных динамических моделей и разработанные алгоритмы и программные средства позволили эффективно решить ряд прикладных задач, в том числе задачу получения теплодинамической модели резистивных структур; задачу идентификации участков длинных линий (RC-объектов); задачу коррекции динамических искажений измерителя тепловых потоков.
  • 164. 164 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1. Абдусатаров Б. Б. Интегральные динамические модели непрерывных систем и их компьютерная реализация : автореф. дис. … д-ра техн. наук : 05.13.16 / Б. Б. Абдусатаров. – Киев, 1991. – 44 с. 2. Андриянов А. В. Способ коррекции выходного сигнала измерительных приборов / А. В. Андриянов, В. В. Крылов // Измерительная техника. – 1975. – № 4. – С. 59–61. 3. Аноприенко А. Я. Универсальные моделирующие среды / А. Я. Аноприенко, В. А. Святный // Сб. трудов факультета вычислительной техники и информатики ДонГТУ. – Вып. 1. – Донецк, 1996. – С. 8–23. 4. Ануфриев И. Е. MATLAB 7 / И. Е Ануфриев., А. Б.Смирнов, Е. Н Смирнова. – СПб. : БХВ-Петербург, 2005. – 1104 с. : ил. 5. Апарцин А. С. К исследованию устойчивости решения полиномиального уравнения Вольтерра I рода / А. С. Апарцин // Автоматика и телемеханика. – 2011. – № 6. – С. 95–102. 6. Апарцин А. С. О полилинейных уравнениях Вольтерра I рода / А. С. Апарцин // Автоматика и телемеханика. – 2004. – № 2. – С. 118–125. 7. Апарцин А. С. О применении различных квадратурных формул для приближенного решения интегральных уравнений Вольтерра I рода методом квадратурных сумм / А. С. Апарцин // Дифференциальные и интегральные уравнения. – Иркутск, 1973. – Вып. 2. – С. 107–116. 8. Апарцин А. С. О существовании и единственности решении полилинейных уравнений Вольтерра I рода. / А. С. Апарцин // Обратные и некорректные задачи прикладной математики. – Иркутск : ИСЭМ СО РАН, 2005. – Том. 3 – С. 18–23. 9. Апарцин А. С. Об оптимизации амплитуд тестовых сигналов при идентификации ядер Вольтерра / А. С. Апарцин, С. В. Солодуша // Автоматика и телемеханика. – 2004. – № 3. – С. 116–124. 10. Апарцин А. С. Полилинейные интегральные уравнения Вольтерра первого рода: элементы теории и численные методы / А. С. Апарцин // Известия ИГУ, серия математика. – 2007. – № 1. – С. 13–42. 11. Апарцин А. С. Приближенное решение интегральных уравнений Вольтерра I рода методом квадратурных сумм / А. С. Апарцин, А. В. Бакушинский // Дифференциальные и интегральные уравнения. –
  • 165. 165 Иркутск, 1972. – Вып. 1. – С. 248–258. 12. Апарцин А. С. Численное решение интегральных уравнений 1 рода типа Вольтерра / А. С. Апарцин. – Иркутск, 1981. – 26 с. 13. Аранов П. М. Метод оптимального линейного оценивания для определения динамических характеристик средств измерения / П. М. Аранов, Е. А. Ляшенко, Л. Б. Ряшко // Измерительная техника. – 1991. – № 11. – С. 10– 13. 14. Аржанов В. А. Применение ортогональных полиномов для аппроксимации передаточных функций полосовых линий задержки / В. А. Аржанов // Омский научный вестник. – 2010. – № 3 (93). – С. 283–286. 15. Бакушинский А. Б. Некоторые нестандартные регуляризирующие алгоритмы и их численная реализация / А. Б. Бакушинский, В. С. Сизиков // Журнал вычислительной математики и математической физики. – 1982. – Т. 22. – № 3. – С. 532–539. 16. Бакушинский А. Б. Некорректные задачи. Численные методы и приложения / А. Б. Бакушинский, А. В. Гончарский. – М. : Изд-во МГУ, 1989. – 199 с. 17. Бахвалов Н. С. Численные методы: учеб. пособие для студ. вузов / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. – М. : Наука, 1987. – 600 с. 18. Бекмуратов Т. Ф. Идентификация химико-технологических объектов / Т. Ф. Бекмуратов и др. – Ташкент : Фан, 1970. – 184 с. 19. Бекмуратов Т. Ф. Математические модели и алгоритмы управления в производстве минеральных удобрений / Т. Ф. Бекмуратов, Б. А. Захидов, С. С. Касымов. – Ташкент : Фан, 1984. – 129 с. 20. Бизяев М. Н. Динамические модели и алгоритмы восстановления динамически искаженных сигналов измерительных систем в скользящем режиме : дис. … канд. техн. наук : спец. 05.13.01 «Системный анализ, управление и обработка информации (по отраслям)» / М. Н. Бизяев. – Челябинск, 2004. – 179 с. 21. Васильєв В. В. Аналіз та математичне моделювання динамічних систем на базі некласичних операційних числень / В. В. Васильєв, Л. О. Сімак, О. А. Зеленков та ін. ; під ред. чл.-кор. НАН України В. В. Васильєва. – К. : НАН України, 2006. – 184 с. 22. Васильев В. В. Моделирование динамических систем: Аспекты
  • 166. 166 мониторинга и обработки сигналов / В. В. Васильев, Г. И. Грездов, Л. А. Симак и др. – К. : НАН Украины, 2002. – 344 с. 23. Васильев Ф. П. Численные методы решения экстремальных задач / Ф. П. Васильев. – М. : Наука, 1980. – 520 с. 24. Ватульян А. О. Математические модели и обратные задачи / А. О. Ватульян // Соросовский образовательный журнал. – № 11. – Ростов-на- Дону : Ростовский государственный университет, 1998. – С. 143–148. 25. Вержбицкий В. М. Численные методы (математический анализ и обыкновенные дифференциальные уравнения) : учеб. пособие для вузов / В. М. Вержбицкий. – 2-е изд., испр. – М. : ОНИКС 21 век, 2005. – 400 с. 26. Верлань А. Ф. Интегральные уравнения: методы, алгоритмы, программы / А. Ф. Верлань, B. C. Сизиков. – К. : Наукова думка, 1986. – 544 с. 27. Верлань А. Ф. Квадратурные алгоритмы моделирования измерительных преобразователей с распределенными параметрами / А. Ф. Верлань, М. В. Сагатов, А. А. Сытник // Зб. наук. праць ІПМЕ ім. Г. Є. Пухова НАН України. – 2000. – № 6. – С. 131–136. 28. Верлань А. Ф. Компьютерное моделирование флаттера вязкоупругих пластин в сверхзвуковом потоке газа / А. Ф. Верлань, И. О. Горошко, Б. А. Худаяров // Математичне та комп’ютерне моделювання. Серія: Технічні науки: зб. наук. пр. – Кам’янець-Подільський: Кам'янець-Подільськ. нац. ун-т, 2009. – Вип. 2. – С. 15–23. 29. Верлань А. Ф. Математическое моделирование непрерывных динамических систем / А. Ф. Верлань, С. С. Москалюк. – К. : Наукова думка, 1988. – 287 с. 30. Верлань А. Ф. Метод решения задачи параметрической идентификации процессов фильтрации аномальных жидкостей в пористых средах / А. Ф. Верлань, С. А. Положаенко // Збірник наукових праць Інституту проблем моделювання в енергетиці ім. Г.Є. Пухова НАН України. – К. : ІПМЕ ім. Г.Є. Пухова НАН України, 2011. – Вип. 58. – С. 67–72. 31. Верлань А. Ф. Методы математического и компьютерного моделирования измерительных преобразователей и систем на основе интегральных уравнений : монография / А. Ф. Верлань, М. В. Сагатов, А. А. Сытник. – Ташкент : Фан, 2011. – 336 с. 32. Верлань А. Ф. Электронное моделирование передаточных
  • 167. 167 функций /А. Ф. Верлань, А. Ф. Евдокимов. – К. : Техніка, 1980. – 232 с. 33. Волков Е. А. Численные методы / Е. А. Волков. – М. : Наука, 1987. – 248 с. 34. Воронова О. С. Программные библиотеки математического моделирования динамических систем в системе Mathematica / Воронова О. С., Кирьева Е. А., Рыбникова А. М. // Електроніка та системи управління. – 2005. – № 4. – С. 143–147. 35. Габдулхаев Б. Г. Оптимизация квадратурных методов решения интегральных уравнений / Б. Г. Габдулхаев // Доклады АН СССР. – 1983. – Т. 271. – № 1. – С. 20–25. 36. Гальченко В. Я. Компьютерный анализ конфигурации магнитных полей поверхностных дефектов сплошности конечных размеров в ферромагнитной пластине ограниченной протяженности методом пространственных интегральных уравнений / В. Я. Гальченко, Д. Л. Остапущенко, М. А. Воробьев // Дефектоскопия. – 2009. – № 3. – С. 56–66. 37. Гальченко В. Я. Решение обратной задачи создания однородного магнитного поля в коэрцитиметрах с частично замкнутой магнитной системой / В. Я. Гальченко, А. Н. Якимов, Д. Л. Остапущенко // Дефектоскопия. – 2011. – № 5. – С. 3–18. 38. Гальченко В. Я. Численный анализ пространственной конфигурации магнитных полей объектов сложной геометрической формы с учетом нелинейных характеристик веществ / В. Я. Гальченко, Д. Л. Остапущенко // Информационные технологии. – 2008. – № 8. – С. 43–49. 39. Гантмахер Ф. Р. Теория матриц / Ф. Р. Гантмахер. – М. : Физматлит, 2004. – 560 с. 40. Гилл Ф. Практическая оптимизация: Пер. с англ. / Ф. Гилл, У. Мюррей, М. Райт. – М. : Мир, 1985. – 509 с. 41. Глушков В. М. Аналитическое исследование одного класса динамических моделей / Глушков В. М., Иванов В. В., Яценко Ю. П. // Кибернетика. – 1980. – № 2. – С. 1–12. 42. Голубенцев А. Н. Интегральные методы в динамике / А. Н. Голубенцев. – К. : Техніка, 1967. – 277 с. 43. Гольдштейн Е. И. Дискретное преобразование Фурье по коротким выборкам при наличии шумов / Е. И. Гольдштейн, Д. В. Ли // Измерительная
  • 168. 168 техника. – 2004. – № 4. – С. 11–14. 44. Гончаров В. Л. Теория интерполирования и приближения функций / В. Л. Гончаров. – М. : Гостехиздат, 1954. – 316 с. 45. Горошко И. О. Формирование непараметрических интегральных динамических моделей датчиков в системах измерения испытательного оборудования / И. О. Горошко, С. Ю. Протасов, А. А. Сытник // Математичне та комп’ютерне моделювання. Серія: Технічні науки: зб. наук. праць / [редкол.: Ю. Г. Кривонос (відп.ред.) та ін.]. – Кам’янець-Подільський : Кам’янець- Подільський національний університет імені Івана Огієнка, 2012. – Вип.6. – С. 49–57. 46. Грановский В. А. Динамические измерения / В. А. Грановский. – Л. : Энергоатомиздат, 1984. – 224 с. 47. Гроп Д. Методы идентификации систем / Д. Гроп. – М. : Мир, 1979. – 302 с. 48. Гулинский О. В. О численном решении некоторых некорректных задач теории управления / О. В. Гулинский // Автоматика и телемеханика. – 1976. – № 8. – С. 66–80. 49. Гусев В. Г. Электроника / В. Г. Гусев, Ю. М. Гусев. – М. : Высшая школа, 1991. – 622 с. 50. Дейч А. М. Методы идентификации динамических объектов / А. М. Дейч. – М. : Энергия, 1979. – 240 с. 51. Денисенко А. Н. Компьютерная обработка информации : монография / А. Н. Денисенко. – М. : Медпрактика-М, 2010. – 252 с. 52. Денисов А. М. Введение в теорию обратных задач / А. М. Денисов. – М. : Изд-во МГУ, 1994. – 207 с. 53. Денисов А. М. О приближенном решении уравнения Вольтерра I рода / А. М. Денисов // Журнал вычислительной математики и математической физики. – 1975. – Т. 15. – № 4. – С. 1053–1056. 54. Дехтяренко П. И. Определение характеристик звеньев систем автоматического регулирования / П. И. Дехтяренко, В. П. Коваленко. – М. : Энергия, 1973. – 120 с. 55. Довгий С. А. Методы решения интегральных уравнений. Теория и приложения / С. А. Довгий, И. К. Лифанов. – К. : Наукова думка, 2002. – 342 с. 56. Долгин В. П. Метод построения рекуррентного алгоритма численной
  • 169. 169 имитации непрерывного динамического объекта / В. П. Долгин // Электронное моделирование. – 2001. – Т. 23. – № 11. – С. 14–30. 57. Дорф Р. Современные системы управления / Р. Дорф, Р. Бишоп ; пер. с англ. Б. И. Копылова. – М. : Лаборатория базовых знаний, 2002. – 832 с. 58. Дьяконов В. Математические пакеты расширения MATLAB. Специальный справочник / В. Дьяконов, В. Круглов. – СПб. : Питер, 2001. – 480 с. 59. Дьяконов В. П. Mapple 7.0: Учебный курс / В. П. Дьяконов. – СПб. : Питер, 2002. – 652 с. 60. Дьяконов В. П. Matlab 6.0: Учебный курс / В. П. Дьяконов. – СПб. : Питер, 2001. – 592 с. 61. Дьяконов В. П. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник / В. П. Дьяконов, В. В. Круглов. – СПб. : Питер, 1999. – 448 с. 62. Жуков С. Ф. Применение метода площадей для идентификации параметров комплекса весового дозирования шахтовых материалов / С. Ф. Жуков, А. И. Важинский // Наукові праці Донецького національного технічного університету. Серія «Електротехніка і енергетика». – Донецьк : ДонНТУ, 2013. – № 2 (15). – С. 103–106. 63. Задирака В. К. Вопросы оптимизации вычислений (численное интегрирование и дифференцирование) / В. К. Задирака, В. В. Иванов. – К. : Общество «Знание» УССР, 1979. – 44 с. 64. Задирака В. К. О реализации на ЭВМ эффективных алгоритмов вычисления дискретной свертки / В. К. Задирака, Э. А. Мелехина // Кибернетика и системный анализ. – К., 1994. – №1. – 129–139. 65. Задирака В. К. Теория вычисления преобразования Фурье / В. К. Задирака. – К. : Наукова думка, 1983. – 213 с. 66. Засядько А. А. Многокритериальная модель процесса восстановления сигналов / А. А. Засядько // Электронное моделирование. – 2004. – Т. 26, № 4. – С. 13–21. 67. Засядько А. А. Розв’язання задачі відновлення сигналів за допомогою однокритеріальної оптимізації / А. А. Засядько // Вісник Житомирського інженерно-технологічного інституту. Технічні науки. – 2002. – № 4. – С. 133– 136:
  • 170. 170 68. Засядько А. А. Сравнение методов Тихонова и многокритериальной оптимизации при решении задачи восстановления сигналов / А. А. Засядько // Проблемы управления и информатики. – 2003. – № 5. – С. 60–67. 69. Иванов В. В. Методы вычислений на ЭВМ. Справочное пособие / В. В. Иванов. – К. : Наукова думка, 1986. – 584 с. 70. Иванюк В. А. Способ построения динамической модели линейного объекта по реакции на входное воздействие произвольной формы / В. А. Иванюк, Н. Л. Костьян // Электронное моделирование : журнал. – 2014. – Т. 36. – № 3. – С. 113–121. 71. Иванюк В. А. Способы формирования передаточных функций приемника теплового потока / В. А. Иванюк, Н. Л. Костьян, А. И. Махович // Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2013. – Вип. 8. – С. 61–69. 72. Идентификация и диагностика в информационно-управляющих системах авиакосмической энергетики / Б. В. Боев, В. В. Бугровский, М. П. Вершинин и др. – М. : Наука, 1988. – 168 с. 73. Иориш Ю. И. Виброметрия. Измерение вибрации и ударов. Общая теория, методы и приборы / Ю. И. Иориш. – М. : Машгиз, 1963. –178 с. 74. Калиткин Н. Н. Численные методы: учебное пособие / Н. Н. Калиткин. – 2-е изд.. – СПб. : БХВ-Петербург, 2011. – 592 с. 75. Карташов В. Я. Структурно-параметрическая идентификация дискретных моделей объектов с запаздыванием для настройки регуляторов Смита / В. Я. Карташов, Д. Ю. Сахнин // Известия Томского политехнического института. – 2007. – Т. 311. – № 5. – С. 19–23. 76. Кваско М. З. Числові методи комп’ютерного моделювання автоматичних систем. Алгоритми і програми / М. З. Кваско, А. І. Кубрак, А. І. Жученко. – К. : Політехніка, 2003. – 360 с. 77. Ким Д. П. Теория автоматического управления / Д. П. Ким. – М. : Физматлит, 2004. – Т.2. Многомерные, нелинейные, оптимальные и адаптивные системы: Учеб. пособие. – 464 с. 78. Кондратьев В. А. О представлении электромагнитных сил при структурном моделировании динамических свойств электромагнитных механизмов / В. А. Кондратьев, Н. Г. Власова // Сборник научных трудов
  • 171. 171 НГТУ. – Новосибирск : НГТУ, 2009. – № 4 (58). – С 59–64. 79. Конет І. М. Стаціонарні та нестаціонарні задачі теплопровідності для багатошарових ортотропних клиновидних циліндрично–кругових областей : монографія / І. М. Конет, М. П. Ленюк – Чернівці : Рута, 2000. – 136 с. 80. Корн Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. – М. : Наука, 1970. – 720 с. 81. Костьян Н. Л. Алгоритм идентификации динамических моделей с запаздыванием / Н. Л. Костьян, С. Ю. Протасов // Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2015. – Вип. 12. – С. 65-77. 82. Костьян Н. Л. Интерполяционные алгоритмы компьютерной идентификации передаточных функций динамических систем / Н. Л. Костьян // Обробка сигналів і негаусівських процесів : матеріали V Міжнародної науково- практичної конференції, 20–22 травня 2015 р. – Черкаси : Черкаський державний технологічний університет, 2015. – С. 41–43. 83. Костьян Н. Л. Исследование интерполяционных алгоритмов компьютерной идентификации динамических моделей по экспериментальным данным / Н. Л. Костьян // Технологический аудит и резервы производства. – 2015. – № 2/5 (22). – С. 22–26. 84. Костьян Н. Л. Метод аналитического представления экспериментальных зависимостей / Н. Л. Костьян, О. А. Наконечная // Электронное моделирование : журнал. – 2013. – Т. 35. – № 6. – С. 27–35. 85. Костьян Н. Л. Метод идентификации интегральных моделей линейных динамических объектов / Н. Л. Костьян // Вісник ЧДТУ. Серія: Техн. науки : зб. наук. праць. – Черкаси : ЧДТУ, 2013. – № 2. – С. 84–89. 86. Костьян Н. Л. Метод многократного интегрирования для исследования систем при произвольном воздействии / Н. Л. Костьян // Вісник ЧДТУ. Серія: Техн. науки : зб. наук. праць. – Черкаси : ЧДТУ, 2014. – № 3. – С. 32–38. 87. Костьян Н. Л. Об одном методе аналитического представления экспериментальных зависимостей / Н. Л. Костьян // Сучасні проблеми математичного моделювання, прогнозування та оптимізації : тези доповідей VІ Міжнародної наукової конференції, 4–5 квітня 2014 р. – Кам’янець- Подільський : Кам’янець-Подільський національний університет імені Івана
  • 172. 172 Огієнка, 2014. – С. 88–89. 88. Костьян Н. Л. Об одном способе восстановления сигнала на входе линейного динамического объекта / Н. Л. Костьян // Актуальні проблеми технічних та соціально-гуманітарних наук у забезпеченні діяльності служби цивільного захисту : матеріали Міжнародної науково-практичної конференції, 4–5 квітня 2013 року, м. Черкаси. – Частина І. – Черкаси : АПБ ім. Героїв Чорнобиля, 2013. – С. 376–394. 89. Костьян Н. Л. Основные формы и особенности явных интегральных динамических моделей / Н. Л. Костьян // Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2014. – Вип. 10. – С. 89–100. 90. Костьян Н. Л. Применение метода многократного интегрирования для исследования систем при произвольном воздействии / Н. Л. Костьян // Інформаційні та моделюючі технології ІМТ 2014 : матеріали Всеукраїнської науково-практичної конференції, Черкаси, 29–31 травня 2014 р. – Черкаси : ЧНУ імені Богдана Хмельницького, 2014. – С. 66. 91. Костьян Н. Л. Применение многошаговых методов для решения задач восстановления сигналов на входе динамических объектов / Н. Л. Костьян // Інформаційні та моделюючі технології ІМТ 2015 : матеріали Всеукраїнської науково-практичної конференції, Черкаси, 28–30 травня 2015 р. / Черкаси : ЧНУ імені Богдана Хмельницького, 2015. – С. 41. 92. Костьян Н. Л. Решение задачи идентификации интегральных моделей линейных динамических объектов / Н. Л. Костьян // Інформаційні та моделюючі технології ІМТ-2013 : матеріали Всеукраїнської науково-практичної конференції. – Черкаси : ЧНУ імені Богдана Хмельницького, 2013. – С. 17–18. 93. Костьян Н. Л. Частотный способ восстановления сигнала на входе линейного динамического объекта / Н. Л. Костьян, Б. С. Аскарходжаев, В. В. Понедилок // Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2012. – Вип. 7. – С. 88–94. 94. Краснопрошина А. А. Современный анализ систем управления с применением MATLAB, Simulink, Control System : уч. пособие / Краснопрошина А. А., Репникова Н. Б., Ильченко А. А. – К. : Корнийчук, 1999. – 144 с.
  • 173. 173 95. Красовский А. А. Интегральные оценки и критерии качества регулирования / А. А. Красовский // Теория автоматического регулирования. – Т. 1. – М. : Машиностроение, 1967. 96. Краус М. Измерительные информационные системы / М. Краус, Э. Вошни. – М. : Мир, 1975. – 310 с. 97. Крутько П. Д. Алгоритмические процедуры решения обратных задач динамики управляемых систем / П. Д. Крутько // Техническая кибернетика. – 1985. – № 6. – С. 121–130. 98. Крылов В. И. Вычислительные методы : в 2-х т. / Крылов В. И., Бобков В. В., Монастырный П. И. – Т. 2. – М. : Наука, 1977. – 400 с. 99. Кубрак А. І. Комп'ютерне моделювання та ідентифікація автоматичних систем : навч. посіб. / А. І. Кубрак, А. І. Жученко, М. З. Кваско / Нац. техн. ун-т України «Київ. політехн. ін-т». – К. : Політехніка, 2004. – 424 с. 100. Лаврентьев М. М. Некорректные задачи математической физики и анализа / М. М. Лаврентьев, В. Г. Романов, С. И. Шишатский. – М. : Наука, 1980. – 285 с. 101. Лазарев Ю. Ф. Matlab 5.x / Ю. Ф. Лазарев. – К. : BHV, 2000. – 384 с. 102. Леонов В. В. Об определении погрешностей коэффициентов передаточной функции линейной системы / В. В. Леонов // Радиотехника. – Т. 30. – 1975. – № 4. – С. 90–92. 103. Магницкий Н. А. Об одном методе регуляризации уравнений Вольтерра I рода / Н. А. Магницкий // Журнал вычислительной математики и математической физики. – 1975. – Т. 15. – № 5. – С. 1317–1323. 104. Максимович Н. А. Численное моделирование динамического объекта на основе операций свертки / Н. А. Максимович // Электронное моделирование. – 2004. – Т. 26. – № 4. – С. 117–123. 105. Манжиров А. В., Полянин А. Д. Справочник по интегральным уравнениям : Методы решения. – М. : Факториал Пресс, 2000. – 384 с. 106. Меньшиков Ю. Л. Идентификация моделей внешних воздействий : монография / Ю. Л. Меньшиков, Н. В. Поляков. – Д. : Наука и образование, 2009. – 188 c. 107. Меньшиков Ю. Л. Метод обеспечения адекватности динамических моделей / Ю. Л. Меньшиков // Электронное моделирование. – 2014. – Т. 36, № 3. – С. 31–40.
  • 174. 174 108. Меньшиков Ю. Л. Обратная задача течения жидкости со свободной поверхностью / Ю. Л. Меньшиков, И. Е. Платонова // Вестник Херсонского государственного техн. ун-та. – 2003. – № 3(19). – С. 293–296. 109. Методы алгоритмизации непрерывных производственных процессов / [Иванов В. В., Березовский А. И., Задирака В. К., Здоренко Л. Д., Лепеха Н. П.]. – М. : Наука, 1975. – 400 с. 110. Методы и алгоритмы восстановления сигналов и изображений / А. Ф. Верлань, И. О. Горошко, Е. Ю. Карпенко и др. / Нац. акад. наук Украины, Ин-т проблем моделирования в энергетике им. Г. Е. Пухова. – К. : ИПМЭ, 2011. – 368 с. : ил. 111. Методы и устройства интерпретации экспериментальных зависимостей при исследовании и контроле энергетических процессов / А. Ф. Верлань, Б. Б. Абдусаров, А. А. Игнатченко, Н. А. Максимович. – К. : Наук. думка, 1993. – 208 с. 112. Методы классической и современной теории автоматического управления : в 5 томах. Том 1. Математические модели, динамические характеристики и анализ систем автоматического управления / Пупков К. А., Егупов Н. Д., Баркин А. И. и др. – М. : МГТУ им. Н. Э. Баумана, 2004. – 656 с. 113. Методы решения и приложения интегральных уравнений : библиографический указатель / сост. А. Ф. Верлань, А. П. Голуб, В. С. Сизиков. – К. : Изд. Ин-та проблем моделирования в энергетике, 1985. – 61 с. 114. Метьюз Джон Г. Численные методы. Использование Matlab / Джон Г. Метьюз, Куртис Д. Финк. –М. : Вильямс, 2001. –720 с. : ил. 115. Мирошник И. В. Теория автоматического управления. Линейные системы / И. В. Мирошник. – СПб. : Питер, 2005. – 336 с. 116. Моделирование динамических систем: Аспекты мониторинга и обработки сигналов / В. В. Васильев, Г. И. Грездов, Л. А. Симак и др. – К. : НАН Украины, 2002. – 344 с. 117. Мокін Б. І. Математичні методи ідентифікації електромеханічних процесів. Навчальний посібник / Б. І. Мокін, В. Б. Мокін, О. Б. Мокін. – Вінниця : УНІВЕРСУМ–Вінниця, 2005. – 300 с. 118. Мороз В. І. Ефективні рекурентні формули для комп'ютерного моделювання електромеханічних систем / В. І. Мороз // Вісник Національного університету "Львівська політехніка", "Електроенергетичні та електромеханічні
  • 175. 175 системи". – 2007. – № 597. – С. 3–11. 119. Мороз В. І. Інтегральні рівняння в моделюванні керованих електромеханічних систем / В. І. Мороз // Електротехніка і електромеханіка. – 2007. – № 3. – С. 39–43. 120. Мороз В. І. Числово-аналітичний метод розрахунку електромеханічних систем / В. І. Мороз, Б. М. Харчишин // Електротехніка і електромеханіка. – 2008. – № 2. – С. 45–47. 121. Надежность современных и перспективных турбогенераторов / ред. Г. Г. Счастливый. – К. : Наук. думка, 1978. – 203 с. 122. Неймарк Ю. И. Динамические системы и управляемые процессы / Ю. И. Неймарк. – М. : Либроком, 2010. – 336 с. 123. Немцова О. М. Методы решения обратных задач, выраженных интегральными уравнениями Фредгольма первого рода / О. М. Немцова // Вестник Удмуртского университета. Физика. – 2005. – № 4. – С. 23–34. 124. Одокиенко С. Н. Особенности методов решения интегральных уравнений Вольтерра І рода / С. Н. Одокиенко // Математичне та комп’ютерне моделювання. Серія: Технічні науки. – 2008. – Вип. 1. – С. 130–139. 125. Одокиенко С. Н. Особенности применения интегральных моделей для решения обратных задач динамики / С. Н. Одокиенко, Н. Л. Костьян // Proceedings Of The Ninth International Scientific-Practical Conference INTERNET- EDUCATION-SCIENCE IES-2014, 14–17 October, 2014, Vinnytsia, Ukraine. – С. 138–140. 126. Павленко В. Д. Идентификация нелинейных динамических систем в виде ядер Вольтерры на основе данных измерений импульсных откликов / В. Д. Павленко, С. В. Павленко // Электронное моделирование. – 2010. – Т.32, № 3. – С. 3–18. 127. Павленко В. Д. Информационная технология косвенного контроля и диагностики динамических объектов на основе моделей Вольтерра / В. Д. Павленко // Труды Одесского политехн. ун-та. – 2008. – Вып. 2 (30). – С. 194–199. 128. Павленко В. Д. Метод диагностики непрерывных систем на основе моделей в виде ядер Вольтерра / В. Д. Павленко, А. А. Фомин, С. В. Павленко, В. М. Ильин // Моделювання та керування станом еколого-економічних систем регіону : Збірник праць. – К. : МННЦІТІС, 2008. – Вип. 4. – С. 180–191.
  • 176. 176 129. Павленко В. Д. Построение диагностической модели вентильно– реактивного двигателя на основе ядер Вольтерра / В. Д. Павленко, В. В. Череватый, З. П. Процына // Электромашиностроение и электрооборудование. – К. : Техніка, 2009. – № 74. – С. 31–34. 130. Павленко В. Д. Эффективность методов извлечения диагностической информации из данных идентификации объектов контроля в виде ядер Вольтерра / В. Д. Павленко, С. В. Павленко, В. М. Ильин // Електротехнічні та комп’ютерні системи. – 2011. – Вип. 4(80). – С. 154–161. 131. Павленко С. В. Оптимизация вычислительных алгоритмов аппроксимационного метода идентификации нелинейных систем в виде моделей Вольтерра / С. В. Павленко, С. А. Положаенко // Інформатика та математичні методи в моделюванні. – 2013. – Т. 3. – № 2. – С. 103–112. 132. Певзнер Л. Д. Теория систем управления / Л. Д. Певзнер. – М. : Изд- во Московского государственного горного университета, 2002. – 472 с. 133. Половко А. М. Интерполяция. Методы и компьютерные технологии их реализации [Текст] : монография / А. М. Половко, П. Н. Бутусов. – СПб. : БХВ-Петербург, 2004. – 320 с. 134. Поломарь Е. Л. Исследование информативности переходных тепловых характеристик резисторов / Е. Л. Поломарь, Е. В. Савчук ; под ред. В. П. Бакалинского // Контроль и диагностика резисторов как средство обеспечения их качества. – К. : Знание, 1976. – С. 15–17. 135. Поль В. Номенклатуры показателей качества программных средств общематематического назначения / Поль В., Керге А., Керге Р. – Таллин : Валгус, 1989. – 173 с. 136. Пухов Г. Е. Преобразования Тейлора и их применения в электротехнике и электронике / Г. Е. Пухов. – К. : Наук. думка, 1978. – 259 с. 137. Пыркин А. А. Методы адаптивного и робастного управления в условиях запаздывания и возмущающих воздействий: Дис. …канд. техн. наук: 05.13.01. – Санкт-Петербург, 2010. – 151 с. 138. Савелова Т. И. Об оптимальной регуляризации уравнений типа свертки с приближенными правыми частями и ядром / Т. И. Савелова // Журнал вычислительной математики и математической физики. – 1978. – № 1. – С. 218– 222. 139. Сергеев В. И. Регуляризация уравнений Вольтерра I рода / В. И.
  • 177. 177 Сергеев // Докл. АН СССР. – 1971. – Т. 197. – № 3. – С. 531–534. 140. Сердюк Г. Б. О применении методов идентификации для диагностирования непроволочных резисторов по переходным тепловым характеристикам / Г. Б. Сердюк, Е. В. Савчук // Электронная техника. – 1979. – Сер. 8. – Вып. 1 (71). – С. 11–23. 141. Серегина Н. И. Простой регуляризирующий метод компенсации влияния аппаратной функции на результат измерения / Н. И. Серегина, Г. Н. Солопченко // Техническая кибернетика. – 1984. – № 2. – С. 166–172. 142. Сивохин А. В. Решение задач оптимального управления с использованием математической системы MATLAB и пакета имитационного моделирования SIMULINK. Лабораторный практикум по основам теории управления / А. В. Сивохин, Б. К. Мещеряков. – Пенза : ПНГУ, 2006. – 120 с. 143. Сидоров Д. Н. Методы анализа интегральных динамических моделей: теория и приложения : монография / Д. Н. Сидоров. – Иркутск : Изд- во ИГУ, 2013. – 293 с. 144. Сизиков В.С. Обратные прикладные задачи и Matlab : Учебное пособие / В.С. Сизиков. – СПб. : Лань, 2011. – 256 с. 145. Сизиков В. С. Устойчивые методы обработки результатов измерений. Учебное пособие / В. С. Сизиков. – СПб. : СпецЛит, 1999. – 240 с. 146. Симонов М. М. Метод оптимизации регуляризующих алгоритмов динамической коррекции / М. М. Симонов, А. И. Бутко // Измерительная техника. – 1990. – № 2. – С. 13–15. 147. Симонов М. М. Цифровой алгоритм восстановления входного сигнала / М. М. Симонов, Е. А. Васильев // Измерительная техника. – 1979. – № 5. – С. 29–32. 148. Скляр Б. Цифровая связь. Теоретические основы и практическое применение : пер. с англ. / Б. Скляр. – М. : Вильямс, 2003. – 1104 с. 149. Солодовников В. В. Основы теории и элементы систем автоматического регулирования / В. В. Солодовников, В. Н. Плотников, А. В. Яковлев. – М. : Машиностроение, 1985. – 536 с. 150. Солопченко Г. Н. Компенсация динамических погрешностей при неполных сведениях о свойствах приборов и измеряемых сигналов / Г. Н. Солопченко, И. Б. Челпанов // Метрология. – 1979. – № 6. – С. 3–13. 151. Солопченко Г. Н. Обратные задачи в измерительных процедурах /
  • 178. 178 Г. Н. Солопченко // Измерения, контроль, автоматизация. – 1983. – № 2. – С. 32–46. 152. Старков В. Н. Операторное уравнение первого рода в проблеме реконструкции статистики числа фотонов квантового света / В. Н. Старков, А. А. Семенов, Е. В. Гомонай // Электронное моделирование. – 2014. – Т. 36, № 3. – С. 81–94. 153. Старков В. Н. Операционное исчисление и его применения. Учебн. пособ. / В. Н. Старков. – СПб., 2000. – 65 с. 154. Степаньянц Г. А. Теория динамических систем / Г. А. Степаньянц. – М. : Либроком, 2010. – 312 с. 155. Тент Мен Ян. Линейные многошаговые методы для численного решения Вольтерра I рода / Тент Мен Ян // Методы оптимизации и исследование операций. – Иркутск : СЭМ СО АН СССР, 1984. – С. 254–257. 156. Тент Мен Ян. Метод типа Адамса-Башфорта для устойчивого решения интегральных уравнений Вольтерра I рода / Тент Мен Ян // Труды Всесоюзной школы-семинара по некорректно поставленным задачам. – Саратов, 1985. – С. 138–139. 157. Тент Мен Ян. Числовое решение интегральных уравнений Вольтерра I рода с ядром, равным нулю на диагонали / Тент Мен Ян. – Иркутск, 1981. – 15 с.. 158. Тихонов А. Н. Методы решения некорректных задач / А. Н. Тихонов, В. Я. Арсенин. – М. : Наука, 1986. – 288 с. 159. Тихонов А. Н. О математических методах автоматизации обработки наблюдений / А. Н. Тихонов // Проблемы вычислительной математики. – Μ. : Изд-во МГУ, 1980. – С. 3–17. 160. Трунов О. М. Адекватність моделі як задача багатокритеріальної ідентифікації / О. М. Трунов // Авиац.-косм. техника и технология. – 2007. – № 3. – С. 178–182 161. Турчак Л. И. Основы численных методов / Л. И. Турчак. – М. : Наука, 1987. – 320 с. 162. Форсайт Дж. Машинные методы математических вычислений / Форсайт Дж., Малькольм М., Моулер К. – М. : Мир, 1980. – 280 с. 163. Харитонова Е. В. Численный анализ обратной задачи теории измерений / Е. В. Харитонова // Вестник Южно-Уральского государственного
  • 179. 179 университета. Серия «Математика, физика, химия». – 2005. – № 2. – Вып. 5. – С. 42–48. 164. Хеминг Р. В. Численные методы / Р. В. Хеминг. – М. : Наука, 1972. – 400 с. 165. Цюнь Гэ. Интерполяция установившихся и переходных электрических величин в ЭЭС / Гэ Цюнь, Я. Л. Арцишевский // Журнал научных публикаций аспирантов и докторантов. – 2008. – № 10. – С. 267–275. 166. Численные методы решения некорректных задач / А. Н. Тихонов, А. В. Гончарский, В. В. Степанов, А. Г. Ягола. – М. : Наука, 1990. – 230 с. 167. Шестаков А. Л. Оценка достоверности результатов динамических измерений / А. Л. Шестаков // Информационные устройства и системы управления : тем. сб. науч. тр. – Челябинск : ЧГТУ, 1994. – С. 63–68. 168. Шестаков А. Л. Синтез оптимального по среднеквадратической погрешности корректирующего устройства измерительного преобразователя / А. Л. Шестаков // Метрология. – 1989. – № 8. – С. 3–8. 169. Шидловская Н. А. Сравнительный анализ использования алгебраических и гиперболических полиномов при исследовании переходных процессов в выходных цепях разрядно-импульсных систем / Н. А. Шидловская, С. Н. Захарченко // Электротехника и электромеханика. – Харьков : НТУ, 2012. – № 6. – С. 34–36. 170. Эйкхофф П. Современные методы идентификации систем / П. Эйкхофф. – М. : Мир, 1983. – 400 с. 171. Aburdene Maurice F. Computer Simulation of Dynamic Systems / Maurice F. Aburdene. – Dubuque, Iowa :William C Brown Pub, 1988. – 368 p. 172. An integrated structure for Kalman-filter-based measurand reconstruction / A. Barwicz, D. Massicotte, Y. Savire, M.-A. Santerre, Z. Morawski // IEEE Transaction on Instrumentation and Measurement. – 1994. – Vol. 43. – № 3. – Р. 403–409. 173. Andrade C. Convergence of linear multistep method for Volterra fist kind equations with 0),( xxK / Andrade C., Bertoldi F. M., Mckee S. // Computing. – 1981. – Vol. 27. – № 3. – P. 189–201. 174. Aquirre-Ramirez G. A numerical solution or integral equations / Aquirre- Ramirez G., Shashani A. O. // Int. J. Numer. Math. Eng. – 1980. – Vol. 15. – № 10. – P. 1575–1579.
  • 180. 180 175. Baker C. The numerical treatment of integral equations / C. Baker. – Oxford : Clarendon Press, 1976. – 1034 p. 176. Building GUIs with Matlab [Electronic resource]. – The MathWorks Inc., 1997. – Access mode : www.mathworks.com. 177. Kostian N. The Result of the Study for Solving Ill-conditioned Systems of Linear Equations by a New Method / N. Kostian, I. Bilan, S. Gladun // Eastern European Scientific Journal. – 2015. – vol. 2 – С. 155-158. 178. Linz P. Numerical method for Volterra integral equations of the first kind / P. Linz // Compat. J. – 1969. – Vol. 12. – № 4. – P. 393–397. 179. MATLAB в инженерных и научных расчетах : монография / Дащенко А. Ф., Кириллов В. Х., Коломиец Л. В., Оробей В. Ф. – Одесса : Астропринт, 2003. – 215 с. 180. Steinhaus S. Comparison of mathematical programs for data analysis (Edition 5.04) [Electronic resource] / S. Steinhaus. – Munich, 2008. – 64 p. – Access mode: http://www.scientificweb.com/ncrunch/ncrunch5.pdf 181. Strejc V. Auswertung der dynamischen Eigenschaften von Regelstrecken bei gemessenen Ein-und Ausgangssignalen allgemeiner / V. Strejc // Zeitschrift fur Messen, Steuern, Regeln. – Berlin, 1960. – Jg. 3. – № 1. – P. 7–10. 182. The method and algorithms for identification of dynamic objects on basis of integral equations / O. A. Diachuk, N. L. Kostyan, A. A. Sytnik, F. A Halmuhametova // Математичне та комп’ютерне моделювання. Серія: Техн. науки : зб. наук. праць. – Кам’янець-Подільський : Кам’янець-Подільський нац. ун-т ім. І. Огієнка, 2013. – Вип. 9. – С. 52–67. 183. Vrancic D. Magnitude Optimum Techniques for PID Controllers / D. Vrancic // Introduction to PID Controllers – Theory, Tuning and Application to Frontier Areas. – Rijeka : Published by In Tech, 2012. – P. 75–102.
  • 181. 181 ПРИЛОЖЕНИЕ А АЛГОРИТМ ИДЕНТИФИКАЦИИ ДИНАМИЧЕСКИХ МОДЕЛЕЙ С ЗАПАЗДЫВАНИЕМ Существует множество динамических объектов практически во всех отраслях науки, техники и промышленности, статические и динамические свойства которых изменяются неконтролируемым образом, а априорные сведения об этих изменениях и о самих физических, математических и расчетных моделях "объект-внешняя среда" только в определенной степени соответствуют действительности. В этих случаях практический результат управления не соответствует моделируемому или является совершенно непригодным. Возникает потребность в методах управления, учитывающих наличие априорной и текущей неопределенности. При этом адаптивные методы и соответствующие технические средства должны гарантировать желаемое качество процесса управления и инвариантность регулируемых переменных, критериев качества или других характеристик системы управления с учетом объективно существующих неконтролируемых изменений статических и динамических свойств объекта и воздействий внешней среды при априорной неопределенности расчетной модели " объект- внешняя среда". Анализ последних исследований и публикаций. Проблеме идентификации динамических характеристик объектов с запаздыванием посвящен ряд работ [13, 75, 77, 112, 137]. Для оценки запаздывания используются поисковые методы [112]. Оценка запаздывания основана на аппроксимации импульсных характеристик системой ортогональных функций [13, 137]. В работе [13] запаздывание аппроксимируется функциями Лагерра. В работах [75, 77, 137] для оценки запаздывания используется метод моментов. Алгоритмы оценки параметров простейших типовых объектов с запаздыванием рассматриваются в работе [77]. На основе метода моментов в работе [137] строится алгоритм определения параметров линейной системы с запаздыванием, когда импульсная характеристика системы может быть точно аппроксимирована функциями
  • 182. 182 Лагерра. Метод оценки параметров нелинейных систем одного класса с запаздыванием предлагается в работе [75]. Приведенный в настоящей работе алгоритм основан на методе моментов, причем в качестве моментных функций используются функции вида tkk ettk  )( . Метод достаточно прост и, в отличие от метода, предложенного в работе [137], позволяет принципиально точно определить истинное запаздывание. Идея метода основана на результатах работы [75]. Рассмотрим объект, описываемый уравнением ,)()()( 0 duutxuty обоб    (А.1) где )(),( tytx – входной и выходной сигналы объекта; )(t – импульсная характеристика объекта; об – запаздывание объекта. Передаточную функцию модели будем искать в виде p n k kk m k kk M Me pa pb pW       0 0)( , (А.2) где kk ba , – постоянные коэффициенты передаточной функции; м – запаздывание модели. Рассмотрим две задачи идентификации, связанные с моделью (А.2). Первая: объект имеет сложную структуру, высокий порядок и большое число неизвестных параметров. Динамические свойства объекта аппроксимируются моделью (А.2) пониженного порядка с запаздыванием. При такой постановке задачи идентификации структура объекта может быть произвольной, содержать трансцендентные звенья. Вторая: структуры модели и объекта совпадают и имеют вид (А.2). Задача идентификации заключается в определении порядка передаточной функции объекта )( pWоб и ее параметров. Обе задачи решаются методом моментов. Суть метода заключается в следующем. По экспериментальным данным входа и выхода объекта
  • 183. 183 вычисляются моменты об k импульсной характеристики объекта )(tоб : pоб k k kоб k об k pW dp d K dttt K         )( ! 1 )()( ! )1( 0 , (А.3) где tkk ett  )( – взвешенные моментные функции. Моменты об k являются коэффициентами разложения )( pWоб в ряд Тейлора в точке P :     0 )()( k kоб kоб ppW  . (А.4) Аналогичное разложение можно записать и для )( pWм : k k M kм ppW )()( 0      (А.5) Параметры модели выбираются так, чтобы некоторые числа моментов модели и объекта были равны между собой: rkM k об k ,,1,0,    . (А.6) Это условие обеспечивает близость динамических характеристик объекта и модели и зависит от параметра  . В дальнейшем вместо M k и об k будем писать k  . Уравнения связи моментов с параметрами модели. Рассмотрим уравнение (А.5). Переходя к новой переменной  ps , из уравнения (А.5) получаем: )( )( )( )( )(        sA eesB pA epB pW sp M . (А.7) Преобразуем выражения для )( pA , используя формулу бинома Ньютона: ,)()( 000 ili l i n l l n l s i lspA ll          (А.8) где       i l – число сочетаний из l по i . Изменив в выражении (А.8) порядок суммирования, получим
  • 184. 184 .)( 0 il n il n l i li lssA          (А.9) Аналогично находим выражение для esB )( :        m il ill m l i bilesesB  0 )( (А.10) Подставляя уравнения (А.9), (А.10) в выражение (А.7), получаем          0 0 0 )( k kks n i ii m i ii M se sC sd sW  , (А.11) где ;,0, ____ ni i lC il m il i l          .,0, ____ mib i led il m il i l           (А.12) Заметим, что при 0 из выражения (А.12) следуют равенства iiii bdaC  , Разложим s e из выражения (А.11) в ряд Тейлора по степеням s : .!/)(/ 000 0        k k n i ii m i k i kii ssCKssd k (А.13) Приравнивая в уравнении (А.13) члены при одинаковых степенях s , находим связь между моментами k и параметрами передаточной функции: ...2,1,0,)!/()( 00       kCikd k i iik k i i ik (А.14) Уравнения (А.14) позволяют по известным моментам определить коэффициенты ii dC , по которым из условий (А.12) легко определяются параметры передаточной функции модели: .,0,)( ____ niC i la iil n il i         
  • 185. 185 .,0,)( ____ mid i leb iil m il i          (А.15) С помощью уравнений (А.14) по известным параметрам передаточной функции можно вычислить моменты импульсной характеристики: ,...2,1,0,!/)( 0 00                kCidC i k i ik k i i ikk  (А.16) где ii dC , определяются выражениями (А.12). Запишем системы (А.14) и (А.15) для частного случая: ;0;2,1, )( )( 00 0122 01      Cdnm apapa ebpb pW o p   (А.17) ;0100110  CCdd  ;0 !2 20110210 2  CCCdd   ;0 !2!3 21120310 23  CCCdd   ;0 !3!4 22130410 34  CCCdd   ;),( 1110 dbddebi   .;2; 22211100 22 CaCCaCCCa   Рассмотрим алгоритм оценки параметров модели пониженного порядка с запаздыванием. Параметры модели выберем из условия (А.6). Предполагаем, что моменты объекта определены экспериментально или вычислены по формулам (А.12), (А.16) при известной )( pWоб . Зададимся значениями m и n модели (А.2) )( nm  . Тогда для определения неизвестных параметров модели необходимо 2 nmr уравнений системы (А.14) (принимаем 10 d ). Запишем систему (А.14) в матричной форме:   0      C d MT  (А.18) где
  • 186. 186 ,;1,1;,1, )!( )( __________ jkmki ki T ki        ,;1,1;,1,; __________ jknkiM ki    (А.19)    .,...,,,,...,, 1010 ____ n T m T CCCCdddd  Для того чтобы система (А.18) имела решение, необходимо равенство нулю ее определителя: .0,  MTmn  (А.20) Вскрывая определитель, получаем полином ,0... 01 1 1    q q q q (А.21) где q – максимальная степень полинома, )1)(1(  nmq . Минимальный корень полинома (А.21), как правило, будет определять запаздывание M модели, остальные корни приводят к неустойчивой модели. Если положительных корней нет или минимальный положительный корень приводит к неустойчивой модели, необходимо изменить порядок модели. При известном запаздывании M параметры модели ii ba , (определяются решением систем (А.14), (А.15)). Рассмотрим частные случаи формирования расширенного определителя (А.20). Случай 1. ,)(,1,0 01 0 apa eb pWnm p M m    ,0 2 01 12 01 0 2 0,1          (А.22) , 2 1 20100 2 1 20,1   Случай 2.
  • 187. 187 ,)(,2,0 01 2 2 0 apapa eb pWnm pm    .2)( 2 1 6 1 32102001 2 0 3 1 2 1 22 0 33 00,2   (А.23) Выражения для mn, легко определяются лишь для небольших значений m и n . В общем случае эта задача сводится к вычислению полиномиального определителя. Рассмотрим метод раскрытия определителя (А.20) с использованием его специфической структуры. В соответствии с теоремой Лапласа разложим определитель (А.20) по первым )1( m столбцам: 121121 121 ...,..., ..., , 1     mm m is llliii iii mn MT , (А.24) ;1,1,, )!( )( ______ ,...,, 121       mjk ji T k i iiii jk jkm   (А.25) – минор матрицы T , образованный из строк с номерами ____ 121 121 ,...,, ,,...,,    m m lll jiii M – соответствующий дополнительный минор;    2,...,2,1,...,,, 1 1 121      nmiiikiS m k mki множество сочетаний, 1 2   m nmCQ элементов. По определению минор 121 ..., miiiT можно вычислить следующим образом , 1 1..., ..., 121 121      m k ji jjj iiii kk m mT  (А.26) где i определяется четностью соответствующей подстановки. Произведение    1 1 m k jii kk в уравнении (А.26) или равно нулю, если ( kk ji  хотя бы для одного k , или определялся выражением ,, )!( 1 )( )!( )( 1 1 )(1 1 1 1 1 1 kk kk m k kjki kk kjki kk ji m k ji i m k ji i m k jii                     (А.27)
  • 188. 188 Формула (А.27) преобразуется следующим образом: ,)1( 1 1 1 1       m k jii m k jii kk idid kk  (А.28) ,)()( 1 1 1 1         m k kjki m k kkiid ., )!( 1 kk kk kk ji ji ji    (А.29) Доопределим kk ji следующим образом:         ,,0 ,, )!( 1 kk kk kkkk ji ji jiji (А.30) Тогда из формулы (А.28) можно найти значение произведения и при наличии нулевых сомножителей ),0( kkkk jiji  . Подставляя теперь выражение (А.28) в уравнение (А.26) и вынося id за знак суммы, получаем .)1( 1 1..., ..., 121 121      m k ji jjj iiii kk m idid mT  (А.31) Сопоставляя формулы (А.31) и (А.26), можно записать, что ,)1( 121121 ...,...,   midid m iiiiii BT  (А.32) где 121 ..., miiiB – минор с элементами, определяемыми формулой (А.30). Подставляя выражение (А.32) в формулу (А.25) и учитывая, что 1)1()1(  idi получаем .121121 121 ...,..., ..., ,     mm m id llliii iii mn MB (А.33) Таким образом, вычисление полиномиального определителя (А.20) сводится к расчету )1( )2(2   m nmC числовых определителей )1( m и )1( n -го порядков. Окончательное выражение для коэффициентов полинома (А.33) можно получить после приведения подобных членов. Рассмотрим алгоритм оценки истинного запаздывания и порядка модели. Считаем, что структуры модели и объекта совпадают и имеют вид (А.2).
  • 189. 189 Зададимся значениями m и n модели так, чтобы обоб mmnn  , . При таких условиях один из корней определителя системы (А.18) является истинным запаздыванием. Так как система (А.18) совместна, то должен быть равен нулю и определитель kmkn  , для всех 0k и, в частности, для 1k : .0,   kmkn (А.34) Поэтому истинное запаздывание является общим корнем системы уравнений .0,  mn ,01,1   mn (А.35) Минимальные значения n и m , при которых система (А.35) имеет общие корни, очевидно, равны значениям обn и обm объекта. Рассмотрим более простой алгоритм оценки запаздывания. Запишем 2 nm уравнений системы (А.14), начиная со второго уравнения: .guatda.com/cmx.p1...2,1,0,)!/()( 00       rkCikd k i iik k i i ik (А.36) Для обоб mmnn  , значение  должно удовлетворять любой системе (А.36) и, следовательно, должен быть равен нулю ее расширенный определитель mn, ,011,  MTmn  (А.37) ,;1,1;1,1, )!1( )( )!1( )( _____________11 1 jimjri jiji T jiji            ,;1,1;1,1, _____________ 1 jimjriM ki   Тогда истинное запаздывание будет являться общим корнем системы ,0,  mn .0,  mn (А.38) Отметим, что уравнения системы (А.38) имеют одинаковый порядок, что упрощает решение. Например, для 0,1  mr
  • 190. 190 .0 6 2 1 6 2 23 12 01 23 12 01 , 3 2 3 2                     mn (А.39) Так как предполагалось, что 0 , то из выражения (А.39) следует .0)( 2 1 )( 6 1 31302101, 2 2 22 1  mn (А.40) Выражение mn, было получено ранее из (А.24): ,0 2 1 2010, 2 1 22 0  mn (А.41) Определив общий корень уравнений (А.40), (А.41), получим истинное запаздывание модели. На основе предложенных алгоритмов в среде Matlab разработана программа, позволяющая по известным моментам объекта определять параметры моделей с запаздыванием В зависимости от решаемой задачи в программе используются моменты k объектов, найденные экспериментально или рассчитанные по формулам (А.12), (А.16). Рассмотрим примеры определения параметров моделей с запаздыванием. Пример 1. 323 )1(133 )(      p e ppp e pW pp об . (А.42) При 0 находим .2/19,4,1 210   . Рассмотрим модель 1-го порядка ( 1,0  nm ), тогда .29,2;71,5;0138 2120,1   Корень 29,22  M дает искомое решение: 171,1 )( 29,2    p e pW p M (А.43) При ,1 M модель неустойчива. АФХ модели и объекта приведены на рис. А.1.
  • 191. 191 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Nyquist Diagram Real Axis ImaginaryAxis Рис. А.1. АФХ модели при 71,51   M Сопоставление АФХ объекта и модели для объекта 3-го (а, б) и 2-го (в) порядков: ; )3( )( 3 ˆ     P e pWa P ai 171,1 )( 29,2    P e pW P M ; ; )3( )12( )( 3 ˆ      P eP PWb P ai ; 149,289,1 )1857,1( )( 2 36,1     PP eP PW P M ; 12 )( 2    pp e pWв p об ;0, 141,1 )( 58,1      P e PW P M ;3,0, 53,148,2 54,1 )( 45,1      P e PW P M .5,0, 96,15,3 2 )( 39,1      P e PW P M
  • 192. 192 -1 -0.5 0 0.5 1 1.5 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Nyquist Diagram Real Axis ImaginaryAxis Рис. А.2. Сопоставление АФХ объекта и модели Пример 2. ; )1( )12( 133 )12( )( 323         p pe ppp pe pW pp об (А.44) При 0 находим .3/4,2/3,2,1 3210   Для модели 2-го порядка ( 2,1  nm ), из выражения (А.27) находим ,083,375,127,255,1437,0083,0006,0 23456 1,2  .11,1;36,1;04,3;25,427,1;17,6 6543,21  j Решением задачи является корень .36,15   M , 149,289,31 )1857,1( )( 2 36,1     pp ep pW p M (А.45) АФХ объекта и модели приведены на рис. А.3.
  • 193. 193 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1.5 -1 -0.5 0 0.5 1 1.5 Nyquist Diagram Real Axis ImaginaryAxis Рис. А.3. АФХ объекта и модели для примера 2 Рассмотренные примеры подтверждают работоспособность предложенных алгоритмов. Погрешности, возникающие при экспериментальном определении моментов, могут повлиять на точность определения истинного запаздывания и порядка объекта, что является предметом специального исследования. Разработанный метод идентификации позволяет оценивать параметры линейных моделей с запаздыванием, а также порядок передаточной функции объекта и его истинное запаздывание. Метод может быть использован при идентификации динамических характеристик объектов с транспортным запаздыванием и для аппроксимации динамических характеристик сложных объектов моделями с запаздыванием.
  • 194. 194 ПРИЛОЖЕНИЕ Б ЛИСТИНГИ ПРОГРАМ function varargout = invTask(varargin) % Реализация интерфейса главного окна комплекса gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @ident_OpeningFcn, ... 'gui_OutputFcn', @ident_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function ident_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; owndata.t0 = 0; owndata.t1 = 2; owndata.h = 0.01; owndata.y = '1-exp(-2*t)'; owndata.f = '-14*exp(-2*t)-0.2'; owndata.changes = 1; owndata.t_tab = []; owndata.y_tab = []; owndata.f_tab = []; owndata.perc = 0; owndata.perc_type = 1; owndata.m = 5; owndata.c = [ 0 2 -4 8 -16 ]; owndata.p = [ 1.2 -2 3.1 0.7 -0.2 ]; owndata.q = []; owndata.accuracy_p = []; owndata.accuracy_q = []; owndata.errorMiddle_p = []; owndata.errorMiddle_q = []; owndata.errorMax_p = []; owndata.errorMax_q = []; owndata.time_p = []; owndata.time_q = []; handles.owndata = owndata; guidata(hObject, handles); % запись введенных данных в поля окна set(findobj( 'Tag','t_left_edit_main' ),'String',num2str( owndata.t0 )); set(findobj( 'Tag','t_right_edit_main' ),'String',num2str( owndata.t1)); set( findobj( 'Tag','h_edit_main' ),'String',num2str( owndata.h ) ); set( findobj( 'Tag','perc_edit_main' ),'String',num2str( owndata.perc)); set( findobj( 'Tag','perc_list_main' ),'Value',owndata.perc_type ); set( findobj( 'Tag','y_edit_main' ),'String',owndata.y ); set( findobj( 'Tag','f_edit_main' ),'String',owndata.f ); set( findobj( 'Tag','checkbox_y_main' ),'Value',0 ); set( findobj( 'Tag','checkbox_f_main' ),'Value',0 ); set( findobj( 'Tag','checkbox_plot_main' ),'Value',1 ); set(0,'Units','pixels'); SCREEN_SIZE = get(0,'ScreenSize'); SCRHeight = SCREEN_SIZE(1,4);
  • 195. 195 p = get(hObject,'Position'); p(1) = 20; p(2) = SCRHeight - 20 - p(4); set(hObject,'Position',p); function varargout = ident_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function t_left_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function t_right_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function h_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function perc_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function perc_list_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function checkbox_y_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function checkbox_f_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.changes = 1; guidata( handle,h ); function y_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.y_tab = []; h.owndata.f_tab = []; h.owndata.changes = 1; h.owndata.y = get( findobj( 'Tag','y_edit_main' ),'String' ); guidata( handle,h ); function f_edit_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); h.owndata.y_tab = []; h.owndata.f_tab = []; h.owndata.changes = 1; h.owndata.f = get( findobj( 'Tag','f_edit_main' ),'String' ); guidata( handle,h ); function exchange_button_main_Callback(hObject, eventdata, handles) handle = hObject; h = guidata( handle ); tmp = h.owndata.y; h.owndata.y = h.owndata.f; h.owndata.f = tmp; tmp = h.owndata.y_tab; h.owndata.y_tab = h.owndata.f_tab; h.owndata.f_tab = tmp; h.owndata.changes = 1; guidata( handle,h );
  • 196. 196 y = findobj( 'Tag','y_edit_main' ); f = findobj( 'Tag','f_edit_main' ); tmp = get( y,'String' ); set( y,'String',get( f,'String' ) ); set( f,'String',tmp ); function plot_button_main_Callback(hObject, eventdata, handles) handle = hObject; if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); h = guidata( handle ); figure plot( h.owndata.t_tab,h.owndata.f_tab,'.-b' ); ylabel( 'f(t)' ); xlabel( 't' ); figure plot( h.owndata.t_tab,h.owndata.y_tab,'.-r' ); ylabel( 'y(t)' ); xlabel( 't' ); % выбор пункта меню "О программе" function menu_about_Callback(hObject, eventdata, handles) disp('О программе'); % выбор пункта меню "Восстановление" -> "Уравнение Вольтерра 1-го рода" function menu_restoration_Volterra1_Callback(hObject, eventdata, handles) handle = hObject; if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); % вызов окна для работы restoreVolt; % выбор пункта меню "Восстановление" -> % "Интерполяция импульсной переходной характеристики" function menu_restoration_interp_Callback(hObject, eventdata, handles) handle = hObject; %disp('Восстановление ->Интерполяция импульсной переходной if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); % вызов окна для работы restoreInterp; % выбор пункта меню "Идентификация" -> "Интегральный метод" function menu_identification_integral_Callback(hObject, eventdata, handles) h = findobj('Tag','figure_calc_3'); if( ~isempty( h ) ), return; end handle = hObject; % disp('Идентификация -> Интегральный метод'); if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); % вызов окна для работы f = gcf; h = identInt; waitfor( h ); figure( f ); % выбор пункта меню "Идентификация" -> "Дифференциальный метод" function menu_identification_diff_Callback(hObject, eventdata, handles) handle = hObject;
  • 197. 197 % disp('Идентификация -> Дифференциальный метод'); if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); % вызов окна для работы f = gcf; h = identDiff; waitfor( h ); figure( f ); % выбор пункта меню "Идентификация" -> ... % "Результаты (интегр. и дифф. методы)" function menu_identification_results_Callback(hObject, eventdata, handles) f = gcf; h = identInt_res; waitfor( h ); figure( f ); % выбор пункта меню "Идентификация" -> ... % "Аналитическое представление функции времени" function menu_identification_analytic_Callback(hObject, eventdata, handles) handle = hObject; % disp('Идентификация -> Аналитическое представление'); if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); % вызов окна для работы identA; % выбор пункта меню "Файл" -> "Генерация данных" function menu_file_generation_Callback(hObject, eventdata, handles) handle = hObject; if( checkParams( handle ) ~= 0 ), return; end setParams( handle ); h = guidata( handle ); data = h.owndata; % генерация данных x = data.t_tab; y = data.y_tab; f = data.f_tab; [ fName,pName,fIndex ] = ... uiputfile( { '*.txt; *.dat' },'Выберите файл для записи' ); if( fName ~= 0 ) toWrite = [ x' y' f' ]; save( [ pName fName ],'toWrite','-ascii' ); disp( [ 'Данные успешно сохранены в файл ' fName '.' ] ); playRing( 1000,0.75 ); end % выбор пункта меню на сохранение в символьном виде function menu_file_write_Callback(hObject, eventdata, handles) [ fName,pName,fIndex ] = ... uiputfile( { '*.sym' },'Выберите файл для записи' ); if( fName == 0 ) return; end handle = hObject; h = guidata( handle ); data = h.owndata; name = [ pName fName ]; f = fopen( name,'w' ); fprintf(f,'%f %f %fn',data.t0,data.h,data.t1); fprintf(f,'%sn%sn',data.y,data.f);
  • 198. 198 fprintf(f,'%dn',data.m); for i = 1:data.m fprintf(f,'%f ',data.c(i)); end fprintf(f,'n'); for i = 1:data.m fprintf(f,'%f ',data.p(i)); end fprintf(f,'n'); fclose(f); disp( [ 'Данные успешно сохранены в sym-файл ' fName '.' ] ); playRing( 1000,0.75 ); % выбор пункта меню на чтение файлов function menu_file_read_Callback(hObject, eventdata, handles) [ fName,pName,fIndex ] = ... uigetfile( { '*.txt; *.dat'; '*.sym' },'Выберите файл для чтения' ); if( fName == 0 ) return; end h = guidata( hObject ); % файл выбран - анализируем расширение if( strcmp( fName( end-2:end ),'sym' ) == 1 ) % открываем файл для чтения f = fopen( [ pName fName ],'r' ); tmp = str2num( fgetl( f ) ); h.owndata.t0 = tmp( 1 ); h.owndata.h = tmp( 2 ); h.owndata.t1 = tmp( 3 ); h.owndata.y = fgetl( f ); h.owndata.f = fgetl( f ); h.owndata.m = str2num(fgetl( f ) ); h.owndata.c=str2num(fgetl(f)); h.owndata.p=str2num(fgetl(f)); h.owndata.t_tab = []; h.owndata.y_tab = []; h.owndata.f_tab = []; set( findobj('Tag','y_edit_main'),'String',h.owndata.y ); set( findobj('Tag','f_edit_main'),'String',h.owndata.f ); else % выбран файл с табулированными значениями функций X = load([ pName fName ]); [ rows,cols ] = size(X); if( cols ~= 3 ) disp('Файл с данными должен иметь 3 столбца: t, y(t),f(t)!'); playRing( 1000,0.75 ); return; end t = X(:,1); h.owndata.t0 = min(t); h.owndata.t1 = max(t); h.owndata.h = (h.owndata.t1 - h.owndata.t0)/( length(t) - 1); h.owndata.t_tab = t'; t = X(:,2); h.owndata.y = t'; t = X(:,3); h.owndata.f = t'; set( findobj('Tag','y_edit_main'),'String',fName ); set( findobj('Tag','f_edit_main'),'String',fName ); end set(findobj('Tag','t_left_edit_main'),'String',num2str(h.owndata.t 0)); set(findobj('Tag','t_right_edit_main'),'String',num2str(h.owndata. t1));
  • 199. 199 set(findobj('Tag','h_edit_main'),'String',num2str(h.owndata.h)); set(findobj('Tag','perc_edit_main'),'String',num2str(h.owndata.per c)); set(findobj('Tag','perc_list_main'),'Value',h.owndata.perc_type); h.owndata.perc = 0; h.owndata.perc_type = 1; h.owndata.q = []; h.owndata.accuracy_p = []; h.owndata.accuracy_q = []; h.owndata.errorMiddle_p = []; h.owndata.errorMiddle_q = []; h.owndata.errorMax_p = []; h.owndata.errorMax_q = []; h.owndata.time_p = []; h.owndata.time_q = []; h.owndata.changes = 1; guidata( hObject,h ); setParams( hObject ); ================================================================== function err = checkParams( handle ) err = 1; t0 = str2num(get(findobj('Tag','t_left_edit_main'),'String')); t1 = str2num(get(findobj('Tag','t_right_edit_main'),'String')); if( isempty( t0 ) || isempty( t1 ) ) errordlg(sprintf([ 'Указано нечисловое значение или значениеn' 'с ошибкой при вводе параметра t!']), ... 'Ошибка при вводе данных!','modal'); return; end if( t0 >= t1 ) errordlg(sprintf([ 'Левая граница интервала должна бытьn' ... 'меньше правой!']), ... 'Ошибка при вводе данных!','modal'); return; end % определение шага h = str2num(get(findobj('Tag','h_edit_main'),'String')); if( isempty( h ) ) errordlg('Указано нечисловое значение шага!', ... 'Ошибка при вводе данных!','modal'); return; end if( h >= t1 - t0 ) errordlg('Значение шага больше ширины интервала!', ... 'Ошибка при вводе данных!','modal'); return; end % определение процента уровня шума perc = str2num(get(findobj('Tag','perc_edit_main'),'String')); if( isempty( perc ) ) errordlg('Указано нечисловое значение уровня шума!', ... 'Ошибка при вводе данных!','modal'); return; end if( ( perc < 0 ) ) errordlg('Значение уровня шума не может быть отрицательным!', 'Ошибка при вводе данных!','modal'); return; end err = 0; ================================================================== = function setParams( handle ) h = guidata( handle ); if( ~h.owndata.changes ), return; end
  • 200. 200 t0 = str2num(get(findobj('Tag','t_left_edit_main'),'String')); t1 = str2num(get(findobj('Tag','t_right_edit_main'),'String')); step = str2num(get(findobj('Tag','h_edit_main'),'String')); perc = str2num(get(findobj('Tag','perc_edit_main'),'String')); perc_type = get(findobj('Tag','perc_list_main'),'Value'); ynoise = get(findobj('Tag','checkbox_y_main'),'Value'); fnoise = get(findobj('Tag','checkbox_f_main'),'Value'); h.owndata.t0 = t0; h.owndata.t1 = t1; h.owndata.h = step; h.owndata.perc = perc; h.owndata.perc_type = perc_type; h.owndata.t_tab = h.owndata.t0:h.owndata.h:h.owndata.t1; if( strcmp( class( h.owndata.f ),class( 's' ) ) ) h.owndata.f_tab = double( subs( ... strrep( h.owndata.f,'.','' ),h.owndata.t_tab ) ); else % функция f дана в числовом виде - копируем значения функции h.owndata.f_tab = h.owndata.f; end % y if( strcmp( class( h.owndata.y ),class( 's' ) ) ) % ф-ция y дана в символьном виде, рассчитываем табуляционные значения h.owndata.y_tab = double( subs( ... strrep( h.owndata.y,'.','' ),h.owndata.t_tab ) ); else % функция y дана в числовом виде - копируем значения функции h.owndata.y_tab = h.owndata.y; end n = length( h.owndata.y_tab ); % проверяем наличие шума для функции f if( fnoise ) % Функция f зашумлена - рассчитываем шум if( perc ) switch( perc_type ) case 1 % шум аддитивный h.owndata.f_tab = perc / 100 .* randn(1,n) + h.owndata.f_tab; case 2 % шум синусоидальный h.owndata.f_tab = h.owndata.f_tab + ... (perc / 100 * sin( h.owndata.t_tab )) .* h.owndata.f_tab; otherwise % шум - процент от амплитуды h.owndata.f_tab = h.owndata.f_tab * perc / 100 .*randn(1,n)+ ... h.owndata.f_tab; end end % рассчитываем значения y на основании значений f [ T,h.owndata.y_tab ] = solveDiffEqTab(h.owndata.f_tab,h.owndata.p,... h.owndata.c,h.owndata.t_tab ); else % функция f не зашумлена - проверка, зашумлена ли функция y
  • 201. 201 if( ynoise ) if( perc ) switch( perc_type ) case 1 % шум аддитивный h.owndata.y_tab = perc / 100 .* randn(1,n) + h.owndata.y_tab; case 2 % шум синусоидальный h.owndata.y_tab = h.owndata.y_tab + ... (perc / 100 * sin( h.owndata.t_tab )) .* h.owndata.y_tab; otherwise % шум - процент от амплитуды h.owndata.y_tab = h.owndata.y_tab * perc / 100 .* ... randn(1,n) + h.owndata.y_tab; end end end end h.owndata.changes = 0; h.owndata.q = []; h.owndata.accuracy_p = []; h.owndata.accuracy_q = []; h.owndata.errorMiddle_p = []; h.owndata.errorMiddle_q = []; h.owndata.errorMax_p = []; h.owndata.errorMax_q = []; h.owndata.time_p = []; h.owndata.time_q = []; guidata( handle,h ); function varargout = identInt(varargin) % Реализация оконного интерфейса задачи интегральной идентификации gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @calc_3_OpeningFcn, ... 'gui_OutputFcn', @calc_3_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function calc_3_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; hMain = findobj('Tag','identification_main_figure'); h2 = findobj('Tag','figure_calc_3'); p = get( hMain,'Position' ); p2 = get( h2,'Position' ); p2(1) = p(1) + 20; p2(2) = p(2) + 20 + p2(4) - p(4); set( h2,'Position',p2 ); h = guidata( hMain ); set(findobj('Tag','t_left_edit'),'String',num2str(h.owndata.t0)); set(findobj('Tag','t_right_edit'),'String',num2str(h.owndata.t1)); set(findobj('Tag','h_edit'),'String',num2str(h.owndata.h)); set(findobj('Tag','m_edit'),'String',num2str(h.owndata.m)); set(findobj('Tag','y_edit'),'String', ... get(findobj('Tag','y_edit_main'),'String'));
  • 202. 202 set(findobj('Tag','f_edit'),'String', ... get(findobj('Tag','f_edit_main'),'String')); % установка параметров диф. уравнения и начальных значений hTable1 = findobj('Tag','c_table'); table1 = 1:length(h.owndata.c); table1 = [ table1' h.owndata.c' ]; hTable2 = findobj('Tag','p_table'); table2 = 1:length(h.owndata.p); table2 = [ table2' h.owndata.p' ]; set(hTable1,'Data',table1); set(hTable2,'Data',table2); guidata(hObject, handles); function varargout = calc_3_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function m_edit_Callback(hObject, eventdata, handles) m = str2num( get( gcbo,'String' ) ); hTable1 = findobj('Tag','c_table'); table1 = get(hTable1,'Data'); hTable2 = findobj('Tag','p_table'); table2 = get(hTable2,'Data'); % определение размера таблиц rows = size(table1,1); % изменение количества строк в таблицах if ( m < rows ) table1 = table1( 1:m,: ); table2 = table2( 1:m,: ); elseif ( m > rows ) idx = rows:m-1; t = idx'; t = [ t zeros(m-rows,1) ]; table1 = [ table1; t ]; table2 = [ table2; t ]; end set(hTable1,'Data',table1); set(hTable2,'Data',table2); setParams; ================================================================== = function calc_button_Callback(hObject, eventdata, handles) setParams; recalculation; handle = hObject; hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); t0 = h.owndata.t0; t1 = h.owndata.t1; th = h.owndata.h; m = h.owndata.m; c = h.owndata.c'; p = h.owndata.p'; % табулирование переменной t t = t0:th:t1; y_tab = h.owndata.y_tab; f_tab = h.owndata.f_tab; % определение времени запуска процедуры счета time_calc = tic; % рассчет параметров с использованием табулированного представления ф-й [A,B] = system_coeff_tab ( t,y_tab,f_tab,th,c ); [ q,accuracy ] = MSM_general ( A,B ); % определение времени конца счета timeOfCalculations = toc(time_calc); % решение диф. уравнения с использованием рассчитанных параметров [ T,Y ] = solveDiffEqTab( f_tab,q,c,t ); % вычисление ошибок errMd = errorMiddle2( y_tab,Y ); errMx = errorMax( y_tab,Y ); % отображение графика ошибки
  • 203. 203 figure; plot( t,abs(Y-y_tab),'.r' ); title( '|Y-Y_0|' ); % сохранение рассчитанных значений h.owndata.q = q'; h.owndata.accuracy_q = accuracy; h.owndata.errorMiddle_q = errMd; h.owndata.errorMax_q = errMx; h.owndata.time_q = timeOfCalculations; % сообщение о выполнении задания msgbox( 'Рассчет окончен','Выполнено','none','modal'); % сохранение данных в структуре главного окна guidata( hMain,h ); function c_table_CellEditCallback(hObject, eventdata, handles) setParams; function p_table_CellEditCallback(hObject, eventdata, handles) % сохранение измененных в таблице данных setParams; function setParams % чтение структуры с данными hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); % чтение данных таблицы начальных значений t = get(findobj('Tag','c_table'),'Data'); t = t(:,2); h.owndata.c = t'; % чтение данных таблицы параметров уравнения t = get(findobj('Tag','p_table'),'Data'); t = t(:,2); h.owndata.p = t'; % чтение количества параметров h.owndata.m = str2num( get(findobj('Tag','m_edit'),'String') ); % установка флага изменений h.owndata.changes = 1; % сохранение данных в структуре guidata( hMain,h ); % пересчет значений функций на основе установленных параметров function recalculation % чтение структуры с данными hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); % определение зашумления функции f fnoise = get(findobj('Tag','checkbox_f_main'),'Value'); % если выбрано зашумление функции f, то производится пересчет значений y if( fnoise && h.owndata.perc ) [T,h.owndata.y_tab]=solveDiffEqTab(h.owndata.f_tab,h.owndata.p, ... h.owndata.c,h.owndata.t_tab ); guidata( hMain,h ); end function [ X,err ] = MSM_general ( A,B ) % Функция реализации метода наименьших квадратов % для поиска приближенного решения системы уравнений A*X = B % Входные параметры:
  • 204. 204 % A - матрица коэффициентов размером m x n % B - вектор-столбик свободных членов размером n % Выходные параметры: X - вектор-столбик неизвестных размером n if ( nargin == 0 ) disp('Ошибка! Отсутствуют параметры.'); X = []; return end if ( isempty(A) ) disp('Ошибка! Матрица A пустая.'); X = []; return end [ n_eqs,n_vars ] = size(A); if ( nargin < 2 ) disp('Ошибка! Отсутствует вектор свободных членов.'); X = []; return end if ( isempty(B) ) disp('Ошибка! Переменная B пустая.'); X = []; return end nB = size(B,1); if ( nB == 1 ) B = B'; nB = size(B,1); end if ( size(B,2) ~= 1 ) disp('Ошибка! Второй параметр должен быть вектором!'); X = []; return end nB = length(B); if ( nB ~= n_eqs ) disp('Ошибка! Размер B не соответствует количеству уравнений.'); X = []; return end % создание матрицы коэффициентов и матрицы свободных членов AA = zeros(n_vars,n_vars); BB = zeros(n_vars,1); for i = 1:n_vars AA(i,i) = sum( A(:,i).^2 ); BB(i) = sum( A(:,i).*B ); for j = i+1:n_vars AA(i,j) = sum( A(:,i).*A(:,j) ); AA(j,i) = AA(i,j); end end X = MGauss(AA,BB); X = X'; if ( nargout > 1 ) err = sum((A*X-B).^2); end function X = MGauss( A,B ) % Решение системы линейных уравнений методом Гаусса % Входные параметры: % A - матрица коэффициентов при неизвестных % B - вектор свободных членов % Выходные параметры: X - вектор-строка решений
  • 205. 205 n = size(A,1); % ПРЯМОЙ ПРОХОД for i = 1:n-1 [MAX,i1] = max(abs(A(i:n,i))); i1 = i1+i-1; if ( i ~= i1 ) % нужно ли выполнять перестановку TEMP = A(i,:); % да - обмен строк местами A(i,:) = A(i1,:); A(i1,:) = TEMP; TEMP = B(i,1); % обмен местами строк правой части B(i,1) = B(i1,1); B(i1,1) = TEMP; end for i1=i+1:n c = A(i1,i)/A(i,i); % множитель для строки i1 A(i1,:) = A(i1,:)-A(i,:)*c; % пересчет строки i1 B(i1,1) = B(i1,1)-B(i,1)*c; % пересчет правой части end end % КІНЕЦЬ ПРЯМОГО ПРОХОДУ % ОБРАТНЫЙ ПРОХОД X = zeros(1,n); X(1,n) = B(n)/A(n,n); for i = n-1:-1:1 z = B(i); for i1 = i+1:n z = z-A(i,i1)*X(1,i1); end X(1,i) = z/A(i,i); end function [A,B] = system_coeff_tab ( t,u,f,h,c ) % Функция расчета коэффициентов СЛАУ % Входные параметры: % t - значения отсчетов времени % u - табулированная функция выходного сигнала % f - таблуированная функция входного сигнала % h - шаг между соседними узлами сетки % c - вектор начальных условий % Выходные параметры: % A - матрица коэффициентов при неизвестных в СЛАР % B - вектор-столбик свободных членов N = length(t); m = length(c); A = zeros(N-1,m); B = zeros(N-1,1); % находим значения вторых слагаемых коэффициентов уравнений системы for i = 2:N A_temp = []; for j=1:m temp = 0; for l = 0:m-j-1 temp = temp + c(l+1) * ((i-1)*h)^(l+j)/factorial(l+j); end A_temp = [ A_temp -temp ];
  • 206. 206 end A(i-1,:) = A(i-1,:) + A_temp; % рассчет второго слагаемого (для i = 0) B_temp = 0; for l = 0:m-1 B_temp = B_temp + c(l+1) * ((i-1)*h)^l / factorial(l); end B(i-1) = B(i-1) + B_temp-u(i); end % находим значения первых слагаемых коэффициентов уравнений системы for i = 2:N for j = 1:m k = 1:i-2; temp = (i-1)^(j-1)*u(1)+2*sum((i-1-k).^(j-1) .* u(k+1)); temp = temp * h^j / 2 / factorial(j-1); A(i-1,j) = A(i-1,j) + temp; end k = 1:i-2; temp = f(1)*(i-1)^(m-1)+2 * sum((i - 1 - k).^(m-1) .* f(k+1)); temp = temp * h^m / 2 / factorial(m-1); B(i-1) = B(i-1) + temp; end function [ X,err ] = inv_general ( A,B ) % Функция реализации метода обратной матрицы % Входные параметры: % A - матрица коэффициентов размером n x n % B - вектор-столбик свободных членов размером n % Выходные параметры: X - вектор-столбик неизвестных размером n if ( nargin == 0 ) disp('Ошибка! Отсутствуют параметры.'); X = []; return end if ( isempty(A) ) disp('Ошибка! Матрица A пустая.'); X = []; return end [ mA,nA ] = size( A ); if ( mA ~= nA ) disp('Ошибка! Матрица A должна быть квадратной.'); X = []; return end [ n_eqs,n_vars ] = size(A); if ( nargin < 2 ) disp('Ошибка! Отсутствует вектор свободных членов.'); X = []; return end if ( isempty(B) ) disp('Ошибка! Переменная B пустая.'); X = []; return end nB = size(B,1);
  • 207. 207 if ( nB == 1 ) B = B'; nB = size(B,1); end if ( size(B,2) ~= 1 ) disp('Ошибка! Второй параметр должен быть вектором!'); X = []; return end nB = length(B); if ( nB ~= n_eqs ) disp('Ошибка! Размер B не соответствует количеству уравнений.'); X = []; return end X = inv(A) * B; if ( nargout > 1 ) err = sum((A*X-B).^2); end function err = errorMiddle2( y0,y ) err = sqrt( sum((y0-y).^2) / sum(y.^2) ); function err = errorMax( y0,y ) err = max( abs( y0-y ) ); function X = paramsMSM( y_tab,f_tab,t_tab,w ) % Поиск параметров дифференциального уравнения МНК % Входные параметры: % y_tab - табулированные значения функции y(t) % f_tab - табулированные значения функции f(t) % t_tab - табулированные значения переменной t % w - начальные значения для поиска параметров % Выходные параметры: X - найденные значения параметров диф. уравнения nw = length( w ); nt = length( t_tab ); % определение шага по независимой переменной h = ( max( t_tab ) - min( t_tab ) ) / ( length( t_tab ) - 1 ); % нахождение производных функции Y и построение матриц для МНК B = f_tab( 1:nt-nw ); B = B'; yy = y_tab'; A = yy( 1:nt-nw );; for i = 1:nw-1 yy = diff( yy ) / h; A = [ yy( 1:end-(nw-i) ) A ]; end yy = diff( yy ) / h; B = [ B - yy ]; % построение матриц для метода наименьших квадратов AA = zeros(size(A,2)); % инициализация матрицы для хранения коэффициентов левой части BB = AA(:,1); % рассчет коэффициентов матриц for i = 1:size(A,2) BB(i) = sum(A(:,i).*B); for j = i:size(A,2)
  • 208. 208 AA(i,j) = sum(A(:,i).*A(:,j)); AA(j,i) = AA(i,j); end end % решение системы линейных уравнений матричным методом X = inv(AA) * BB; X = X'; function X = paramsLM( y_tab,f_tab,t_tab,w,eps ) % Поиск параметров дифференциального уравнения % Используется метод Левенберга-Маркарда % Входные параметры: % y_tab - табулированные значения функции y(t) % f_tab - табулированные значения функции f(t) % t_tab - табулированные значения переменной t % w - начальные значения для поиска параметров % eps - точность поиска значений % Выходные параметры: X - найденные значения параметров диф. уравнения nw = length( w ); nt = length( t_tab ); % определение шага по независимой переменной h = ( max( t_tab ) - min( t_tab ) ) / ( length( t_tab ) - 1 ); % нахождение производных функции Y yy = y_tab'; A = yy( 1:nt-nw ); for i = 1:nw-1 yy = diff( yy ) / h; A = [ yy( 1:end-(nw-i) ) A ]; end yy = diff( yy ) / h; A = [ A yy ]; yy = f_tab( 1:nt-nw ); A = [ A yy' ]; % правая часть RR = A(:,end) - A(:,end-1); % рассчет значений Якобиана J = []; for i = 1:nw J = [ J A(:,i) ]; end JTJ = J' * J; lambda = 0.01; % нахождение корректирующего слагаемого delta_w = (JTJ + lambda*diag(diag(JTJ))) J'; err = 1; % выполнение цикла до достижения заданной точности while( err > eps ) LL = 0; for i = 1:nw LL = LL + w(i)*A(:,i); end % рассчет корректирующего множителя r = RR - LL; delta_w2 = delta_w * r;
  • 209. 209 % корректировка параметров w = w + delta_w2'; % рассчет новой ошибки err = max(abs(delta_w2)); end % запись результата X = w; function [ T,Y ] = solveDiffEqTab( f,p,init,x ) % Решение дифференциального уравнения % Входные параметры: % f - табулированные значения правой части уравнения % p - коэффициенты при производных и функции y % init - начальные значения функции и производных [y0 y'0 y''0 ... ] % x - табулированные значения независимой переменной % Выходные параметры: % T - вектор-строка независимой переменной, рассчитанных солвером % Y - вектор-строка значений функции y % аппроксимированной сплайнами функции, являющейся правой частью global pp_spline pp_spline = spline( x,f ); funcName = [ 'rhs_temp_' num2str( floor( abs( p(end) )*10000 ) ) ]; s = { [ 'function dxdt = ' funcName '( t,c )' ]; ... ''; 'global pp_spline'; 'c'; '' }; n = length( p ); for i = 1:n-1 s = [ s; [ 'dxdt_' num2str(i) ' = c(' num2str(i+1) ');' ] ]; end ss1 = [ 'dxdt_' num2str(n) ' = ppval(pp_spline,t)' ]; ss2 = 'dxdt = [ '; p = p(n:-1:1); for i = 1:n ss1 = [ ss1 '-(' num2str(p(i)) ')*c(' num2str(i) ')' ]; ss2 = [ ss2 '; dxdt_' num2str(i) ' ' ]; end ss1 = [ ss1 ';' ]; ss2 = [ ss2 '];' ]; s = [ s; ss1; ' '; ss2; ' '; 'end' ]; fName = [ pwd '' funcName '.m' ]; fid = fopen(fName,'w'); for i = 1:length(s) fprintf(fid,'%sn',s{i}); end fclose(fid); % ожидание 1 с pause( 1 ); % ожидание по 1 с до тех пор, пока файл не появится на жестком диске while( ~exist( fName,'file' ) ) pause( 1 );
  • 210. 210 end % решение диф. уравнения солвером Рунге-Кутты 4 и 5 порядков str4Eval = [ '[ T,Y ] = ode45( @' funcName ',x,init );' ]; eval( str4Eval ); T = T'; Y = Y(:,1); Y = Y'; if( exist( fName,'file' ) ) delete( fName ); while( exist( fName,'file' ) ) pause( 1 ); end end clear GLOBAL pp_spline function [ y_msm,err_msm,t_msm,a,b ] = calcZ( t,x,na,nb ) % ВХОД: % t - значения отсчетов времени (абсциссы точек) % x - значения сигнала (функции) % na - количество параметров в числителе передаточной функции % nb - количество параметров в знаменателе передаточной функции % ВЫХОД: y_msm - значения апроксимационной функции % err_msm - квадраты невязок % t_msm - общее время работы функции % a,b - коэффициенты исходного разностного уравнения tt = tic; h = t(2)-t(1); tmax = max(t) + h; tz = [ t t+tmax ]; syms z n % подготовка начальных данных [ f,F ] = makeFs( x,na ); % решаем с помощью обобщенного МНК [ a,err ] = MSM_general( F,-f ); a = a(end:-1:1); b = calcB( x,a,nb ); % числитель eq1 = 0; N = length(b); for i = 1:N eq1 = eq1 + b(N-i+1)*z^(N-i+1); end % знаменатель eq2 = 0; N = length(a); for i = 1:N eq2 = eq2 + a(N-i+1)*z^(N-i); end eq2 = eq2 + z^N; % общий вид передаточной функции eq = eq1 / eq2; % выполняем обратное z-преобразование с n в качестве неизвестной p = iztrans(eq, z, n); p = simplify(p); y2 = double(subs(p,n,tz)); y_msm = y2(1:2:end);
  • 211. 211 err_msm = (x - y_msm).^2; t_msm = toc(tt); function a = calcAbyPInv( f,F ) % Рассчет значений коэффициентов a с помощью обратной матрицы % Вход: f - вектор-столбик n значений функции f0, ... % F - матрица размером n x m % Выход: a - вектор-столбик m коэффициентов F_plus = pinv(F); a = (-1) * F_plus * f; function b = calcB( f,a,n ) % Рассчет значений коэффициентов b % Вход: f - вектор измерений % a - вектор-столбик коэффициентов a % n - количество рассчитываемых коэффициентов b % Выход: b - вектор столбик рассчитываемых коэффициентов m = length(a); N = length(f); b = zeros(n,1); for i = 1:n idx = n - i + 1; b(i) = f(idx); for j = i:n-1 b(i) = b(i) + a(idx) * f(idx-1); idx = idx - 1; end end function [ f,F ] = makeFs( x,m ) % Построение вектора значений функции f % и матрицы F при заданном количестве коэффициентов a % Вход: x - вектор измерений % m - количество коэффициентов a % Выход: f - вектор-столбик значений функции % F - матрица, имеющая m столбиков n = length(x); F = zeros(n-m,m); for i = 1:n-m F(i,:) = x(i+m-1:-1:i); end f = x(m+1:end); if size(f,1) == 1 f = f'; end function [ y_inv,err_inv,t_inv,a,b ] = calcPinvZ( t,x,na,nb ) % ВХОД: t - значения отсчетов времени (абсциссы точек) % x - значения сигнала (функции) % na - количество параметров в числителе передаточной функции % nb - количество параметров в знаменателе передаточной функции % ВЫХОД: y_inv - значения апроксимационной функции % err_inv - квадраты невязок % t_inv - общее время работы функции
  • 212. 212 % a,b - коэффициенты исходного разностного уравнения tt = tic; h = t(2)-t(1); tmax = max(t) + h; tz = [ t t+tmax ]; syms z n [ f,F ] = makeFs( x,na ); a = calcAbyPInv( f,F ); a = a(end:-1:1); b = calcB( x,a,nb ); eq1 = 0; N = length(b); for i = 1:N eq1 = eq1 + b(N-i+1)*z^(N-i+1); end eq2 = 0; N = length(a); for i = 1:N eq2 = eq2 + a(N-i+1)*z^(N-i); end eq2 = eq2 + z^N; eq = eq1 / eq2; p = iztrans(eq, z, n); p = simplify(p); y = double(subs(p,n,tz)); y_inv = y(1:2:end); err_inv = (x - y_inv).^2; t_inv = toc(tt); function [ y,err ] = volt1Trad(x) % Решение линейного интегрального уравнения Вольтерра I рода % с произвольным ядром методом трапеций на основе традиционного подхода % Вход: x - точки дискретизации % Выход: y - входной сигнал; err - ошибка if( nargin ~= 1 ) err = 1; error('Incorrect number of input arguments. See volt1Trad.'); end; if( nargout > 3 ) err = 2; error('Too many output arguments. See volt1Trad.'); end; if( length(x)<2 ) err = 3; error('Invalid parameter x. See volt1Trad.'); end; tic format long; n = length(x); i = 1; h = x(2)-x(1); y(1) = ((-3*rightSide(x(1))+4*rightSide(x(1)+h)- rightSide(x(1)+2*h))/(2*h))/kernel(x,i,i); for i = 2:n j = 1; B = 0; for j = 1:(i-1) if( j == 1 )
  • 213. 213 h=x(j+1)-x(j); B=B+0.5*h*kernel(x,i,j)*y(j); else h=x(j+1)-x(j-1); B=B+0.5*h*kernel(x,i,j)*y(j); end; end; h = x(i)-x(i-1); y(i) = (rightSide(x(i))-B)/(0.5*h*kernel(x,i,i)); end; err = 0; toc function [ y,err,t ] = volt1Mod( x,kType ) % Вход: x - точки дискретизации; kType - тип ядра % Выход: y - входной сигнал; err – ошибка; t - время вычислений if( kType == 1 ) % используется ядро в виде тригонометрической функции disp('Используется ядро в виде тригонометрической функции.'); [ y,err,t ] = vFast1( x ); else % используется ядро в виде степенной функции disp( 'Используется ядро в виде степенной функции.' ); [ y,err,t ] = vFast2( x ) end function [ y,err,t ]= vFast1( x ) % Решение линейного интегрального уравнения Вольтерра I рода % с ядром в виде тригонометрической функции методом квадратур % на основе модифицированного алгоритма % Вход: x - точки дискретизации % Выход: y - входной сигнал; err - ошибка if( nargin ~= 1 ) err = 1; error('Incorrect number of input arguments. See vFast1.'); end; if( length(x) < 2 ) err = 2; error('Invalid parameter x. See vFast1.'); end; tic format long; n = length(x); i = 1; h = x(2)-x(1); y(1) = ((-3*rightSide(x(1))+4*rightSide(x(1)+h)- ... rightSide(x(1)+2*h))/(2*h))/kernel_12( x(i) ); S2 = 0.5*h*kernel_2( -x(i) )*y(i); S1 = 0.5*h*kernel_1( -x(i) )*y(i); P1 = kernel_1( x(i+1) ) * S1; P2 = kernel_2( x(i+1) ) * S2; y(2) = ( rightSide(x(2)) - (P1-P2) ) / ( 0.5*h*kernel_12( x(i+1) ) ); for i=3:n
  • 214. 214 if( i<n ) h1=(x(i+1)-x(i-1))/2; end; S2 = S2 + h1*kernel_2( -x(i-1) )*y(i-1); S1 = S1 + h1*kernel_1( -x(i-1) )*y(i-1); P1 = kernel_1( x(i) ) * S1; P2 = kernel_2( x(i) ) * S2; y(i) = (rightSide(x(i))-(P1-P2))/(0.5*(x(i)-x(i-1))*kernel_12( x(i))); end; err = 0; t = toc function [ y,err,t ] = vFast2( x ) % Решение линейного интегрального уравнения Вольтерра I рода % со степенным ядром методом квадратур на основе % модифицированного алгоритма % Вход: x - точки дискретизации % Выход: y - входной сигнал; err - ошибка if( nargin ~= 1 ) err = 1; error('Incorrect number of input arguments. See vFast2.'); end; if( length(x)<2 ) err = 2; error('Invalid parameter x. See vFast2.'); end; tic format long; n = length(x); i = 1; h = x(2)-x(1); y(1) = ((-3*rightSide1( x(1) ) + 4*rightSide1( x(1)+h ) - ... rightSide1( x(1)+2*h )) / (2*h)) / kernel_5( x(i) ); S = 0.5*kernel_6( x(i) )*y(i); P = kernel_7( x(i+1) ) * S; y(2) = ( rightSide1( x(2) ) - h*D) / (0.5*h*kernel_5( x(i+1) )); for i = 3:n if( i<n ) h1 = (x(i+1)-x(i-1))/2; end; S = S + kernel_6( x(i-1) ) * y(i-1); P = kernel_7( x(i) ) * S; y(i) = ( rightSide1( x(i) ) - h1*P ) / ( 0.5*h1*kernel_5(x(i))); end; err=0; t = toc function a = polyCoef( X,F,Lambda,n,eps ) if( floor( max( F )) - max( F ) ~= 0 ) a0 = floor( max( F ) ) + 1; else a0 = max( F ); end Lambda_new = Lambda; Lambda = Lambda_new + 1; while( abs( Lambda - Lambda_new ) > eps )
  • 215. 215 Lambda = Lambda_new; [C,G] = Coef_CG( X,F,Lambda,n ); [ D1,D2 ] = Matr_SYM( C,G,n ); F_star_sym = - det(D1) / det(D2); a = double( coeffs( F_star_sym )); a = [ a0 a ]; Lambda_new = Lambda_Sr( a,X,F ); end function H = coefH( a,Lambda ) n = length( a ) - 1; A = zeros(n+1); A(1,:) = 1; A(2,1) = 1; for i = 3:n+1 A(i,i:end) = 1; end B = zeros(n+1,1); B(1) = a(1); B(2) = a(1) + a(2); for i = 3:n+1 B(i) = -a(i) * factorial(i-2) / Lambda^(i-2); end H = inv(A) * B; function [C,G] = Coef_CG( X,F,Lambda,n ) if( floor( max( F )) - max( F ) ~= 0 ) a0 = floor( max( F ) ) + 1; else a0 = max( F ); end m = length( F ); F_star = zeros(m,1); for i = 1:m F_star(i) = (F(i)-a0)/exp(-Lambda*X(i)); end C = zeros(1, (2*n-1)); for r = 1:(2*n-1) C(r) = sum(X .^ (r-1)); end G = zeros(1, n); for l = 1:n G(l) = sum((X .^ (l-1)) .* F_star); end function [ D1,D2 ] = Matr_SYM( C,G,n ) D2 = zeros(n); for i = 1:n D2(i,:) = C(i:i+n-1); end % D2 syms x D1 = [ 0 1 x ]; for i = 4:n+1 D1 = [ D1 x^(i-2) ]; end D1 = [ D1; zeros(n,n+1) ]; D1(2:end,1) = G; D1(2:end,2:end) = D2; function Lambda = Lambda_Sr( a,X,F )
  • 216. 216 n = length( a ) - 1; m = length( X ); Lambda = 0; for j = 1:m denom = 0; for i = 1:n denom = denom + a(i+1) * X(j)^(i-1); end Lambda = Lambda - 1/X(j) * log( (F(j) - a(1)) / denom ); end Lambda = Lambda / m; function varargout = identDiff(varargin) % Реализация интерфейса дифференцияального метода gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @identDiff_OpeningFcn, ... 'gui_OutputFcn', @identDiff_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function identDiff_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; hMain = findobj('Tag','identification_main_figure'); h2 = findobj('Tag','ident_diff_figure'); p = get( hMain,'Position' ); p2 = get( h2,'Position' ); p2(1) = p(1) + 20; p2(2) = p(2) + 20 + p2(4) - p(4); set( h2,'Position',p2 ); h = guidata( hMain ); set(findobj('Tag','t_left_edit_idiff'),'String',num2str(h.owndata.t0)); set(findobj('Tag','t_right_edit_idiff'),'String',num2str(h.owndata.t1)); set(findobj('Tag','h_edit_idiff'),'String',num2str(h.owndata.h)); set(findobj('Tag','y_edit_idiff'),'String', ... get(findobj('Tag','y_edit_main'),'String')); set(findobj('Tag','f_edit_idiff'),'String', ... get(findobj('Tag','f_edit_main'),'String')); % установка параметров для решения диф. уравнения set(findobj('Tag','m_edit_idiff'),'String',num2str(h.owndata.m)); set(findobj('Tag','eps_edit_idiff'),'String','0.001'); set(findobj('Tag','type_method_listbox_idiff'),'Value',2); hTable = findobj('Tag','q_table_idiff'); table = [ 1:h.owndata.m; zeros(1,h.owndata.m) ]; table = table'; set(hTable,'Data',table); set(findobj('Tag','time_edit_idiff'),'String',0); set(findobj('Tag','accuracy_edit_idiff'),'String',NaN); set(findobj('Tag','errorMd_edit_idiff'),'String',0); set(findobj('Tag','errorMx_edit_idiff'),'String',0); guidata(hObject, handles);
  • 217. 217 function varargout = identDiff_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function plot_y_button_idiff_Callback(hObject, eventdata, handles) hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); figure; plot( h.owndata.t_tab,h.owndata.y_tab,'.k' ); xlabel( 't' ); ylabel( 'y(t)' ); title( '' ); function plot_f_button_idiff_Callback(hObject, eventdata, handles) hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); figure; plot( h.owndata.t_tab,h.owndata.f_tab,'.k' ); xlabel( 't' ); ylabel( 'f(t)' ); title( '' ); function calc_button_idiff_Callback(hObject, eventdata, handles) hMain = findobj('Tag','identification_main_figure'); h = guidata( hMain ); eps=str2num( get( findobj( 'Tag','eps_edit_idiff' ),'String' ) ); mode=get( findobj( 'Tag','type_method_listbox_idiff' ),'Value' ); switch( mode ) case 1 % МНК t = tic; X = paramsMSM( h.owndata.y_tab,h.owndata.f_tab, ... h.owndata.t_tab,h.owndata.c ); fullTime = toc(t); case 2 % Левенберга-Маркарда t = tic; X=paramsLM(h.owndata.y_tab,h.owndata.f_tab, ... h.owndata.t_tab,h.owndata.c,eps ); fullTime = toc(t); end set( findobj( 'Tag','time_edit_idiff' ),'String',num2str( fullTime ) ); if( ~isempty( find( isnan( X ) ) ) ) errordlg(sprintf([ 'Выбранный метод не подходит для проведенияn' ... 'рассчетов с данными функциями!']), ... 'Ошибка при проведении вычислений!','modal'); return; end hTable = findobj('Tag','q_table_idiff'); table = get( hTable,'Data' ); table( :,2 ) = X; set(hTable,'Data',table); [T,Y]=solveDiffEqTab(h.owndata.f_tab,X,h.owndata.c,h.owndata.t_tab); errMd=errorMiddle2(h.owndata.y_tab,Y); errMx=errorMax(h.owndata.y_tab,Y); figure; plot( h.owndata.t_tab,abs(h.owndata.y_tab-Y),'.b' ); title( '|Y-Y_0|' ); set(findobj('Tag','errorMd_edit_idiff'),'String',num2str(errMd)); set(findobj('Tag','errorMx_edit_idiff'),'String',num2str(errMx)); h.owndata.p = X; h.owndata.time_p = fullTime; h.owndata.accuracy_p = NaN; h.owndata.errorMiddle_p = errMd; h.owndata.errorMax_p = errMx; guidata( hMain,h );
  • 218. 218 ПРИЛОЖЕНИЕ В АКТЫ ВНЕДРЕНИЯ РЕЗУЛЬТАТОВ НАУЧНОЙ РАБОТЫ
  • 219. 219
  • 220. 220