Моделирование систем - Томский политехнический университет

advertisement
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
Высшего профессионального образования
«Томский политехнический университет»
______________________________________________________________
П.Г. Яковенко
МОДЕЛИРОВАНИЕ СИСТЕМ
Издательство
Томского политехнического университета
2009
ББК 22.19
УДК 519.6
Т 89
Яковенко П.Г.
Моделирование систем: учебное пособие / П.Г. Яковенко. –
Томск: Изд-во Томского политехнического университета, 2009.
– 106 с.
В учебном пособии изложены основы теории моделирования теплоэнергетических объектов, сведения о численных методах решения систем алгебраических и дифференциальных уравнений, интерполяции и аппроксимации, вычислении определенных интегралов и синтезе оптимальных управлений на имитационных моделях. Приведены примеры использования методов,
необходимые для первоначального знакомства с предметом.
Пособие подготовлено на кафедре автоматизации теплоэнергетических процессов ТПУ и предназначено для студентов
специальности 1401014.
ББК 22.19
УДК 519.6
Рекомендовано к печати Редакционно-издательским советом
Томского политехнического университета
Яковенко П.Г., 2009
Томский политехнический университет, 2009
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ……………………………………………….………... 5
1. Математическое моделирование в задачах управления
тепловыми электрическими станциями …………….…...…….. 7
2. Методы решения систем линейных алгебраических
уравнений …………………………………….……….………… 13
2.1. Метод Гаусса ………………………………..…….………… 15
2.2. Пример 1……………………………………….…….………. 17
2.3. Метод Гаусса-Зейделя ………………………….…..………. 19
2.4. Пример 2 ……………………………………………..……… 20
3. Методы решения уравнений с одним неизвестным ……..……. 21
3.1. Метод дихотомии ………………………………………..….. 23
3.2. Метод хорд …………………………….……………………. 24
3.3. Метод Ньютона …………………………………………..…. 25
3.4. Модифицированный метод Ньютона …………………….... 27
3.5. Метод секущих ……………………………………………… 27
3.6. Метод простых итераций …………………...…...…………. 29
4. Методы интерполяции ………………………………..………… 31
4.1. Линейная интерполяция ……………………….......……….. 31
4.2. Интерполяция каноническим полиномом ……...…….…… 32
4.3. Интерполяционный полином Лагранжа …………………... 33
4.4. Пример 3 ………………………………………………...…... 34
4.5. Интерполяционный полином Ньютона ................................ 34
4.6. Пример 4 …………………………………………….……..... 36
4.7. Итерационные методы интерполяции ……………….……. 38
4.8. Пример 5 ……………………………………………….……. 38
4.9. Интерполяция сплайнами ………………………..……...…. 39
4.10. Применение интерполяции для решения уравнений ….... 40
5. Аппроксимация кривых ………………………...………………. 41
5.1. Метод наименьших квадратов …………………….……….. 43
5.2. Пример 6 ……………………………………….……………. 49
5.2. Пример 7 ……………………………………….……..……... 52
6. Численные методы вычисления определенного интеграла …... 54
6.1. Методы прямоугольников ………………………………...... 56
6.2. Апостериорные оценки погрешностей по Рунге
и Эйткену ………………………………………..…………... 59
6.3. Метод трапеций …………………………………..…………. 61
6.4. Метод Симпсона …………………………………..……….... 63
6.5. Вычисление интегралов с заданной точностью …...………. 65
6.6. Методы наивысшей алгебраической точности .………..…. 66
6.7. Методы Монте-Карло ……………..……...………………… 69
7. Решение обыкновенных дифференциальных уравнений ……. 71
7.1. Погрешности ………………………………………………... 72
7.2. Метод Эйлера ……………………………………………...... 72
7.3. Пример 8 …...……………………………………………...... 75
7.4. Пример 9 … ……………..………………………………….. 75
7.5. Пример 10 ………..………………………………………….. 75
7.6. Методы Рунге-Кутта второго порядка ………….…….….... 76
7.7. Пример 11 ………………………………………………........ 77
7.8. Методы Рунге-Кутта высоких порядков ………………….. 78
7.9. Пример 12 ………………………………………………….... 79
7.10. Методы прогноза и коррекции ………………...…………. 80
8. Синтез оптимальных управлений на имитационных
моделях ……………………………………………….……...….. 81
8.1. Последовательный многошаговый синтез
оптимальных управлений ……………………………......… 84
8.2. Оптимальное управление линейным объектом
третьего порядка ……………………………………..…..… 87
8.3. Оптимальное управление линейным объектом
четвертого порядка …………………………………..…..… 90
8.4. Оптимальное управление электродвигателем
постоянного тока ……………………………………..…..… 97
ЗАКЛЮЧЕНИЕ ………………………………………………..….. 104
СПИСОК ЛИТЕРАТУРЫ ………………………………...………. 105
ВВЕДЕНИЕ
Моделирование является методом опосредованного познания. Изучение свойств объекта моделирования путем анализа аналогичных
свойств его модели представляет собой процесс моделирования. Если
результаты моделирования могут служить основой для прогнозирования процессов, протекающих в исследуемых объектах, то модель адекватна объекту. Адекватность модели зависит от цели моделирования и
принятых критериев.
Проектирование и отработка современных средств автоматизации
технологических процессов, отдельных узлов и блоков, связаны с теоретическими расчетами и исследованиями [1]. Расчеты проводятся с использованием вычислительных средств (компьютеров).
При этом обычно выполняются следующие этапы:
1. Физическая постановка задачи. Этап заключается в содержательной (физической) постановке задачи и определении конечных целей
решения. Результатом является общая формулировка задачи в содержательных терминах, т. е. что дано и что требуется определить.
2. Поиск, выбор или модификация некоторой математической модели, адекватной физической постановке задачи. Модель должна правильно описывать основные законы физического процесса. На этом этапе осуществляются:
– выделение основных математических уравнений, соотношений,
аппроксимирующих формул, описывающих задачу;
– выделение дополнительных математических уравнений, связей,
граничных или краевых условий;
– предварительное обоснование математической модели.
Этот этап является очень важным, так как ошибочная или неудачная модель, неадекватная физической, сводит «на нет» все дальнейшие
усилия по проектированию средств автоматизации. При решении многих задач выбираются, как правило, общепринятые математические модели. Построение или выбор математической модели из существующих
требует глубокого понимания проблемы и знания соответствующих
разделов математики.
3. Разработка, выбор или модификация математического (аналитического, приближено-аналитического или численного) метода,
наиболее целесообразного и экономичного. Поскольку компьютер может выполнять лишь простейшие операции, он «не понимает» постановки задачи даже в математической формулировке [2]. Для ее решения
должен быть найден численный метод, позволяющий свести задачу к
некоторому численному алгоритму. Специалисту – прикладнику для
решения задачи, как правило, необходимо из имеющегося арсенала методов выбрать тот, который наиболее пригоден в данном конкретном
случае. Это осуществляется на основе имеющихся у исследователей
знаний (субъективный подход), а также исходя из ресурсов компьютера
– оперативной и внешней памяти, быстродействия, возможностей представления информации.
4. Составление алгоритма. Процесс решения задачи записывается
в виде последовательности элементарных арифметических и логических
операций, приводящей к конечному результату и называемой алгоритмом решения задачи. Алгоритм можно наглядно изобразить в виде
блок-схемы.
5. Разработка программного обеспечения. Алгоритм решения задачи записывается на понятном машине языке в виде точно определенной
последовательности операций – программы для компьютера. Составление программы обычно производится с помощью некоторого промежуточного алгоритмического языка, а ее трансляция (перевод на машинный язык) осуществляется самой вычислительной системой.
6. Решение задачи предполагает апостериорное обоснование модели и метода путем их методических и параметрических компьютерных
исследований в привязке к реальному объекту. При этом для уменьшения ручного труда по обработке результатов желательно использовать
удобные формы выдачи результатов, особенно их графическое представление (визуализацию). Этап включает выдачу рекомендаций и характеристик.
В результате анализа полученного решения задачи может осуществляться переход к любому из описанных этапов для внесения соответствующих изменений.
Классическим средством изучения математических моделей являются аналитические методы, позволяющие получать точные решения в
виде математических формул. Эти методы дают наиболее точную информацию о решении задачи, и они до настоящего времени не утратили
своего значения. Однако, к сожалению, класс задач, для которого они
могут использоваться, весьма ограничен. Поэтому решение широкого
класса задач при отработке современных технических систем, как правило, осуществляется численными методами.
Численные методы – это методы приближенного решения задач
прикладной математики, основанные на реализации алгоритмов, соответствующих математическим моделям. Наука, изучающая численные
методы, называется вычислительной математикой.
Численные методы, в отличие от аналитических, дают не общие, а
частные решения, которые определяются в дискретных областях изме-
нения независимых переменных. При этом требуется выполнить достаточное количество арифметических и логических действий над числовыми и логическими массивами. В силу приближенного характера вычислений этот процесс связан с некоторыми основными требованиями
или понятиями, относящимися к конкретным задачам и численным методам (схемам). Некоторые из требований являются противоречивыми,
поэтому при выполнении исследований чем-то приходится жертвовать,
например, точностью или экономичностью метода.
1. Математическое моделирование в задачах управления
тепловыми электрическими станциями
Энергетическую систему (ЭС) образуют источники и потребители
энергии – электроприемники, объединенные общей электрической сетью [3]. Важнейшим признаком ЭС является одновременность процессов производства, распределения и потребления электрической энергии,
обусловленная невозможностью складирования готовой продукции и
необходимостью баланса между суммарными мощностями, генерируемыми электростанциями и потребляемыми в электрической системе.
Энергетическая система относится к большим сложным системам.
Решение многомерной задачи оптимизации управления для больших систем выполняют поэтапно, используя преимущества многоступенчатого управления. Выделяют уровни математического описания,
т.е. составляют иерархию математических моделей. При иерархическом
представлении сложных систем используют одновременно вертикальную и горизонтальную декомпозиции.
Разбиение подсистемы на звенья в пределах одного уровня означает горизонтальную декомпозицию. Звено горизонтальной декомпозиции
промышленных систем на низшем уровне выделяют обычно по принципу единства технологического процесса или конструкции (например,
пароперегреватель котла, промежуточный пароперегреватель и т.п.). В
зависимости от задач управления может быть выделено и более крупное
звено (котел, турбогенератор или энергоблок в целом).
Требования к математическому описанию сложной системы противоречивы. С одной стороны, оно должно быть полным, т.е. отражать
действие системы в деталях, а с другой – достаточно простым, доступным для понимания. Компромисс между полнотой и простотой математического описания систем достигают их иерархическим (многоуровневым) представлением.
Математическое описание системы обычно начинают с технологического процесса, для которого имеется определенный запас исходных
данных. В общем случае подход к составлению математической модели
процессов основан на законах сохранения энергии и вещества применительно к тепловым схемам и типовым конструкциям агрегатов или же
опирается на экспериментальные статические и динамические характеристики отдельных агрегатов и участков. При этом немалую роль во
всех случаях играют простота модели и способ ее представления.
Первоначальное общее представление о сложной системе можно
детализовать, двигаясь вниз по иерархии. Движение вверх по иерархии
позволяет расширить описание системы, представить ее в общем виде, с
охватом большего числа звеньев и подсистем, большего периода времени и более общих задач управления. Наряду с этим степень детализации
поведения системы сокращается по мере перехода к моделям верхних
уровней. В результате математическое описание становится более
обобщенным, т.е. не учитывает факторы и сигналы, имеющие существенное значение лишь для подсистем, расположенных на более низком уровне.
Выбор подходящего выражения математической абстракции определяется характером решаемых задач по управлению, а также степенью
сложности системы, характеризуемой множеством параметров состояния.
Экономические показатели и надежность ЭС зависят, в основном,
от эффективности первичных преобразователей энергии на тепловых
электрических станциях (ТЭС).
Сущность технологического процесса на ТЭС состоит в поэтапном
преобразовании различных видов энергии. Исходными продуктами
этого процесса служат топливо, вода и воздух, конечным продуктом –
электроэнергия. И тот и другой оценивают количеством (расходом,
нагрузкой) и качеством (теплотой сгорания и тонкостью помола твердого топлива, концентрацией растворимых в воде примесей, напряжением и частотой электрического тока на выходе генератора и др.).
Необходимо непрерывно поддерживать строгое соответствие между
электрической нагрузкой и паропроизводительностью котла. Косвенным показателем баланса между ними служит давление перегретого пара, которое обычно стабилизируют вблизи установленного значения с
помощью автоматических устройств.
Управление количеством исходных продуктов (расходом топлива,
питательной воды и воздуха) осуществляют дистанционно или автоматически посредством регулирующих органов. Управление количеством
конечного продукта (электрической энергией) осуществляют в основном изменением расхода пара через проточную часть турбины с помощью автоматического или дистанционного воздействия на ее регулиру-
ющие клапаны и как следствие изменением крутящего момента ротора
турбогенератора. Различие в тепловых схемах ТЭС отражают в математических моделях, используемых как для расчета техникоэкономических показателей (ТЭП), так и для управления.
Для отдельных моделей подходящим уровнем математической абстракции служат уравнения материального и энергетического баланса,
по которым рассчитывают ТЭП энергоблоков станции в целом, а также
дифференциальные уравнения (передаточные функции, комплексные
частотные характеристики и др.), описывающие переходные процессы в
котлах и турбинах. На основе этих уравнений определяется вид управляющих воздействий для достижения оптимальных значений ТЭП в
установившемся и переходном режимах.
Перед составлением математических моделей ТЭС необходимо
определить каналы передачи регулирующих, управляющих и возмущающих воздействий для каждого технологического объекта управления
(ТОУ). В качестве объекта управления, характеризующего технологический процесс на ТЭС в целом, обычно выбирают обобщенный энергоблок, характеризуемый лишь небольшим числом общих главных признаков. Технологический процесс, протекающий в таком энергоблоке,
можно представить в виде двух последовательных процессов: в паровом
котле и в турбогенераторе. Для укрупненных моделей ТЭС дальнейшая
детализация процессов не целесообразна.
При математическом описании технологических процессов ТЭС
используют модели статики, описывающие установившиеся состояния,
и модели динамики, описывающие переходные режимы. Модели могут
быть построены аналитическим или экспериментальным методом [4].
Математические модели статики объектов ТЭС могут быть представлены несколькими видами. Первый вид моделей определяет связь
между каким–либо входом xi и соответствующим ему выходом yi в
установившемся режиме работы энергоблока. Модели в этом случае составляют в форме алгебраических уравнений, таблиц или графических
зависимостей:
(1.1)
yi  f ( xi ).
Зависимость (1.1) для линейных систем имеет вид
yi  ki xi .
(1.2)
Для нелинейных систем, к каким относятся все промышленные
объекты, при изменении входных сигналов в широком диапазоне значе-
ний, составляют дополнительное семейство моделей статики, которые
определяют связь между значениями ki и нагрузкой объекта, изменяющейся от минимального до номинального значений:
i  f (i ),
(1.3)
N ф , N 0 – фактическая и номинальная нагрузки.
где i  N ф / N 0 ;
Другой вид моделей статики промышленных объектов, используемых в задачах управления, определяет связь между заданным значением
регулируемой величины и нагрузкой объекта, оцениваемой непосредственно или по какому–либо косвенному параметру.
Аналитические формы записи нелинейных моделей чаще всего неизвестны. Поэтому их задают в виде графиков или таблиц, построенных
по результатам опытного или расчетного определения ki в принятом
диапазоне изменения нагрузок. Вид аппроксимирующей функции нелинейных моделей статики зависит от решаемых задач, в которых они используются. Чаще всего применяют кусочно–линейные или кусочноквадратичные приближения.
Широко распространены в задачах управления ТЭС модели статики, позволяющие получить количественную оценку техникоэкономической эффективности работы теплоэнергетических установок.
Для составления математических моделей статики ТЭС, используемых
при определении ТЭП, необходимо провести расчет принципиальной
тепловой схемы станции. Расчет ТЭП осуществляют с помощью семейства алгебраических уравнений, составляемых поэтапно [5].
Большинство тепловых объектов на электрических станциях –
сложные динамические системы с распределенными параметрами. Аналитическое определение характеристик таких систем, например, в виде
дифференциальных уравнений связано с большим объемом расчетных и
исследовательских работ. Один из методов упрощения расчетов состоит
в представлении сложного объекта с распределенными параметрами в
виде последовательного или параллельного соединения участков с сосредоточенными параметрами [6]. Последние должны обладать единством конструкции или однообразием протекающих в них физических
или технологических процессов, а также простотой математического
описания.
Рассмотрим процесс изменения давления перегретого пара в трубопроводе на выходе парового котла, принципиальная технологическая
схема которого приведена на рис. 1.1. Проследим прохождение сигнала
по каналу топливо BT – давление перегретого пара PП .П .
Рис. 1.1 – Принципиальная технологическая схема котла:
1 – топка; 2 – барабан; 3 – газоход; 4 – дымосос; 5 – вентилятор; 6 – воздухоподогреватель; 7 – экономайзер; 8 – циркуляционный контур; 9 пароперегреватель; 10 – горелки; 11 – бункер пыли; 12 – питатели пыли;
13 – короб первичного воздуха; 14 – пылепроводы.
Паровой котел как сложная динамическая система может быть разделен на ряд более простых участков (рис. 1.2).
Рис. 1.2. Структурная схема парового котла
по каналу воздействия BT – PП .П .
Первый участок W1 – транспортировка пылевидного топлива питателями пыли из бункеров пыли по пылепроводам к горелкам. Динамические свойства этого участка позволяют приближенно считать его звеном транспортного запаздывания с передаточной функцией W1 ( p )  e  p ,
в котором значение  зависит от скорости движения пылевоздушной
смеси и длины пылепровода.
Второй участок W2 – топочная камера. Здесь протекают процессы
подачи топлива в топку, воспламенения и сгорания (полное или частичное). Процесс тепловыделения, сопутствующий горению, приближенно
описывается уравнением инерционного звена первого порядка с передаточной функцией W2 ( p) 
k2
, где значение T2 зависит от типа парово1  T2 p
го котла, вида топлива и других факторов. Тепловая энергия, выделившаяся при сгорании топлива, воспринимается радиационными и конвективными поверхностями нагрева парового котла.
Третий участок W3 – процесс теплопередачи. Его динамика приближенно может быть описана уравнением инерционного звена первого
(или более высокого) порядка с передаточной функцией W3 ( p) 
k3
.
1  T3 p
Четвертый участок W4 образуют барабан, опускные трубы DОП циркуляционного контура, экранные поверхности (подъемные трубы DПОД ,
где протекает процесс парообразования). Здесь осуществляется передача теплоты через стенки труб воде, нагревание ее до температуры кипения, образование пара и перенос его из экранных труб в барабан. Физическая сущность процесса, протекающего на этом участке, поясняется
структурной схемой (рис. 1.2) и заключается в том, что изменение подводимой к воде теплоты QT' приводит к изменению двух регулируемых
величин – паропроизводительности Dб и давления пара в барабане Pб ,
которые в свою очередь оказывают воздействие на паропроизводительность подъемных труб DПОД , т.е. служат и входными величинами. Таким
образом, рассматриваемый участок нельзя считать звеном направленного действия, но, поскольку он включен последовательно с предшествующими направленными звеньями – пылепроводами и топкой, направленность парового котла как системы в целом сохраняется. Это означает, что изменения Dб и Pб не окажут обратного воздействия на количество топлива BT , подводимого в топку и на QТ и QT' . Если QT' изменится скачком, а расход пара Dб поддерживается постоянным, например, с
помощью регулирующих клапанов турбины или другого потребителя
пара, то интересующая нас кривая переходного процесса по давлению
пара в барабане Pб будет иметь форму, близкую к экспоненте. Передаточная функция по каналу W4 с учетом обратных связей по Dб и Pб приближенно может быть представлена в виде инерционного звена первого
порядка W4 ( p) 
k4
.
1  T4 p
Пятый участок W5 составляют пароперегреватель и присоединенный к нему трубопровод перегретого пара, в котором происходит изменение интересующего нас давления. Рассматриваемый участок имеет
три входа со стороны парового котла: Qб , Pб и QТ'' . Динамика этого
участка по каналу Pб  PП .П . определена аналитически. Результирующая
расчетная передаточная функция парового котла по каналу
BТ QТ'
Pб PП . П . определяется перемножением передаточных функций
последовательно включенных звеньев W1 , W2 , W3 , W4 и W5 .
Рассмотренный способ составления передаточной функции сложного объекта посредством соединения простых звеньев, передаточные
функции которых известны или легко определяются, называется структурным моделированием. Составление дифференциальных уравнений и
структурное моделирование предусматривают применение расчетных
методов определения динамических свойств сложных объектов. Однако
эти методы не всегда могут обеспечить достаточно точное воспроизведение фактической динамики объекта. Поэтому динамика часто определяется опытным путем. При этом возникает обратная задача: по известной экспериментальной временной характеристике требуется составить
математическую модель объекта.
При описании динамических свойств тепловых объектов с помощью упрощенных математических моделей широкое распространение
получили следующие соединения простых звеньев: инерционное звено
первого порядка последовательно соединено со звеном запаздывания
W ( p)  ke p /(1  pT ); интегрирующее звено последовательно соединено со
звеном запаздывания W ( p)  kИ e p .
2. Методы решения систем линейных алгебраических
уравнений
Прикладные задачи часто сводятся к многомерным и в общем случае нелинейным уравнениям, которые решаются методом линеаризации, т.е. сведением нелинейных уравнений к линейным. К решению систем линейных уравнений сводятся многочисленные практические задачи. В общем случае система n уравнений с n неизвестными записывается в виде
a11 x1  a12 x2  ...  a1n xn  b1 ,
a21 x1  a22 x2  ...  a2 n xn  b2 ,
............................................,
an1 x1  an 2 x2  ...  ann xn  bn .
(2.1)
Совокупность коэффициентов этой системы представляется в виде:
 a11 a12 ... a1n 


a21 a22 ... a2 n 

A
.
 ............................. 


a

a
...
a
nn 
 n1 n 2
Используя понятие матрицы A , систему уравнений (2.1) можно записать в векторно-матричном виде:
Ax  b,
(2.2)
где x и b – вектор-столбец неизвестных и вектор-столбец правых частей соответственно:
 x1 
 
x
x   2 ,
 ... 
 
 xn 
 b1 
 
b
b   2 ,
 ... 
 
 bn 
или, в более компактной записи,
x  x1 , x2 ,..., xn  ,
b  b1 , b2 ,..., bn .
Определителем (детерминантом) матрицы A n –го порядка называется число D , равное
D  det A 
a11
a12
... a1n
a21
a22
... a2 n
............................
an1
.
an 2 ... ann
Необходимым и достаточным условием существования единственного решения системы линейных уравнений является условие D  0.
Методы решения систем линейных уравнений делятся на две группы – прямые и итерационные.
Прямые методы используют конечные соотношения (формулы)
для вычисления неизвестных. Они дают решение после выполнения заранее известного числа операций. Эти методы сравнительно просты и
наиболее универсальны, т.е. пригодны для решения широкого класса
линейных систем. Однако они требуют, как правило, хранения в оперативной памяти компьютера сразу всей матрицы, и при больших значе-
ниях n расходуется много места в памяти. Существенным недостатком
прямых методов является накопление погрешностей в процессе решения, поскольку вычисления на любом этапе используют результаты
предыдущих операций. Эти методы используются обычно для не слишком больших ( n  1000 ) систем с плотно заполненной матрицей и не
близким к нулю определителем. При использовании компьютеров неизбежны погрешности в окончательных результатах, т.к. на практике вычисления производятся с погрешностями.
Итерационные методы – это методы последовательных приближений. В них необходимо задать некоторое приближенное решение начальное приближение. После этого с помощью некоторого алгоритма
проводится один цикл вычислений, называемый итерацией. В результате итерации находят новое приближение. Итерации проводятся до получения решения с требуемой точностью. Алгоритмы решения линейных систем с использованием итерационных методов обычно более
сложные по сравнению с прямыми методами. Объем вычислений трудно определить заранее. Методы требуют хранения в памяти машины не
всей матрицы системы, а лишь нескольких векторов с n компонентами.
Иногда компоненты матрицы можно совсем не хранить, а вычислять их
по мере необходимости. Погрешности окончательных результатов не
накапливаются, поскольку точность вычислений в каждой итерации
определяется лишь результатами предыдущей итерации и практически
не зависит от ранее выполненных вычислений. Эти достоинства итерационных методов делают их особенно полезными в случае большого
числа уравнений, однако, сходимость итераций может быть медленной.
Итерационные методы могут использоваться для уточнения решений, полученных с помощью прямых методов. Такие смешанные алгоритмы обычно довольно эффективны.
. Метод Гаусса
Метод основан на приведении матрицы системы к треугольному
виду. Это достигается последовательным исключением неизвестных из
уравнений системы. Сначала с помощью первого уравнения исключается x1 из всех последующих уравнений системы. Затем с помощью
второго уравнения исключается x2 из третьего и всех последующих
уравнений. Этот процесс, называемый прямым ходом метода Гаусса,
продолжается до тех пор, пока в левой части последнего ( n –го) уравнения не останется лишь один член с неизвестным xn , т. е. матрица системы будет приведена к треугольному виду.
Обратный ход метода Гаусса состоит в последовательном вычислении искомых неизвестных: решая последнее уравнение, находим
единственное в этом уравнении неизвестное xn . Далее, используя это
значение, из предыдущего уравнения вычисляем xn 1 и т. д. Последним
найдем x1 из первого уравнения.
Рассмотрим применение метода Гаусса для системы
a11 x1  a12 x2  a13 x3  b1 ,
a21 x1  a22 x2  a23 x3  b2 ,
(2.3)
a31 x1  a32 x2  a33 x3  b3 .
Для исключения x1 из второго уравнения прибавим к нему первое,
умноженное на a21 / a11 . Умножив первое уравнение на a31 / a11 и прибавив результат к третьему уравнению, исключим из него x1 . Получим
равносильную (2.3) систему уравнений вида
a11 x1  a12 x2  a13 x3  b1 ,
'
'
a22
x2  a23
x3  b2' ,
(2.4)
a x a x b ;
'
32 2
aij'  aij 
'
33 3
'
3
ai1
a1 j ,
a11
i, j  2,3,
ai1
b1 ,
a11
i  2,3.
bi'  bi 
Теперь из третьего уравнения системы (2.4) нужно исключить x2 .
Для этого умножим второе уравнение на a32' / a22' и прибавим результат
к третьему. Получим
a11 x1  a12 x2  a13 x3  b1 ,
'
'
a22
x2  a23
x3  b2' ,
(2.5)
''
a33
x3  b3'' ;
''
'
a33
 a33

'
a32
'
a23
,
'
a22
b3''  b3' 
'
a32
b2' .
'
a22
Матрица системы (2.5) имеет треугольный вид. На этом заканчивается прямой ход метода Гаусса.
В процессе исключения неизвестных приходится выполнять операции деления на коэффициенты a11 , a22' и т. д. Поэтому они должны быть
отличны от нуля. В противном случае необходимо соответственным образом переставить уравнения системы.
Обратный ход начинается с решения третьего уравнения системы
(2.5)
x3  b3'' / a3'' .
Используя это значение, можно найти x2 из второго уравнения, а затем
x1 из первого:
x2 
1 '
'
(b2  a23
x3 ),
'
a22
x1 
1
(b1  a12 x2  a13 x3 ).
a11
Аналогично строится вычислительный алгоритм для линейной системы с произвольным числом уравнений.
Одной из модификаций метода Гаусса является схема с выбором
главного элемента. Она состоит в том, что требование неравенства нулю диагональных элементов aii , на которые происходит деление в процессе исключений, заменяется более жестким: из всех оставшихся в i -м
столбце элементов нужно выбрать наибольший по модулю и переставить уравнения так, чтобы этот элемент оказался на месте элемента aii .
Благодаря выбору наибольшего по модулю ведущего элемента
уменьшаются множители, используемые для преобразования уравнений, что способствует снижению погрешностей вычислений. Объем вычислений определяется порядком системы n : число арифметических
операций примерно равно (2 / 3)n3 .
2.2. Пример 1
Рассмотрим алгоритм решения линейной системы методом Гаусса
для случая трех уравнений:
10 x1  7 x2  0 x3  7,
3x1  2 x2  6 x3  4,
5 x1  x2  5 x3  6.
Исключим x1 из второго и третьего уравнений. Для этого сначала
умножим первое уравнение на коэффициент 0.3 , и результат прибавим
ко второму уравнению, а затем умножим первое же уравнение на 0.5 и
результат прибавим к третьему уравнению. Получим
10 x1  7 x2  0 x3  7.0,
 0.1x2  6 x3  6.1,
2.5 x2  5 x3  2.5.
Умножим второе уравнение на коэффициент 25 и результат сложим с третьим уравнением. Получим систему в треугольном виде:
10 x1  7 x2  0 x3  7.0,
 0.1x2  6 x3  6.1,
155 x3  155.
На этом заканчивается прямой ход метода Гаусса.
Обратный ход состоит в последовательном вычислении x3 , x2 , x1 соответственно из третьего, второго, первого уравнений. Проведем эти
вычисления:
x3 
155
 1,
155
x2 
6 x3  6.1
 1,
0.1
x1 
7 x2  7
 0.
10
Подстановкой в исходную систему легко убедиться, что ( 0,  1, 1 ) и есть
ее решение.
Существует две величины, характеризующие степень отклонения
полученного решения от точного решения. Одна из них – погрешность
x , равная разности этих значений; другая величина – невязка r , равная
разности между левой и правой частями уравнений при подстановке в
них решения. Если одна из величин равна нулю, то и другая должна
равняться нулю. Однако из малости одной не следует малость другой
величины. При x  0 обычно r  0 , но обратное утверждение справедливо не всегда.
В практических расчетах контроль точности решения осуществляется с помощью невязки (погрешность же обычно вычислить невозможно, поскольку неизвестно точное решение). Метод Гаусса с выбором
главного элемента дает малые невязки. Понятия погрешности и невязки
используются при численном решении не только линейных уравнений.
2.3. Метод Гаусса-Зейделя
Этот метод является одним из самых распространенных итерационных методов, отличается простотой и легкостью программирования.
Рассмотрим применение этого метода для системы
a11 x1  a12 x2  a13 x3  b1 ,
a21 x1  a22 x2  a23 x3  b2 ,
(2.6)
a31 x1  a32 x2  a33 x3  b3 .
Предположим, что диагональные элементы a11 , a22 , a33 отличны от
нуля (в противном случае можно переставить уравнения). Выразим неизвестные x1 , x2 и x3 соответственно из первого, второго и третьего
уравнений системы (2.6).
1
(b1  a12 x2  a13 x3 ),
a11
1
x2 
(b2  a21 x1  a23 x3 ),
a22
1
x3 
(b3  a31 x1  a32 x2 ).
a33
x1 
(2.7)
(2.8)
(2.9)
Зададим некоторые начальные (нулевые) приближения значений
неизвестных: x1  x1(0) , x2  x2(0) , x3  x3(0) . Подставляя эти значения в правую
часть выражения (2.7), получаем новое (первое) приближение x1 :
x1(1) 
1
(b1  a12 x2(0)  a13 x3(0) ).
a11
Используя это значение для x1 и приближение x3(0) для x3 , находим из
(2.8) первое приближение для x2 :
x2(1) 
1
(b2  a21 x1(1)  a23 x3(0) ).
a22
Используя вычисленные значения x1  x1(1) , x2  x2(1) , находим с помощью
выражения (2.9) первое приближение для x3 :
x3(1) 
1
(b3  a31 x1(1)  a32 x2(1) ).
a33
На этом заканчивается первая итерация решения системы (2.7) –
(2.9). Используя теперь значения x1(1) , x2(1) , x3(1) , можно таким же способом
провести вторую итерацию, в результате которой будут найдены вторые
приближения к решению: x1  x1(2) , x2  x2(2) , x3  x3(2) и т. д.
Приближение с номером k можно вычислить, зная приближение с
номером k 1, как
1
(b1  a12 x2( k 1)  a13 x3( k 1) ),
a11
1
x2( k ) 
(b2  a21 x1( k )  a23 x3( k 1) ),
a22
1
x3( k ) 
(b3  a31 x1( k )  a32 x2k1) ).
a33
x1( k ) 
Итерационный процесс продолжается до тех пор, пока значения
x1( k ) , x2( k ) , x3( k ) не станут близкими с заданной погрешностью к значениям
x1( k 1) , x2( k 1) , x3( k 1) .
2.4. Пример 2
Рассмотрим алгоритм решения линейной системы уравнений методом Гаусса–Зейделя:
4 x1  x2  x3  4,
2 x1  6 x2  x3  7,
x1  2 x2  3x3  0.
Выразим неизвестные x1 , x2 и x3 соответственно из первого, второго
и третьего уравнений:
1
(4  x2  x3 ),
4
1
x2  (7  2 x1  x3 ),
6
1
x3  ( x1  2 x2 ).
3
x1 
В качестве начального приближения примем x1(0)  0, x2(0)  0, x3(0)  0.
Найдем новые приближения неизвестных:
1
(4  0  0)  1,
4
1
5
 (7  2 1  0)  ,
6
6
1
5 8
 (1  2  )  .
3
6 9
x1(1) 
x2(1)
x3(1)
Аналогично вычислим следующее приближение:
1
5 8
71
x1(2)  (4   )  ,
4
6 9 72
1
71 8
71
x2(2)  (7  2   )  ,
6
72 9 72
1 71
71 71
x3(2)  (  2  )  .
3 72
72 72
Итерационный процесс следует продолжать до получения малой разности между значениями неизвестных в двух последних итерациях.
3. Методы решения уравнений с одним неизвестным
Во многих научных и инженерных задачах возникает необходимость решения уравнений вида
(3.1)
f ( x, p1 , p2 ,..., pn )  0,
где f – заданная функция; x – неизвестная величина; p1 , p2 ,..., pn – параметры задачи.
Как правило, исследователя интересует поведение решений в зависимости от параметра pk . При каждом фиксированном наборе параметров pk уравнение (3.1) может иметь либо конечное, либо бесконечное
количество решений x , что соответствует определенному физическому
смыслу конкретной задачи [7]. Решениями или корнями уравнения (3.1)
называются такие значения x , которые при подстановке в уравнение
обращают его в тождество.
Нелинейные уравнения можно разделить на два класса – алгебраические и трансцендентные. Алгебраическими уравнениями называются
уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные). Уравнения, содержащие другие функции
(тригонометрические, показательные, логарифмические и др.), называются трансцендентными. Методы решения таких уравнений делятся на
прямые и итерационные. Прямые методы позволяют записать корни в
виде некоторого конечного соотношения. Итерационные методы предполагают нахождение последовательных приближений решения.
Только для простейших уравнений удается найти решение в аналитическом виде, т.е. записать формулу, выражающую искомую величину
x , в явном виде через параметры pk .В большинстве же случаев приходится решать уравнения вида (3.1) численными методами.
В результате численного решения уравнения получают таблицы зависимостей искомой величины x от параметра pk . Численное решение
уравнения (3.1) обычно проводят в два этапа. На первом этапе необхо-
димо отделить корни уравнения, т.е. найти такие интервалы изменения
переменной x , где расположен только один корень. На этом этапе находят приближенные значения корней с погрешностью, задаваемой длиной каждого интервала. На втором этапе проводят уточнение отделенных корней, т.е. находят корни с заданной точностью.
Рассмотрим табличный способ отделения корней. В интересующей
нас области изменения неизвестного x [ x0 , xn ] при фиксированных параметрах pk вычислим ряд значений левой части уравнения и результаты поместим в таблицу, по которой построим график (рис. 3.1).
Рис. 3.1. График левой части уравнения (3.1)
С точностью до выбранного шага (расстояния между точками xi ) из
графика (таблицы) определяются приближенные значения корней уравнения. Уменьшая шаг в окрестности каждого корня, можно повысить
точность определения корней. Однако такой способ может потребовать
большого объема вычислений. Если левая часть уравнения является непрерывной функцией аргумента x , то для отделения корней не обязательно строить график этой функции. В этом случае корни уравнения
будут расположены между точками таблицы, где изменяется знак функции f ( x) . Шаг изменения аргумента x при вычислении таблицы выбирается так, чтобы он был меньше расстояния между корнями. Только в
этом случае удается отделить корни уравнения.
Для уточнения отделенных корней обычно используют итерационные методы. Итерационный процесс состоит в последовательном уточнении начального приближения x0 . В результате итераций находится
последовательность приближенных значений корня x1 , x2 , ..., xk , ... . Если
эти значения с ростом k стремятся к истинному значению корня, то го-
ворят, что итерационный процесс сходится. Рассмотрим некоторые
итерационные методы решения трансцендентных и алгебраических
уравнений.
3.1. Метод дихотомии
Это один из простейших методов нахождения корней нелинейных
уравнений. Он состоит в следующем. Допустим, что отделение корней
уравнения (3.1) проведено и на отрезке [a, b] расположен один корень,
который необходимо уточнить с погрешностью  (рис. 3.2).
Метод дихотомии, или половинного деления, заключается в следующем. Определяем середину отрезка [a, b]

x  ( a  b) / 2

и вычисляем функцию f ( x) . Далее делаем выбор, какую из двух частей
отрезка взять для дальнейшего уточнения корня. Если левая часть уравнения f ( x) есть непрерывная функция аргумента x , то корень будет
находиться в той половине отрезка, на концах которой f ( x) имеет раз
ные знаки. На рис. 3.2 это будет отрезок [a, x] , т.е. для очередного шага

уточнения точку b перемещаем в середину отрезка x и продолжаем
процесс деления как с первоначальным отрезком [a, b] . За один шаг
промежуток существования корня сокращается ровно вдвое.
Рис. 3.2. Метод дихотомии
Итерационный процесс продолжаем до тех пор, пока интервал
[ a, b] не станет меньше заданной погрешности  .
Следует учитывать, что функция f ( x) вычисляется с некоторой абсолютной погрешностью 1 . Вблизи корня, значения функции f ( x) малы
по абсолютной величине и могут оказаться сравнимыми с погрешностью ее вычислений, т.е. можно попасть в полосу шумов 21 , и дальнейшее уточнение корня окажется невозможным. Поэтому следует задавать ширину полосы шумов и прекращать итерационный процесс при
попадании в нее. Необходимо иметь в виду, что при уменьшении интервала [a, b] увеличивается погрешность вычисления его длины за счет
вычитания близких чисел.
Метод дихотомии всегда сходится, причем можно гарантировать,
что полученное решение будет иметь любую наперед заданную точность (в рамках разрядности компьютера). Однако метод довольно медленный. Так как за каждую итерацию интервал, где расположен корень,
уменьшается в два раза, то через n итераций интервал будет равен
(b  a) / 2n . За 10 итераций интервал уменьшится в 210  1024  103 раз, за 20
итераций интервал уменьшится в 220  106 раз.
3.2. Метод хорд
Метод предназначен для уточнения корня на интервале [a, b] , на
концах которого левая часть решаемого уравнения f ( x) принимает разные знаки. Интервал [a, b] определяется табличным методом. Очередное приближение в отличие от метода дихотомии берется не в середине
отрезка, а в точке x1 , где пересекает ось абсцисс прямая линия, проведенная через точки f (a ) и f (b) (рис. 3.3).
Рис. 3.3. Метод хорд
В качестве нового интервала для продолжения итерационного процесса выбирается тот отрезок из двух [a, x1 ] или [ x1 , b] , на концах которого функция f ( x) принимает значения с разными знаками.
Процесс уточнения корня заканчивается, когда расстояние между
очередными приближениями станет меньше заданной погрешности 
xn  xn1 < 
или когда значение функции f ( x) попадет в область шума, т.е.
f ( xn ) < 1 .
Уравнение прямой линии, проходящей через точки f1  f (a) и
f 2  f (b) , записывается в общем виде
y ( x)  k  x  c.
Коэффициенты k и c уравнения этой прямой определяются из
условий
f1  k  a  c,
f 2  k  b  c.
После вычитания левых и правых частей последних соотношений
k
f 2  f1
,
ba
c  f1  k  a.
Точку пересечения прямой y ( x) с осью абсцисс получим, приравнивая y ( x) нулю,
x1  a 
ba
f1
f 2  f1
или
x1  b 
ba
f2 .
f 2  f1
(3.2)
Метод хорд в ряде случаев дает более быструю сходимость итерационного процесса, в сравнении с методом дихотомии. Так как для линейной функции f ( x) метод хорд дает корень за один шаг при любой
длине отрезка [a, b] , то можно рассчитывать на его довольно быструю
сходимость, если f ( x) близка линейной. Однако в общем случае, если
на функцию f ( x) не накладывать дополнительных ограничений, может
оказаться, что метод хорд будет проигрывать методу дихотомии.
3.3. Метод Ньютона
Метод предполагает приближение к корню по абсциссам точек пересечения касательных к графику данной функции, проводимых в точках, соответствующих предыдущим приближениям. Геометрически метод Ньютона эквивалентен замене небольшой дуги кривой f ( x) касательной, проведенной в некоторой точке кривой (рис. 3.4). В качестве
исходной точки ( x0 ) выбирается тот конец интервала отделенного корня, которому отвечает ордината того же знака, что и знак f '' ( x) . Выбор
другого конца интервала в качестве начальной точки делает метод Ньютона непрактичным.
Рис. 3.4. Метод Ньютона
В точке x0 вычисляется левая часть решаемого уравнения y0  f ( x0 ) ,
а также производная в этой точке f ' ( x0 ) . Следующее приближение к
корню находится в точке x1 , где касательная к функции f ( x) , проведенная из точки ( x0 , y0 ) , пересечет ось абсцисс. Затем считают точку x1 в
качестве начальной и продолжают итерационный процесс по описанной
схеме. Таким способом можно приблизиться к корню. При этом с каждой итерацией расстояние между очередным xk 1 и предыдущим xk приближениями к корню будут уменьшаться. Процесс уточнения корня заканчивается, когда выполнится условие
xk 1  xk <  ,
(3.3)
где  – допустимая погрешность определения корня.
Для первого шага первое приближение корня определяется в явном
виде формулой
x1  x0 
f ( x0 )
.
f ' ( x0 )
В общем виде для k –го шага итерационного процесса основная
формула Ньютона имеет вид
xk 1  xk 
f ( xk )
.
f ' ( xk )
(3.4)
Метод Ньютона особенно удобно применять тогда, когда в окрестности корня график функции имеет большую кривизну. Обычно метод
Ньютона обладает высокой скоростью сходимости. Абсолютная точность решения 105  106 достигается через 5 – 6 итераций. Но если численное значение производной f ' ( x) близ корня мало, то вычисление
корня по этому методу может оказаться очень долгим. Недостатком метода является необходимость вычисления на каждой итерации не только
левой части уравнения, но и ее производной.
3.4. Модифицированный метод Ньютона
Можно, несколько уменьшив скорость сходимости, ограничиться
вычислением производной f '' ( x) только на первой итерации, а затем вычислять лишь значения f ( x) , не изменяя производной f '' ( x) (рис. 3.5).
xk 1  xk 
f ( xk )
.
f ' ( x0 )
(3.5)
Рис. 3.5. Модифицированный метод Ньютона
3.5. Метод секущих
Один из недостатков метода Ньютона состоит в том, что, пользуясь
им, приходится дифференцировать функцию f ( x) . Если нахождение
производной затруднено, то можно воспользоваться некоторым при-
ближением. Если итерации xk и xk 1 расположены достаточно близко
друг к другу, то производную f '' ( x) в алгоритме Ньютона можно заменить ее приближенным значением в виде отношения приращения функции f  f ( xk )  f ( xk 1 ) к приращению аргумента x  xk  xk 1 . Формула
метода секущих имеет вид
xk 1  xk 
xk  xk 1
 f ( xk ) .
f ( xk )  f ( xk 1 )
(3.6)
Рис. 3.6. Метод секущих
Геометрический смысл такого изменения алгоритма Ньютона в
том, что от аппроксимации функции f ( x) касательной выполняется переход к секущей (рис. 3.6). Для начала итерационного процесса необходимо задать два начальных приближения x0 и x1 . Затем каждое новое
приближение к корню вычисляется по выражению (3.6). Процесс уточнения корня заканчивается при выполнении условия
xn  xn1 <  .
Метод секущих несколько уступает методу Ньютона в скорости
сходимости, однако не требует вычисления производной левой части
уравнения. Алгоритм метода секущих близок к алгоритму метода хорд,
однако в методе секущих начальные приближения могут располагаться
как с разных сторон от корня, так и с одной стороны. При уточнении
корня знаки функции f ( x) не повторяются.
3.6. Метод простых итераций
От исходного уравнения (3.1) выполняется переход к эквивалентному уравнению
x   ( x) .
(3.7)
Выбирается каким-либо способом грубо начальное приближенное
значение корня x0 и подставляется в правую часть уравнения (3.7). Получается новое приближение
x1   ( x0 ) .
Подставляя каждый раз новое значение корня в (3.7), получают последовательность значений
xk 1   ( xk )
(k  0,1, 2,...) .
Рис. 3.7. Метод простых итераций
(3.8)
Из графиков (рис. 3.7) видно, что возможен как сходящийся, так и
расходящийся итерационные процессы. Скорость сходимости зависит
от абсолютной величины производной  ( x ) . Чем меньше  ' ( x) вблизи
корня x* , тем быстрее сходится процесс.
Установим критерий сходимости математически. Будем считать,
что в итерационной формуле (3.8)
xk  x*   k ,
xk 1  x*   k 1 ,
где  k и  k 1 – отклонения k и k 1 приближения от корня. Если процесс
уточнения осуществляется вблизи корня x* , то функцию  ( x ) можно
приближенно представить двумя членами ряда Тейлора. Тогда итерационная формула (3.8) примет вид
x*   k 1  ( x* )   k   ' ( x* ) ,
но так как x* является корнем уравнения, то x*   ( x* ) и, следовательно,
 k 1   k   ( x* ) .
Для того чтобы итерационный процесс был сходящимся, необходимо выполнить условие
 k 1 <  k
или
 ' ( x) <1 .
(3.9)
Переход от уравнения (3.1) к уравнению (3.7) можно осуществить
различными способами в зависимости от вида функции f ( x) . При таком
переходе необходимо построить функцию  ( x ) так, чтобы выполнялось
условие сходимости (3.9).
Рассмотрим один из общих алгоритмов перехода от уравнения (3.1)
к уравнению (3.8). Умножим левую и правую части уравнения (3.1) на
произвольную константу b и добавим к обеим частям неизвестное x .
При этом корни исходного уравнения не изменятся
x  b  f ( x)  x  0  b .
(3.10)
Введем обозначение
 ( x)  x  b  f ( x)
(3.11)
и перейдем от соотношения (3.10) к уравнению (3.7).
Произвольный выбор константы b позволит обеспечить выполнение условия сходимости (3.9). Желательно выбрать величину b такой,
чтобы 1 <  ' ( x) < 0 , тогда сходимость итерационного процесса будет
двухсторонней (рис. 3.7, в). В этом случае в наиболее простом виде
можно представить критерий окончания итерационного процесса
(3.12)
xk 1  xk <  ,
где  – заданная абсолютная погрешность вычисления корня.
Если функция  ( x ) выбрана в виде (3.11), то производная по x от
этой функции будет
 ' ( x)  1  b  f ' ( x) .
Наибольшую скорость сходимости получим при  ' ( x)  0 , тогда
b
1
f ( x)
'
и итерационная формула (3.8) переходит в формулу Ньютона
xk 1  xk 
f ( xk )
f ' ( xk )
Метод Ньютона имеет самую высокую скорость сходимости из
всех итерационных процессов.
4. Методы интерполяции
Одной из важнейших задач в процессе математического моделирования является вычисление значений функций, входящих в математическое описание модели. Для сложных моделей подобные вычисления могут быть трудоемкими даже при использовании ЭВМ. Используемые в
математических моделях функции задаются как аналитическим способом, так и табличным, при котором функции известны только при дискретных значениях аргумента. Ограниченный объем памяти ЭВМ не
всегда позволяет хранить подробные таблицы функций, желательно
иметь возможность «сгущать» таблицы, заданные с крупным шагом аргумента. Сущность интерполяции состоит в отыскании значения функции в некоторой промежуточной точке между точками заданными.
Поставленные проблемы решаются путем приближенной замены
функции f ( x) более простой функцией  ( x ) , которую нетрудно вычислить при любом значении аргумента x в заданном интервале его изменения. Введенную функцию  ( x ) можно использовать не только для
приближенного определения численных значений f ( x) , но и для проведения аналитических выкладок при теоретическом исследовании модели.
4.1. Линейная интерполяция
Простейшим видом интерполяции является линейная интерполяция, в основе которой лежит аппроксимация кривой на участке между
точками ( xk , yk ) и ( xk 1 , yk 1 ) прямой, проходящей через те же точки.
Уравнение прямой можно представить в виде
y  yk yk 1  yk

,
x  xk
xk 1  xk
или в виде
y
yk ( x  xk 1 )  yk 1 ( x  xk )
.
xk  xk 1
Зная два табличных значения yk и yk 1 , соответствующих xk и xk 1 , с
помощью этих формул можно найти значение функции y при любом
значении x в интервале  xk , xk 1  .
4.2. Интерполяция каноническим полиномом
Обычно полагают, что, используя большее число соседних точек и
аппроксимируя истинную кривую более сложной линией, можно уточнить полученный результат. В этом случае для аппроксимации функции
f ( x) используют функцию  ( x ) со свободными параметрами
c0 , c1 , ..., cn и соответствующим их выбором.
Пусть функция f ( x) задана таблицей значений f0 , f1 , f 2 ,..., f n , полученной из эксперимента или путем вычисления в последовательности
значений аргумента x0 , x1 , x2 ,..., xn . Выбранные значения аргумента x
называются узлами таблицы. Считаем, что в общем случае узлы не являются равноотстоящими.
Введем аппроксимирующую функцию  ( x, c0 , c1 ,..., cn ) так, чтобы она
совпадала с табличными значениями заданной функции во всех узлах xi
 ( xi , c0 , c1 ,..., cn )  fi ,
0  i  n.
(4.1)
Свободные параметры ci определяются из системы уравнений (4.1).
Подобный способ введения аппроксимирующей функции называется лагранжевой интерполяцией, а соотношение (4.1) – условиями Лагранжа.
Задачей интерполяции в узком смысле считают нахождение приближенных значений табличной функции при аргументах x , не совпадающих с узловыми. Если значение аргумента x расположено между
узлами x0  x  xn , то нахождение приближенного значения функции
f ( x) называется интерполяцией, если аппроксимирующую функцию
вычисляют вне интервала [ x0 , xn ], то процесс называют экстраполяцией.
В общем плане с помощью интерполяции решают широкий круг
задач численного анализа – дифференцирование и интегрирование
функций, нахождение нулей и экстремумов функций, решение диффе-
ренциальных уравнений. Возможность решения подобных задач обусловлена достаточно простым видом аппроксимирующей функции  ( x ) .
Введем в качестве аппроксимирующей функции  ( x ) полином
pn ( x) степени n в каноническом виде
 ( x)  pn ( x)  c0  c1  x  c2  x 2  ...  cn x n .
(4.2)
Свободными параметрами интерполяции ci являются коэффициенты
полинома (4.2). Интерполяция полиномами обладает такими преимуществами, как простота вычислений их значений, дифференцирования и
интегрирования.
Коэффициенты ci определим из условия Лагранжа
pn ( xi )  fi ,
0in
c0  c1  x0  c2  x02  ...  cn  x0n  f 0 ,
c0  c1  x1  c2  x12  ...  cn  x1n  f1 ,
.....................................................,
(4.3)
c0  c1  xn  c2  xn2  ...  cn  xnn  f n .
Система линейных алгебраических уравнений (4.3) имеет решение
относительно свободных параметров ci , так как определитель системы
отличен от нуля, если среди узлов xi нет совпадающих. Определитель
системы (4.3) называется определителем Вандермонда и имеет аналитическое выражение.
4.3. Интерполяционный полином Лагранжа
Пусть задано n  1 значение функции f ( x) в узлах xi . Лагранж предложил следующую форму интерполяционного полинома:
n
pn ( x)   fi
i 0
( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
.
( xi  x0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...( xi  xn )
(4.4)
Старшая степень аргумента x в полиноме Лагранжа равна n , так
как каждое произведение в формуле (4.4) содержит n сомножителей
( x  xi ) . В узлах x  xi выполняются условия Лагранжа, в сумме (4.4)
остается по одному слагаемому fi , остальные обращаются в нуль за
счет нулевых сомножителей в произведениях.
В отличие от канонического интерполяционного полинома для вычисления значений полинома Лагранжа не требуется предварительного
определения коэффициентов полинома путем решения системы уравнений. Однако для каждого значения аргумента x полином (4.4) приходится пересчитывать вновь, коэффициенты же канонического полинома
вычисляются только один раз. С известными коэффициентами для вычисления значений канонического полинома требуется значительно
меньшее количество арифметических операций по сравнению с полиномом Лагранжа. Поэтому практическое применение полинома Лагранжа оправдано только в случае, когда интерполяционная функция
вычисляется в сравнительно небольшом количестве точек x .
Полином Лагранжа занимает важное место в теории численных методов. Для практических вычислений обычно применяют полином Лагранжа не выше 5 – 6 степени.
4.4. Пример 3
Дана таблица значений функции y  f ( x) в четырех узловых точках
( x0  321,0; y0  2,50651 ), ( x1  322,8; y1  2,50893 ), ( x2  324, 2; y2  2,51081 ),
( x3  325,0; y3  2,51183 ).
Необходимо определить значение функции для аргумента x  323.5 ,
используя интерполяционный полином Лагранжа ( n  3 ).
p3 ( x)  y0
( x  x1 )( x  x2 )( x  x3 )
( x  x0 )( x  x2 )( x  x3 )
 y1

( x0  x1 )( x0  x2 )( x0  x3 )
( x1  x0 )( x1  x2 )( x1  x3 )
 y2
( x  x0 )( x  x1 )( x  x3 )
( x  x0 )( x  x1 )( x  x2 )
 y3
.
( x2  x0 )( x2  x1 )( x2  x3 )
( x3  x0 )( x3  x1 )( x3  x2 )
(323,5  322,8)(323,5  324, 2)(323,5  325)

(321  322,8)(321  324, 2)(321  325)
(323,5  321)(323,5  324, 2)(323,5  325)
 2,50893

(322,8  321)(322,8  324, 2)(322,8  325)
(323,5  321)(323,5  322,8)(323,5  325)
 2,51081

(324, 2  321)(324, 2  322,8)(324, 2  325)
(323,5  321)(323,5  322,8)(323,5  324, 2)
 2,51188
 2,50987
(325  321)(325  322,8)(325  324, 2)
y (323,5)  2,50651
4.5. Интерполяционный полином Ньютона
Существует множество разностных методов интерполяции, однако
наиболее распространен метод Ньютона для интерполирования вперед,
известный также как метод Ньютона-Грегори [8]. Интерполяционный
многочлен для метода разделенных разностей имеет вид
pn ( x)  c0  c1 ( x  x0 )  c2 ( x  x0 )( x  x1 )  ...  cn ( x  x0 )( x  x1 )...( x  xn 1).
Коэффициенты c j находятся из уравнений
pn ( x)  yi ,
i  0, 1,..., n,
позволяющих записать систему уравнений
c0  y0 ,
c0  c1 ( x1  x0 )  y1 ,
c0  c1 ( x2  x0 )  c2 ( x2  x0 )( x2  x1 )  y2 ,
.................................................................,
c0  ...  cn ( xn  x0 )( xn  x1 )...( xn  xn 1 )  yn .
Это линейная система уравнений с треугольной матрицей, и определение с ее помощью значений c j не вызывает затруднений. Существует и еще более простой способ определения c j , основанный на
применении правых конечных разностей. Если значения x заданы через
равные промежутки
xi 1  xi  h,
то в общем случае, xi  x0  i  h, где i  1, 2,..., n. последнее выражение
позволяет привести решаемые уравнения к виду
y0  c0 ,
y1  c0  c1  h,
y2  c0  c1  (2h)  2  h 2  c2 ,
..........................................,
yi  c0  c1  i  h  c2  i  h  (i  1)h   ...  ci (i !)h i ,
откуда для коэффициентов получаем
c0  y0 ,
c1 
y1  c0 y1  y0 y0


.
h
h
h
Здесь y0 называется первой правой разностью. Продолжая вычисления, находим
c2 
 2 y0
1
1
1
(
y

c

2

h

c
)

(
y

y
)

(
y

y
)


(

y
)

,




2
0
1
2
1
1
0
0
2h 2
2h 2
2h 2
2h 2
где  2 y0 – вторая правая разность, представляющая собой разность разностей. Коэффициент c j можно представить в виде
 j y0
cj 
.
( j !)h j
В общем случае разности более высоких порядков для функции
y  f ( x) в интервале x0  x  xn определяются выражением
 j yi   j 1 yi 1   j 1 yi ,
где i  0, 1,..., n  j.
Часто их вводят в таблицы, где разности порядка n выражены через
разности порядка n 1.
yi 
xi
yi
x0
y0
x1
y1
x2
x3
y2
y3
x4
y4
x5
y5
yi 1  yi
 2 yi 
3 yi 
 4 yi 
5 yi 
yi 1  yi
 2 yi 1   2 yi
3 yi 1  3 yi
 4 yi 1   4 yi
y0
y1
y 2
 y3
y 4
 2 y0
 3 y0
 4 y0
 2 y1
 5 y0
 3 y1
 4 y1
 2 y2
 3 y2
...
 2 y3
...
...
...
4.6. Пример 4
Имеется таблица данных [значения функции y  Sin( x) ]:
xi , град.
yi
10
20
30
40
50
60
0.17365
0.34202
0.50000
0.64279
0.76606
0.86603
Требуется найти y при x  23 методом разделенных разностей.
С помощью исходных данных составляется таблица правых разностей.
xi
yi
10
0,17365
yi
 2 yi
 3 yi
 4 yi
 5 yi
0,16837
20
0, 01039
0,34202
0,15798
30
0, 00480
0, 01519
0,50000
0,14279
40
0, 00435
0, 01954
0, 64279
0,12325
50
0, 00045
0, 00018
0, 00063
0, 00372
0, 02326
0, 76604
0, 09999
60
0,86603
За x0 можно принять любое значение xi , например x  20 град. Необходимые разности стоят на диагонали, идущей от значения x0 вниз.
Число используемых разностей высших порядков может быть любым,
но чем оно больше, тем выше точность. Одно из достоинств рассматриваемого метода состоит в том, что он позволяет уточнять результат, используя дополнительные разности, причем нет необходимости начинать
вычисления сначала. Поэтому в случае, если неизвестно, сколько членов
следует взять, их число следует увеличивать до тех пор, пока их вклад
не станет пренебрежимо малым. В данном случае h  10 . Используя
только первую разность, найдем
y (23)  y 
y0
0,15798
(23  x0 )  0,34202 
 3  0,38941.
h
10
Введя дополнительно вторую разность, получим
y (23)  0,38941 
 2 y0
(23  x)(23  x1)  0,39100.
h
Наконец, с помощью третьей разности найдем
3 y0
y (23)  0,39100 
(23  x)(23  x1 )(23  x2 )  0,39074.
6h 3
Очевидно, что это значение y очень близко к точному значению, рав-
ному 0,39073 при x  23 .
4.7. Итерационные методы интерполяции
Эти методы основаны на повторном применении простой интерполяционной схемы. Наиболее известным из них является метод Эйткена,
сущность которого в повторном применении линейной интерполяции.
Линейная интерполяция между точками ( x0 , y0 ) и ( xi , yi ) осуществляется по формуле
yi1 ( x) 
1
 y0 ( xi  x)  yi ( x0  x) ,
xi  x0
с помощью которой, задав значение xi , можно составить таблицу функций yi1 ( x) , где i  1, 2,..., n. Пользуясь этими функциями, с помощью линейной интерполяции
yi 2 ( x) 
1
 y11 ( x)( xi  x)  yi1 ( x)( x1  x) 
xi  x1
получим новое семейство соотношений. Простой подстановкой можно
показать, что выражения для yi 2 ( x) представляют собой многочлены
второй степени, описывающие кривые, проходящие через точки ( x0 , y0 ),
( x1 , y1 ) и ( xi , yi ). Получив многочлены yi 2 с помощью линейной интерполяции и используя функции yi 2 ( x) , можно записать выражение для многочлена третьей степени
yi 3 ( x) 
1
 y22 ( x)( xi  x)  yi 2 ( x)( x2  x) ,
xi  x2
описывающего кривые, проходящие через точки ( x0 , y0 ), ( x1 , y1 ), ( x2 , y2 ) и
( xi , yi ). Продолжая этот процесс, можно получить значения yij ( x) , которые будут стремиться к значению f ( x) . Хотя в принципе этот метод
позволяет вводить многочлены степени n >3, обычно этого не делают,
стремясь избежать роста ошибок. Следует отметить, что метод Эйткена
не требует, чтобы используемые для интерполяции значения функции
были расположены через равные интервалы.
4.8. Пример 5
Имеется таблица данных [значения функции y  Sin( x) ], требуется
найти y при x  23 с помощью многократного применения линейной
интерполяции. По приведенной методике выполняются расчеты, и составляется таблица результатов. Видно, что по мере выполнения вычислений значения y (23) стремятся к истинному значению, равному
0,39073.
1
0,17365(20  23)  0,34202(10  23)  0,392531.
20  10
1
y21 ( x) 
0,17365(30  23)  0,5(10  23)  0,3857775.
30  10
y11 ( x) 
i
xi , град.
yi
yi1
yi 2
yi 3
0
1
2
3
4
5
10
20
30
40
50
60
0.17365
0.34202
0.50000
0.64279
0.76604
0.86603
--0.39253
0.38578
0.37694
0.36618
0.35367
--0.39051
0.39019
0.38990
0.38962
--0.39073
0.39072
0.39072
4.9. Интерполяция сплайнами
Полиномиальная интерполяция не всегда дает удовлетворительные
результаты при аппроксимации зависимостей. Несмотря на выполнение
условий Лагранжа в узлах, интерполяционная функция может иметь
значительное отклонение от аппроксимируемой кривой между узлами.
При этом повышение степени интерполяционного полинома приводит
не к уменьшению, а к увеличению погрешности.
Для проведения гладких кривых через узловые значения функции
чертежники используют упругую металлическую линейку, совмещая ее
с узловыми точками. Математическая теория подобной аппроксимации
называется теорией сплайн-функций. Разработано обширное программное обеспечение для практического применения сплайнов в различных
областях науки и техники.
Рассмотрим один из наиболее распространенных вариантов интерполяции кубическими сплайнами. Используя законы упругости, можно
установить, что недеформируемая линейка между соседними узлами
проходит по линии, удовлетворяющей уравнению
(4.5)
 ( IV ) ( x)  0 .
Функцию  ( x ) будем использовать для аппроксимации зависимости
f ( x) , заданной в узлах x0 , x1 ,..., xn значениями f 0 , f1 ,..., f n .
Если в качестве функции  ( x ) выбрать полином, то в соответствии
с уравнением (4.5) степень полинома должна быть не выше третьей.
Этот полином называют кубическим сплайном, который на интервале
x   xi 1 , xi  записывают в виде
i ( x)  ai  bi ( x  xi 1 )  ci ( x  xi 1 ) 2  di ( x  xi 1 )3 ,
(4.6)
где ai , bi , ci , di - коэффициенты сплайна, определяемые из дополнительных условий; i  1, 2,..., n – номер сплайна.
В отличие от полиномиальной интерполяции, когда вся аппроксимируемая зависимость описывается одним полиномом, при сплайновой
интерполяции на каждом интервале  xi 1 , xi  строится отдельный полином третьей степени (4.6) со своими коэффициентами.
Коэффициенты сплайнов определяются из условий сшивания соседних сплайнов в узловых точках:
1) равенство значений сплайнов  ( x ) и аппроксимируемой функции
f ( x) в узлах – условия Лагранжа
(4.7)
i ( xi 1 )  fi 1 ,
i ( xi )  fi ;
2) непрерывность первой и второй производных от сплайнов в узлах
iI ( xi )  iI1 ( xi ),
(4.8)
II
II
i ( xi )  i 1 ( xi ).
(4.9)
Кроме перечисленных условий необходимо задать условия на концах, т.е. в точках x0 и xn . В общем случае эти условия зависят от конкретной задачи. Часто используются условия свободных концов сплайнов. Если линейка не закреплена в точках вне интервала  x0 , xn  , то она
описывается уравнением прямой линии, т.е. полиномом первой степени.
Следовательно, исходя из условий (4.9) непрерывности вторых производных сплайнов на концах интервала, записываются соотношения
1II ( x0 )  0,
nII ( xn )  0.
(4.10)
(4.11)
Для улучшения гладкости аппроксимирующей кривой используют
и другие граничные условия. Например, строят так называемые нагруженные сплайны, которые в механической модели соответствуют подвешиванию грузов к металлической линейке на ее концах. Коэффициенты кубических сплайнов [7] определяются из условий (4.7) – (4.11).
4.10. Применение интерполяции для решения уравнений
Интерполяция применяется для решения уравнений вида
f ( x)  p1 .
(4.12)
Если в области корня уравнения (4.12) вычислить его левую часть в
n  1 точке и результаты поместить в таблицу, содержащую столбцы аргумента x и функции f ( x) , то для определения корня можно поменять
местами столбцы таблицы. С помощью одного из алгоритмов интерполяции определяется значение аргумента x , при котором функция f ( x)
принимает значение p1 . Нахождение значений аргумента x по заданным значениям функции называется обратной интерполяцией.
Значение корня, найденное с помощью обратной интерполяции,
будет приближенным за счет погрешности интерполяции. Для уточнения значения корня необходимо организовать итерационный процесс,
на каждом шаге которого узел, где величина f ( xi )  p1 принимает
наибольшее значение, заменяется найденным приближением к корню.
Критерием окончания итераций будет выполнение одного из условий
x k 1  x k <  ,
f ( x k )  p1 < 1 ,
где x k - приближение к корню на k – ой итерации;  – заданная погрешность определения корня; 1 – половина ширины полосы шума
функции f ( x) . Обычно при решении уравнений методом обратной интерполяции выбирают фиксированное и сравнительно небольшое число
узлов. Если выбрать два узла, то получают алгоритм, полностью совпадающий с методом секущих.
5. Аппроксимация кривых
При аппроксимации кривых возможно использование условия равенства значений интерполяционного многочлена и данной функции в
известных точках – узлах интерполяции. В этом случае аппроксимирующая кривая строится с помощью одного из методов интерполяции и
проходит через все узлы, к точности данных значений функции предъявляются высокие требования.
В случае обработки опытных данных, полученных в результате
наблюдений или измерений, нужно иметь в виду ошибки этих данных.
Они могут быть вызваны несовершенством измерительного прибора,
субъективными причинами, различными случайными факторами и т. д.
Ошибки экспериментальных данных можно условно разбить на три категории по их происхождению и величине: систематические, случайные
и грубые.
Систематические ошибки обычно дают отклонение в одну сторону
от истинного значения измеряемой величины. Они могут быть постоян-
ными или закономерно изменяться при повторении опыта, и их причина
и характер неизвестны.
Систематические ошибки могут быть вызваны условиями эксперимента (влажностью, температурой среды и др.), дефектом измерительного прибора, его плохой регулировкой (например, смещением указательной стрелки от нулевого положения) и т. д. Эти ошибки можно
устранить наладкой аппаратуры или введением соответствующих поправок.
Случайные ошибки определяются большим числом факторов, которые не могут быть устранены либо достаточно точно учтены при измерениях или при обработке результатов. Они имеют случайный характер, дают отклонения от средней величины в ту и другую стороны при
повторении измерений и не могут быть устранены в эксперименте, как
бы тщательно он не проводился. С вероятностной точки зрения математическое ожидание случайной ошибки равно нулю. Статистическая обработка экспериментальных данных позволяет определить величину
случайной ошибки и довести ее до некоторого приемлемого значения
повторением измерений достаточное число раз.
Грубые ошибки явно искажают результаты измерения; они чрезмерно большие и обычно пропадают при повторении опыта. Грубые
ошибки существенно выходят за пределы случайной ошибки, полученной при статистической обработке. Измерения с такими ошибками отбрасываются и в расчет при окончательной обработке результатов не
принимаются.
В экспериментальных данных всегда имеются случайные ошибки.
Они могут быть уменьшены до сколь угодно малой величины путем
многократного повторения опыта. Однако это не всегда целесообразно,
поскольку могут потребоваться большие материальные или временные
ресурсы. Значительно дешевле и быстрее можно в ряде случаев получить уточненные данные хорошей математической обработкой имеющихся результатов измерений.
Если набор экспериментальных данных получен со значительной
погрешностью, то не имеет смысла использовать интерполяцию Лагранжа полиномами или сплайнами для обработки результатов. В этом
случае необходимо провести аппроксимирующую кривую, которая не
проходит через экспериментальные точки, но в то же время отражает
исследуемую зависимость, сглаживает возможные выбросы за счет погрешности эксперимента. Такой подход называется подгонкой кривой,
которую стремятся провести так, чтобы ее отклонения от экспериментальных данных были минимальными.
5.1. Метод наименьших квадратов
Обычно стремятся свести к минимуму сумму квадратов разностей
между значениями функции, определяемыми выбранной кривой и экспериментальными данными.
Обозначим узлы исходной таблицы данных через xi , где 0  i  n .
n – номер узла. Считаем известными значения экспериментальных данных в узловых точках f ( xi )  fi . Введем непрерывную функцию  ( x ) для
аппроксимации дискретной зависимости f ( xi ) . В узлах функции  ( x ) и
f ( x) будут отличаться на величину  i   ( xi )  f ( xi ) . Отклонения  i могут
принимать положительные и отрицательные значения. Чтобы не учитывать знаки, возведем каждое отклонение в квадрат и просуммируем
квадраты отклонений по всем узлам
n
n
i 0
i 0
Q    i2    ( xi )  f ( xi ) 
2
(5.1)
Метод построения аппроксимирующей функции  ( x ) из условия
минимума величины Q называется методом наименьших квадратов.
Наиболее распространен способ выбора функции  ( x ) в виде линейной комбинации.
(5.2)
 ( x)  c0  0 ( x)  c1  1 ( x)  ...  cm  m ( x),
где 0 ( x), 1 ( x),..., m ( x) – базисные функции; m  n; c0 , c1 ,..., cm – коэффициенты, определяемые при минимизации величины Q .
Математически условия минимума суммы квадратов отклонений Q
запишем, приравнивая нулю частные производные от Q по коэффициентам ck , 0  k  m :
n
Q
 2  c0  0 ( xi )  c1  1 ( xi )  ...  cm  m ( xi )  fi   0 ( xi )  0,
c0
i 0
n
Q
 2 c0  0 ( xi )  c1  1 ( xi )  ...  cm  m ( xi )  fi   1 ( xi )  0,
c1
i 0
.…………………..…………………………………...,
n
Q
 2 c0  0 ( xi )  c1  1 ( xi )  ...  cm  m ( xi )  fi   m ( xi )  0.
cm
i 0
(5.3)
Из системы линейных алгебраических уравнений (5.3) определяются все коэффициенты ck . Система (5.3) называется системой нормальных уравнений. Матрица этой системы имеет вид:
(0 , 0 )
(0 , 1 )
...
(0 ,  m )
(0 , 1 )
(1 , 1 )
...
(1 ,  m )
.............
.............
...
...........
(0 ,  m )
(1 ,  m )
...
( m ,  m )
(5.4)
и называется матрицей Грамма. Элементы матрицы Грамма являются
скалярными произведениями базисных функций
n
( j , k )    j ( xi )k ( xi ).
(5.5)
i 0
Расширенная матрица системы уравнений (5.3) получится добавлением справа к матрице Грамма столбца свободных членов
(0 ,
f)
(1 ,
f)
..............
( m ,
,
(5.6)
f)
где скалярные произведения, являющиеся элементами столбца, определяются аналогично (5.5)
n
(k , f )   k ( xi ) fi .
(5.7)
i 0
Отметим основные свойства матрицы Грамма, полезные при программной реализации алгоритмов метода наименьших квадратов:
1) матрица симметрична, т.е. aij  a ji , что позволяет сократить объем
вычислений при заполнении матрицы;
2) матрица является положительно определенной, следовательно,
при решении системы нормальных уравнений методом исключения
Гаусса можно отказаться от процедуры выбора главного элемента;
3) определитель матрицы будет отличен от нуля, если в качестве
базиса выбраны линейно независимые функции k ( x), при этом система
(5.3) имеет единственное решение.
При обработке экспериментальных данных, определенных с погрешностью  в каждой узловой точке, обычно начинают с аппроксимации функцией  ( x), представимой одной или двумя базисными функциями. После определения коэффициентов ck вычисляют величину Q
по формуле (5.1). Если получится, что Q >  , то необходимо расширить
базис добавлением новых функций k ( x). Расширение базиса необходимо осуществлять до тех пор, пока не выполнится условие Q   .
Выбор конкретных базисных функций зависит от свойств аппроксимируемой функции f ( x), таких, как периодичность, экспоненциальный или логарифмический характер, свойства симметрии, наличие
асимптотики и т.д. [8].
При степенном базисе базисные функции k ( x) выбираются в виде
последовательности степеней аргумента x . Базисные функции линейно
независимы,
0 ( x)  x 0  1,
1 ( x)  x1  x,...,
 m ( x)  x m .
(5.8)
В этом случае так же, как и при интерполяции, экспериментальную
зависимость аппроксимируют полиномом. Однако степень полинома m
выбирается обычно m n (при лагранжевой интерполяции m  n ). Аппроксимирующая кривая в методе наименьших квадратов не проходит
через значения исходной функции в узлах, но проведена из условия
наименьшего суммарного квадратичного отклонения. Экспериментальные данные «сглаживаются» с помощью функции  ( x). Если же выбрать m  n, то на основании единственности интерполяционного полинома получим функцию  ( x), совпадающую с каноническим интерполяционным полиномом степени n, аппроксимирующая кривая пройдет
через все экспериментальные точки и величина Q будет равна нулю.
Последнее обстоятельство используется для отладки и тестирования
программ, реализующих алгоритмы метода наименьших квадратов.
Запишем расширенную матрицу системы нормальных уравнений
для базиса (5.8):
n 1
n
x
n
n
i 0
n
 xi
i 0
n
x
i
...
 xi3
...
i 0
 xi2
i 0
n
2
i
n
x
i 0
m
i
n
i 0
 xim1
i 0
f
i 0
i
n
x f
i 0
i i
(5.9)
...
n
x
i 0
m
i
n
x
i 0
m 1
i
n
x
i 0
m2
i
n
...
x
i 0
2m
i
n
x
i 0
m
i
i
f
Нетрудно видеть, что для формирования расширенной матрицы
(5.9) достаточно вычислить только элементы первой строки и двух последних столбцов, остальные элементы не являются «оригинальными» и
заполняются с помощью циклического присвоения.
Возможен выбор базиса в виде классических ортогональных полиномов. Выбор базисных функций k ( x) в виде степеней x (5.8) не является оптимальным с точки зрения решения системы нормальных урав-
нений с наименьшими погрешностями. Приемлемые результаты в этом
случае можно получить, если набор экспериментальных данных с удовлетворительной погрешностью удается аппроксимировать полиномом
невысокой степени (m  4  5).
Лучшие результаты может дать использование классических ортогональных полиномов Чебышева, Лежандра, Лагерра, Якоби и других в
качестве базисных функций. Свойство ортогональности классических
полиномов заключается в том, что для каждого типа полиномов существует отрезок  x0 , xn  , на котором обращаются в нуль скалярные произведения полиномов разного порядка с весовой функцией  ( x )
xn
  ( x) ( x) ( x)dx  0,
j
x0
k
j  k.
(5.10)
В случае большого количества узлов xi на отрезке  x0 , xn  скалярные
произведения (5.10) будут близки к дискретным скалярным произведениям (5.5), так как интегрирование можно приближенно заменить суммированием. Значит, недиагональные элементы матрицы Грамма станут
иметь небольшую абсолютную величину, что позволит уменьшить погрешность решения системы нормальных уравнений.
Заданный интервал  x0' , xn'  , в котором расположены все узлы аппроксимируемой функции, с помощью линейного преобразования всегда можно привести к отрезку  x0 , xn  , где определены и ортогональные
базисные функции k ( x).
Для наиболее гладкого представления функций (с минимальным
числом и амплитудой выбросов) выбираются полиномы Чебышева Tn ( x),
которые определены и ортогональны в интервале  1,  1 с весовой
функцией (1  x)1/ 2 . Значения полиномов Чебышева определяются по рекуррентной формуле
(5.11)
Tk 1 ( x)  2  x  Tk ( x)  Tk 1 ( x),
T1 ( x)  x.
где T0 ( x)  1,
Нетрудно убедиться, что в каждом из полиномов Tk 1 ( x), определенном по формуле (5.11), при старших степенях x будет присутствовать
коэффициент 2 k . Последнее обстоятельство не всегда удобно при оценках вклада в аппроксимационную функцию  ( x ) (5.2) старших степеней
x по величине коэффициентов ck .
Полиномы Чебышева можно ввести и по другой рекуррентной
формуле
1
Tk*1 ( x)  x  Tk* ( x)  Tk*1 ( x),
4
где
T0* ( x)  1,
(5.12)
T1*  x.
Особенностью такой формы полиномов Чебышева является отсутствие коэффициентов у высших степеней x в каждом из полиномов.
Недостатком полиномов Tk* ( x) считают наличие дробного множителя ¼
в рекуррентной формуле (5.12). Однако это обстоятельство существенно
только при ручных вычислениях.
Полиномы Tk* ( x) ортогональны на отрезке  1, 1 с такой же весовой функцией, что и полиномы Tk ( x).
Единичную весовую функцию на отрезке  1, 1 имеют полиномы
Лежандра, определяемые по рекуррентной формуле
(5.13)
Lk 1 ( x)  (2k  1)  x  Lk ( x)  kLk 1 ( x) /(k  1),
где
L0 ( x)  1,
L1 ( x)  x.
Возможен выбор базиса в виде ортогональных полиномов дискретной переменной. Построим систему базисных функций k ( x) так, чтобы
обращались в нуль скалярные произведения на дискретном множестве
узловых точек (5.5), тогда матрица Грамма (5.4) будет диагональной,
что позволит отказаться от использования процедур численного решения системы нормальных уравнений.
В зависимости от распределения погрешности обрабатываемых
данных можно построить полиномы дискретной переменной, ортогональные с соответствующими дискретными весовыми функциями  ( xi ).
Из классических ортогональных полиномов дискретной переменной известны полиномы Хана, Мейкснера, Кравчука и Шарлье 9.
Рассмотрим алгоритм построения полиномов Чебышева tk ( x) дискретной переменной. Полином нулевой степени выберем единичным
(5.14)
t0 ( x)  1,
а полином первой степени возьмем в виде
t1 ( x)  x  a1 ,
(5.15)
где коэффициент a1 определим из условия ортогональности
(t0 , t1 )  0.
(5.16)
Запишем условие (5.16) в развернутом виде
n
n
n
i 0
i 0
i 0
1( xi  a1 )   xk  a1 1  0,
откуда получим
n
a1   xi /(n  1).
i 0
(5.17)
Полином второй степени также представим в общем виде с неопределенными коэффициентами a21 и a20 :
t2 ( x)  x 2  a21 x  a20 ,
которые найдем из двух условий ортогональности:
(t0 , t2 )  0,
(t1, t2 )  0.
Аналогичным способом запишем ортогональный полином степени
k
tk ( x)  xk  ak ,k 1 xk 1  ...  ak 0 .
Для полиномов Чебышева дискретной переменной установлена
двухслойная рекуррентная формула, по которой можно вычислить полином любой степени через начальные полиномы (5.14) и (5.15),
(5.18)
tk 1 ( x)  ( x  ak 1 )tk ( x)  bk 1tk 1 ( x),
где
n
n
ak 1   xi tk2 ( xi ) /  tk ( xi ),
i 0
i 0
n
bk 1   t ( xi ) /  t
i 0
(5.19)
n
2
k
i 0
2
k 1
( xi ).
Аппроксимирующая функция  ( x ) определяется, как и ранее (5.2),
в виде линейной комбинации базисных функций, в качестве которых
теперь выбраны полиномы Чебышева дискретной переменной tk ( x),
m
 ( x)   ck tk ( x).
(5.20)
k 0
Вследствие диагональности матрицы Грамма коэффициенты ck линейной комбинации (5.20) определяются как частные от деления правых
частей (5.6) системы нормальных уравнений на диагональные элементы
этой матрицы
n
n
i 0
i 0
ck   f ( xi )tk ( xi ) /  tk2 ( xi ).
(5.21)
При увеличении количества базисных функций в сумме (5.20) не
придется пересчитывать коэффициенты ck , определенные с меньшим
значением m .
Применяется и линейный вариант метода наименьших квадратов.
На практике часто оказывается возможным при обработке экспериментальных данных ограничиться построением линейной аппроксимирующей функции
 ( x)  a  bx.
(5.22)
Зная качественное поведение аппроксимируемой зависимости, иногда удается перейти и от нелинейной функции к линейной функции методом выравнивания. Так, например, если исходная зависимость близка
к экспоненциальной, то достаточно прологарифмировать значения заданной функции в узлах f ( xi ), чтобы перейти к линейной зависимости.
Выравнивание данных можно осуществлять на этапе подготовки исходной таблицы.
Для коэффициентов a и b формулы (5.22) из общего алгоритма метода наименьших квадратов получим выражения

n


n
2
b   ( xi  x)( fi  f ) /  ( xi  x) ,
i 1


a  f  b x,
(5.23)
i 1
где

n
x   xi / n,
i 1

n
f   f i / n,
(5.24)
i 1
xi , fi – узлы и значения аппроксимируемой функции в них; n – количе-
ство узлов.
Среднеквадратическое отклонение аппроксимирующей функции
 ( x ) от исходной функции определяется по формуле (5.1).
5.2. Пример 6
Построить эмпирическую формулу по способу наименьших квадратов в предположении линейной зависимости двух величин x и y
(например, температурой и удлинением прямолинейного металлического стержня). Производим n соответствующих измерений и заносим их в
таблицу:
x
y
x1
x2
x3
y1
y2
y3
….
….
xn
yn
Будем рассматривать x и y как прямоугольные координаты точек
на плоскости. Предположим, что точки с соответствующими координатами, взятыми из таблицы, почти лежат на некоторой прямой линии.
Естественно в этом случае считать, что между значениями x и y существует приближенная линейная зависимость, т.е. что y есть линейная
функция от значений x , выражающаяся формулой
y  a  bx,
(5.25)
где a и b – некоторые постоянные коэффициенты, подлежащие определению. Формула (5.25) может быть представлена в виде:
bx  a  y  0.
(5.26)
Так как точки ( x, y) только приблизительно лежат на прямой линии, то
формулы (5.25) и (5.26) приближенные. Следовательно, подставляя в
формулу (5.26) вместо x и y их значения ( x1 , y1 ), ( x2 , y2 ), ..., ( xn , yn ) ,
взятые из предыдущей таблицы, получим равенства
bx1  a  y1  1 ,
bx2  a  y2   2 ,
..........................,
(5.27)
bxn  a  yn   n ,
где 1 ,  2 , ...,  n - некоторые числа, вообще говоря, не равные нулю, которые будем называть погрешностями.
Требуется подобрать коэффициенты a и b таким образом, чтобы
эти погрешности были по возможности малыми по абсолютной величине. Способ наименьших квадратов состоит в следующем: нужно подобрать коэффициенты a и b так, чтобы сумма квадратов погрешностей была, возможно, меньшей, т.е. потребуем, чтобы сумма
u  12   22  ...   n2
(5.28)
была наименьшей. Если эта сумма квадратов окажется малой, то тогда и
сами погрешности будут малыми по абсолютной величине.
Заменяя в выражении (5.28) погрешности их значениями из равенств (5.27) , получим такую величину:
u  (bx1  a  y1 ) 2  (bx2  a  y2 ) 2  ...  (bxn  a  yn ) 2 .
(5.29)
В формуле (5.29) числа ( x1 , y1 ), ( x2 , y2 ) ..., ( xn , yn ) получены в результате измерений, и они рассматриваются как данные; коэффициенты
же a и b – неизвестные величины, подлежащие определению.
Итак, u можно рассматривать как функцию от двух переменных a
и b . Подберем коэффициенты a и b так, чтобы функция u получила бы
возможно меньшее значение. Для этого необходимо, чтобы соблюдались условия
u
 0,
b
u
 0.
a
Беря эти частные производные, и для удобства выкладок снабжая
их коэффициентом ½, будем иметь
1 u
 (bx1  a  y1 ) x1  (bx2  a  y2 ) x2  ...  (bxn  a  yn ) xn ,
2 b
1 u
 (bx1  a  y1 )  (bx2  a  y2 )  ...  (bxn  a  yn ).
2 a
Отсюда, приравнивая эти частные производные нулю, получим линейную систему двух уравнений с двумя неизвестными a и b
(bx1  a  y1 ) x1  (bx2  a  y2 ) x2  ...  (bxn  a  yn ) xn  0,
(bx1  a  y1 )  (bx2  a  y2 )  ...  (bxn  a  yn )  0.
Произведя обычные алгебраические преобразования, представим
эту систему в более простом виде:
b( x12  x22  ...  xn2 )  a( x1  x2  ...  xn )  x1 y1  x2 y2  ...  xn yn ,
b( x1  x2  ...  xn )  a  n  y1  y2  ...  yn ,
или, введя сокращенные обозначения, имеем
n
n
n
i 1
i 1
b xi2  a  xi   xi yi ,
i 1
n
n
i 1
i 1
(5.30)
b xi  a  n   yi .
Это окончательный вид так называемой нормальной системы способа наименьших квадратов. Из этой системы находим a и b , а затем
подставим их в нашу эмпирическую формулу
y  a  bx.
Рассмотрим применение метода наименьших квадратов в предположении линейной зависимости двух величин x и y для результатов измерений
i
xi
yi
xi2
xi yi
i
1
2
3
4
5
-2
0
1
2
4
5
0.5
1
1.5
2
3
8.0
4
0
1
4
16
25
-1.0
0
1.5
4
12
16.5
-0.175
0.175
0.1
0.025
-0.125
0

Нормальная система (5.30) имеет вид
25  b  5  a  16,5
5  b  5  a  8.
Решая эти уравнения, получим b  0.425 и a  1.175. Подставляем их
в уравнение y  bx  a
y  0.425  x  1.175.
В последнем столбце таблицы даны погрешности.
5.2. Пример 7
Используя метод наименьших квадратов, вывести эмпирическую
формулу для табличной функции f ( x) , полагая, что функция  ( x ) является полиномом n – ой степени
 ( x)  a0  a1 x  a2 x 2  ...  an x n .
Составим сумму квадратов отклонений  ( x ) от f ( x)
2
m
m
i 1
i 1
u    i2    f ( xi )  (a0  a1 xi  a2 xi2  ...  an xin )  .
Математически условия минимума суммы квадратов отклонений u
запишем, приравнивая нулю частные производные по коэффициентам
m
u
 2  f ( xi )  ( a0  a1 xi  a2 xi2  ...  an xin )   0;
a0
i 1
m
u
 2  f ( xi )  ( a0  a1 xi  a2 xi2  ...  an xin )   (  xi )  0;
a1
i 1
.............................................................................................;
m
u
 2  f ( xi )  (a0  a1 xi  a2 xi2  ...  an xin )   ( xin )  0.
an
i 1
В результате получаем уравнения
m
m
m
m
m  a0  a1  xi  a2  xi2  ...  an  xin   f ( xi );
i 1
i 1
i 1
i 1
m
m
m
m
m
i 1
i 1
i 1
i 1
i 1
m
m
m
m
m
i 1
i 1
i 1
i 1
i 1
a0  xi  a1  xi2  a2  xi3  ...  an  xin 1   xi f ( xi );
a0  xi2  a1  xi3  a2  xi4  ...  an  xin  2   xi2 f ( xi );
..........................................................................................
Из
уравнений можно определить значения
a0 , a1 , a2 , ..., an и далее пользоваться полиномом
 ( x)  a0  a1 x  a2 x 2  a3 x 3  ...  an x n .
коэффициентов
Рассмотрим применение метода наименьших квадратов для результатов измерений двух величин x и y
7
83.7
x
y
12
72.9
17
63.2
22
54.7
27
47.5
32
41.4
37
36.3
Полагаем y  ax 2  bx  cx0 .
Для вычисления коэффициентов нормальной системы составляем
таблицу
i
x0
x
x2
1
2
3
4
5
6
7
1
1
1
1
1
1
1
7
7
12
17
22
27
32
37
154
49
144
289
484
729
1024
1369
4088

x3
x4
xy
x2 y
585.9
874.8
1074.4
1203.4
1282.5
1324.8
1343.1
7688.9
4101.3
10497.6
18264.8
26474.8
34627.5
42393.6
49694.7
186054.3
y
343
2401
83.7
1728
20736
72.9
4913
83521
63.2
10648 234256 54.7
19683 531441 47.5
32768 1048576 41.4
50653 1874161 36.3
120736 3795092 399.7
Составляем систему нормальных уравнений
4088a  154b  7c  399.7;
120736a  4088b  154c  7688.9;
.
3795092a  120736b  4088c  186054.3
Решив эту систему, получим a  0.023381; b  2.6066; c  100.791.
Искомая эмпирическая формула запишется
y  0.023381x 2  2.6066 x  100.791.
Оценка точности эмпирической формулы (5.31)
i
y
1
2
3
4
5
6
7
83.7
72.9
63.2
54.7
47.5
41.4
36.3
y
  y y
83.69
72.88
63.24
54.76
47.46
41.32
36.36
+0.01
+0.02
–0.04
–0.06
+0.04
+0.08
–0.06
(5.31)
Сумма квадратов отклонений между значениями функции, определяемыми выбранной кривой и экспериментальными данными определяется
7

i 1
2
i
 0.0173.
6. Численные методы вычисления определенного интеграла
Существует множество методов приближенного вычисления одномерных интегралов. Сначала строятся простейшие формулы для приближенного вычисления интегралов по отрезку [10]. Такие формулы
называются квадратурными. В многомерном случае (когда размерность
интеграла больше единицы) формулы для приближенного вычисления
интеграла называют кубатурными. Повышение точности вычисления
интегралов осуществляется за счет повышения порядка точности квадратур, за счет разбиения отрезка на части, за счет сведения интегралов
от функций с «особенностями» к интегралам от более гладких функций.
Задача численного интегрирования функции заключается в вычислении
значения определенного интеграла на основании ряда значений подынтегральной функции.
Ставится задача вычислить интеграл вида
b
J   f ( x )dx,
(6.1)
a
где a и b – нижний и верхний пределы интегрирования;
f ( x) – непрерывная функция на отрезке  a, b.
К численному интегрированию обращаются, когда нельзя через
элементарные функции аналитически записать первообразную интеграла (6.1) или когда подобная запись имеет сложный вид.
Сущность большинства методов вычисления определенных интегралов состоит в замене подынтегральной функции f ( x) аппроксимирующей функцией  ( x ) , для которой можно легко записать первообразную в элементарных функциях
b

a
b
f ( x)dx    ( x)dx  R  S  R,
(6.2)
a
где S – приближенное значение интеграла; R – погрешность вычисления интеграла.
Используемые на практике методы численного интегрирования
можно сгруппировать в зависимости от способа аппроксимации подынтегральной функции.
Дадим краткую характеристику групп наиболее распространенных
методов. Методы Ньютона-Котеса основаны на полиномиальной аппроксимации подынтегральной функции. Методы этого класса отличаются друг от друга степенью используемого полинома, от которой зависит количество узлов, где необходимо вычислить функцию f ( x) . Алгоритмы методов просты и легко поддаются программной реализации.
Сплайновые методы базируются на аппроксимации подынтегральной функции сплайнами, представляющие собой кусочный полином.
Методы различаются по типу выбранных сплайнов. Такие методы имеет
смысл использовать в задачах, где алгоритмы сплайновой аппроксимации применяются для обработки данных.
В методах наивысшей алгебраической точности (методы ГауссаКристоффеля и другие) используют неравноотстоящие узлы, расположенные по алгоритму, обеспечивающему минимальную погрешность
интегрирования для наиболее сложных функций при заданном количестве узлов.
Методы различаются способами выбора узлов и широко используются для интегрирования, в том числе они применимы и для несобственных интегралов. Хотя из-за необходимости хранения числовых
констант и стандартизации пределов интегрирования программы указанных методов требуют несколько большего объема памяти по сравнению с методами Ньютона-Котеса.
В методах Монте-Карло узлы выбираются с помощью датчика случайных чисел, ответ носит вероятностный характер. Методы оказываются эффективными при вычислении интегралов большой кратности.
В класс специальных группируются методы, алгоритмы которых
разрабатываются на основе учета особенностей конкретных подынтегральных функций, что позволяет существенно сократить время и
уменьшить погрешность вычисления интегралов.
Независимо от выбранного метода в процессе численного интегрирования необходимо вычислить приближенное значение S интеграла
(6.1) и оценить погрешность R (6.2). Погрешность будет уменьшаться
при увеличении количества разбиений N интервала интегрирования
 a, b за счет более точной аппроксимации подынтегральной функции,
однако при этом будет возрастать погрешность за счет суммирования
частичных интегралов, и последняя погрешность с некоторого значения
N 0 становится преобладающей. Это обстоятельство должно предостеречь от выбора чрезмерно большого числа N и привести к необходимости разработки способа оценки погрешности R выбранного метода интегрирования.
6.1. Методы прямоугольников
Рассмотрим простейшие методы из класса методов НьютонаКотеса, когда подынтегральную функцию f ( x) на интервале интегрирования заменяем полиномом нулевой степени, т.е. константой. Подобная
замена является неоднозначной, так как константу можно выбрать равной значению подынтегральной функции в любой точке в интервале интегрирования. Приближенное значение интеграла определится как площадь прямоугольника, одна из сторон которого есть длина отрезка интегрирования, а другая – аппроксимирующая константа. Отсюда происходит и название методов. Из методов прямоугольников наименьшую
погрешность имеет метод средних прямоугольников, когда константу

берем равной значению f ( x) в средней точке x i интервала интегрирования  xi 1 , xi  (рис. 6.1).
Методы левых (рис. 6.2) и правых прямоугольников (рис. 6.3), заменяющих интеграл нижней и верхней суммами Дарбу, имеют сравнительно высокую погрешность. Запишем выражение для интеграла на
интервале  xi , xi  h , полученное методом средних прямоугольников,
Рис. 6.1. Метод средних прямоугольников
xi  h


f ( x)dx  hf ( x)  R,
(6.3)
xi

где x  xi  h / 2, R  J точн  J прибл , и оценим погрешность R . Для этого разложим подынтегральную функцию f ( x) в ряд Тейлора около средней

точки x

( x  x)2 '' 
f ( x)  f ( x)  ( x  x) f ' ( x) 
f ( x)  ...,
2!


(6.4)
в малой окрестности точки x этот ряд с высокой точностью представляет функцию f ( x) при небольшом количестве членов разложения. Поэтому, подставляя под интеграл вместо функции f ( x) ее тейлоровское
разложение (6.4) и интегрируя его почленно, можно вычислить интеграл
с любой наперед заданной точностью
J точн

( x  x) 2
 hf ( x) 
2

xi  h
xi

( x  x) 3
f ( x) 
23
'

xi  h
xi


f '' ( x)  ...  hf ( x) 
h3 '' 
f ( x)  ...
24
Рис. 6.2. Метод левых прямоугольников
Рис. 6.3 Метод правых прямоугольников
(6.5)
При интегрировании и подстановке пределов получаем, что все

интегралы от членов ряда (6.4), содержащих нечетные степени ( x  x) ,
обращаются в нуль.
Сравнивая соотношения (6.3) и (6.5), можно записать выражение
для погрешности R . При малой величине шага интегрирования h основной вклад в погрешность R будет вносить первое слагаемое, которое
называется главным членом погрешности R0i вычисления интеграла на
интервале  xi , xi  h
h3 '' 
R0i 
f ( xi ).
24
(6.6)
Главный член полной погрешности для интеграла на всем интервале  x0 , xn  определится путем суммирования погрешностей на каждом
частичном интервале  xi , xi  h
x

h2 n
h 2 n ''
R0   R0i   hf '' ( xi ) 
f ( x)dx.
24 i 1
24 x0
i 1
n
(6.7)
К последнему интегралу перешли, используя метод средних прямоугольников для функции f '' ( x).
Формула (6.7) представляет собой теоретическую оценку погрешности вычисления интеграла методом средних прямоугольников, эта
оценка является априорной, так как не требует знания значения вычисляемого интеграла. Оценка (6.7) не удобна для практического вычисления погрешности, но полезна для установления структуры главного
члена погрешности. Степень шага h , которой пропорциональна величина R0 , называется порядком метода интегрирования. Метод средних
прямоугольников имеет второй порядок.
Аналогично проведем априорную оценку метода левых прямоугольников. Разложим подынтегральную функцию в ряд Тейлора около
точки x  xi
f ( x)  f ( xi )  ( x  xi ) f ' ( xi )  ...
(6.8)
Интегрируя разложение (6.8) почленно на интервале  xi , xi  h , получим
J точн  f ( xi )h 
( x  xi )2
2
xi  h
xi
f ' ( xi )  ...  f ( xi )h 
h2 '
f ( xi )  ...,
2
где первое слагаемое есть приближенное значение интеграла, вычисленное по методу левых прямоугольников, второе слагаемое является
главным членом погрешности
h2 '
R0i 
f ( xi ).
2
(6.9)
На интервале  x0 , xn  главный член погрешности интегрирования
получим суммированием частных погрешностей (6.9)
x
h n
R0   f ' ( x)dx.
2 x0
(6.10)
Метод левых прямоугольников имеет первый порядок, погрешность у него будет больше по сравнению с методом средних прямоугольников и за счет интеграла от производной f ' ( x) , и коэффициента в
знаменателе (6.10). Обычно для большинства функций выполняется неравенство
xn
f
x0
'
( x)dx 
xn
f
''
( x)dx .
(6.11)
x0
Однако если подынтегральная функция f ( x) определяется из эксперимента в дискретном наборе узлов, то метод средних прямоугольников применить нельзя из-за отсутствия значений f ( x) в средних точках
xi . В этом случае для интегрирования используются другие методы
Ньютона-Котеса.
6.2. Апостериорные оценки погрешностей по Рунге и Эйткену
Априорные оценки погрешностей (6.7) и (6.10) можно записать в
виде
R0  Ah p ,
(6.12)
где A – коэффициент, зависящий от метода интегрирования и вида
подынтегральной функции; h – шаг интегрирования; p – порядок метода. Зависимости (6.12) подчиняется главный член погрешности большинства методов численного интегрирования. При численном дифференцировании погрешность тоже может быть оценена с помощью формулы (6.12), при этом порядок p зависит от количества узловых точек.
Пусть вычисляется значение некоторой переменной w с шагом h,
тогда
w  wh  Ah p  0(h p 1 ),
(613)
где wh – приближенное значение w; Ah p – главный член погрешности;
0(h p 1 ) – бесконечно малая величина порядка h p 1.
Вычислим ту же самую переменную w с шагом kh
w  wkh  A(kh) p  0(( kh) p 1 ),
(6.14)
где коэффициент пропорциональности k может быть как больше, так и
меньше единицы. Коэффициент A в выражениях (6.13) и (6.14) будет
одинаковым, так как вычисляется одна и та же переменная, одним и тем
же методом, а от величины шага h значение A не зависит.
Пренебрегая бесконечно малыми величинами, приравняем правые
части соотношений (6.13) и (6.14) с учетом формулы (6.12) и получим
wh  R0  wkh  k p R0 ,
откуда найдем главный член погрешности
R0 
wh  wkh
.
k p 1
(6.15)
Формула (6.15) называется первой формулой Рунге и позволяет путем двойного просчета величины w с шагами h и kh оценить погрешность. Так как оценка осуществляется после вычисления, то она является апостериорной. Формула (6.15) имеет большое практическое значение, так как позволяет провести оценку погрешности без изменения алгоритма используемого вычислительного процесса. При уменьшении
шага h главный член погрешности R0 будет стремиться к полной погрешности R.
После определения R0 можно вычислить уточненное значение искомой величины
wуточн  wh  R0 ,
(6.16)
последнее соотношение называют второй формулой Рунге. К сожалению, погрешность уточненного значения остается неопределенной, хотя, как правило, она меньше значения R0 .
Формулы Рунге справедливы для всех вычислительных процессов,
для которых выполняется степенной закон (6.12). Для определения порядка метода p необходимо проведение априорной оценки погрешности, что не всегда легко осуществить.
Английский математик Эйткен предложил способ оценки погрешности для случая, когда порядок p метода неизвестен. Более того, алгоритм Эйткена позволяет опытным путем определить и порядок метода.
Для этого необходимо третий раз вычислить значение величины w с
шагом k 2 h
w  wk 2h  A(k 2h) p
или
w  wk 2h  k 2 p R0 .
(6.17)
Приравнивая правые части выражений (6.14) и (6.17), получим соотношение
wkh  wk 2h  R0k p (k p 1),
подставляя в которое значение R0 из первой формулы Рунге (6.15),
найдем
kp 
wkh  wk 2h
wh  wkh
.
(6.18)
Полученное соотношение (6.18) совместно с первой формулой Рунге (6.15) позволяет оценить погрешность при использовании вычислительного метода с неизвестным порядком p. Более того, порядок p
можно определить, логарифмируя левую и правую части формулы
(6.18),
p  ln(
wkh  wk 2h
wh  wkh
) / ln k.
(6.19)
Для выбранного вычислительного процесса алгоритм Эйткена достаточно применить только один раз для определения порядка метода, а
затем использовать формулу Рунге, требующую только двукратного
вычисления искомой величины. Формулу (6.19) можно использовать
для тестирования программ, реализующих вычислительные методы с
известной априорной погрешностью. Априорный и апостериорный порядки должны получаться совпадающими для правильных программ.
Конечно, это совпадение будет приближенным, так как при получении
алгоритмов Рунге и Эйткена учитывались только главные члены погрешности.
6.3. Метод трапеций
Подынтегральную функцию заменим на участке  xi , xi  h полиномом первой степени P1 ( x). Как и в методах прямоугольников, такая аппроксимация неоднозначна. Одним из возможных способов является
проведение прямой через значения функции на границах интервала интегрирования (рис. 6.4). В этом случае приближенное значение интеграла определяется площадью трапеции
xi  h

f ( x)dx  h  f ( xi )  f ( xi  h)  / 2  R.
(6.20)
xi
Априорную погрешность R метода трапеций получим путем интегрирования тейлоровского разложения подынтегральной функции около
точки xi
f ( x)  f ( xi )  ( x  xi ) f ' ( xi ) 
( x  xi )2 ''
f ( xi )  ...,
2
(6.21)
и интеграл
xi  h

xi
f ( x)dx  hf ( xi ) 
h2 '
h3 ''
f ( xi ) 
f ( xi )  ...
2
23
(6.22)
С помощью разложения (6.21) вычислим подынтегральную функцию в точке xi  h
f ( xi  h)  f ( xi )  hf ' ( xi ) 
h2 ''
f ( xi )  ...,
2
откуда
hf ' ( xi )  f ( xi  h)  f ( xi ) 
h2 ''
f ( xi )  ...
2
(6.23)
Подставляя произведение (6.23) в выражение (6.22), получим
xi  h

f ( x)dx  h  f ( xi )  f ( xi  h)  / 2  h3 f '' ( xi ) /12  ...
xi
Следовательно, главный член погрешности метода трапеций на одном
интервале будет
R0i  h3 f '' ( xi ) /12.
(6.24)
Если интегрирование проводится путем разбиения отрезка  x0 , xn 
на несколько интервалов, то общую площадь получим суммированием
частных погрешностей (6.24)
x
h2 n ''
R0    f ( x)dx.
12 x0
(6.25)
Рис. 6.4. Метод трапеций
Получили, на первый взгляд, неожиданный результат, что метод
трапеций имеет погрешность в два раза больше по абсолютной величине по сравнению с методом средних прямоугольников, хотя аппроксимация подынтегральной функции проводилась полиномом первой, а
не нулевой степени. По-видимому, выбранный вариант аппроксимации
подынтегральной функции прямой, проходящей через ее значения на
границах, не является оптимальным. Задача выбора способа аппроксимации полиномом заданной степени с наименьшей возможной погрешностью была решена Гауссом, что привело к развитию целого класса
методов.
Как видно из выражения (6.25), метод трапеций, как и метод средних прямоугольников, имеет второй порядок. Если подынтегральная
функция задана аналитически, то предпочтительнее из методов второго
порядка применять метод средних прямоугольников вследствие его
меньшей погрешности.
6.4. Метод Симпсона
Подынтегральную функцию f ( x) заменим интерполяционным полиномом второй степени P2 ( x) – параболой, проходящей через узлы
x0 , x1 , x2 (рис. 6.5)
x2

x2
f ( x)dx   P2 ( x)dx  R,
x0
x0
где R – погрешность вычисления интеграла.
Рис. 6.5. Метод Симпсона
Для записи полинома P2 ( x) воспользуемся интерполяционной формулой Ньютона для трех узлов
P2 ( x)  f0  f01 ( x  x0 )  f 012 ( x  x0 )( x  x1 ),
(6.26)
где
f 01 
f 0  f1 f1  f 0

,
x0  x1
h
f 012 
f0  2 f1  f 2
–
2h 2
разделенные разности; h – расстояние между узлами.
Введем новую переменную z  x  x0 , тогда x  z  x0 и полином
(6.26) принимает вид
P2 ( z )  f 0  ( f 01  f 012 h) z  f 012 z 2 .
(6.27)
Теперь вычислим интеграл от полинома (6.27)
x2
 P2 ( x)dx 
x0
2h
 P ( z )dz  ( f
2
0
 4 f1  f 2 )h / 3.
(6.28)
0
Последнее соотношение называют квадратурной формулой Симпсона,
или формулой парабол.
Формулу Симпсона можно получить и с помощью первой и второй
формул Рунге, примененных к вычислению интеграла методом трапеций. Запишем два приближенных значения интеграла от функции f ( x)
на интервале  x0 , x2  с шагом h и 2h по формуле трапеций (6.20).
J h  ( f 0  f1 )h / 2  ( f1  f 2 )h / 2  ( f 0  2 f1  f 2 )h / 2,
J 2 h  ( f 0  f 2 )h.
(6.29)
Интегралы (6.29) подставим в формулы (6.15) и (6.16) и получим
уточненное значение интеграла
J уточн  (4 J h  J 2h ) / 3  ( f 0  4 f1  f 2 )h / 3,
которое совпадает с формулой Симпсона (6.28).
Для оценки погрешности формулы Симпсона разложим подынтегральную функцию f ( x) в ряд Тейлора около точки x1 и проинтегрируем разложение почленно в интервале  x0 , x2 
x2

x0
h3 ''
h5
f ( x)dx  2hf1 
f ( x1 ) 
f IV ( x1 )  0(h 7 ).
3
3 4 5
(6.30)
Суммируя разложения около точки x1 для функции f ( x) в узлах x0 и x2 ,
получим, что
h2 f '' ( x1 )  f 0  2 f1  f 2 
h4 IV
f ( x1 ),
3 4
тогда интеграл (5.30) примет вид
x2

x0
f ( x)dx  ( f 0  4 f1  f 2 ) h / 3 
2h5 IV
f ( x1 )  ...
180
(6.31)
Первое слагаемое в правой части формулы (6.31) совпадает с формулой
Симпсона, значит, второе слагаемое является главным членом погрешности для интеграла на интервале  x0 , x2 
2h5 IV
R0i  
f ( x1 ).
180
(6.32)
Если интеграл вычисляется на интервале  x0 , xn  путем разбиения
его на четное число подынтегралов  xi 1 , xi  , на каждой паре которых
применяется формула Симпсона для узлов xi 1 , xi , xi 1 , то полная погрешность будет суммой правых частей соотношения (6.32). При малой величине шага h на основании метода средних прямоугольников получим
xn
n
 2hf
i 0
IV
( x2i 1 )
f
IV
( x)dx,
x0
тогда полная погрешность запишется в виде
x
h 4 n IV
R0  
f ( x)dx.
180 x0
(6.33)
Формула Симпсона имеет четвертый порядок точности с очень малым численным коэффициентом в остаточном члене. Формула Симпсона позволяет получить высокую точность, если четвертая производная
подынтегральной функции не слишком велика. В противном случае методы второго порядка могут дать большую точность, чем метод Симпсона.
6.5. Вычисление интегралов с заданной точностью
Программная реализация формул Рунге или Эйткена позволяет
вычислить определенные интегралы с заданной точностью, когда выбор
необходимого числа разбиений интервала интегрирования осуществляется автоматически. При этом, конечно, можно использовать многократное обращение к подпрограммам соответствующих методов интегрирования, не изменяя алгоритмов самих методов. Однако для методов, использующих равноотстоящие узлы, удается модифицировать алгоритмы и уменьшить вдвое количество вычислений подынтегральной
функции за счет использования интегральных сумм, накопленных при
предыдущих кратных разбиениях интервала интегрирования.
Так, два приближенных значения S k и Sk 1 интеграла
xn
 f ( x)dx,
(6.34)
x0
вычисляемые по методу трапеций с шагами hk и hk 1 , связаны соотношением
2k 1
Sk  Sk 1 / 2  hk  f ( x0  (2i  1)hk ),
i 1
(6.35)
где
hk  hk 1 / 2  2 k h0 .
Формула (6.35) получена методом математической индукции. Если
выбрать начальный шаг интегрирования h0  xn  x0 , то приближенное
значение интеграла (6.34) по методу трапеций запишется в виде
(6.36)
S0  ( f0  f n )h0 / 2,
где
fi  f ( xi ).
При уменьшении шага h0 вдвое получим приближенное значение того
же интеграла
(6.37)
S1  ( f0  2 f n / 2  f n )h1 / 2,
где
h1  h0 / 2.
Сравнение формул (6.36) и (6.37) позволяет записать соотношение
между значениями S 0 и S1
S1  S0 / 2  f n / 2 h1 ,
которое позволяет получать приближенное значение интеграла S1 с шагом h1 , вычислив подынтегральную функцию только в одном дополнительном узле xn / 2 . Продолжая процесс уменьшения шага интегрирования вдвое, приходим к формуле (6.35), по которой каждое новое приближенное значение интеграла (6.34) получаем, вычислив дополнительно подынтегральную функцию только в 2k 1 узле. Обращение же к подпрограмме метода трапеций потребовало бы вычисления функции в
(2k  1) узле.
Аналогичным способом получены соотношения между двумя приближенными значениями S k и Sk 1 интеграла (6.34), вычисляемые по методу Симпсона с шагами hk и hk 1
(6.38)
Sk  Sk 1  2Sk 2 ,
где
Sk1  ( Sk 1,1  Sk 1,2 ) / 2,
hk  hk 1 / 2,
2k 1
Sk 2  2 f ( x0  hk  ihk 1 ),
h1  ( xn  x0 ) / 2,
i 1
S11  ( f 0  f1 )h0 / 3.
6.6. Методы наивысшей алгебраической точности
Подынтегральную функцию f ( x) так же, как и в методах НьютонаКотеса, будем аппроксимировать полиномами различных степеней. Однако в отличие от методов Ньютона-Котеса узлы для построения интер-
поляционного полинома выберем из условия обеспечения минимальной
погрешности интегрирования. Впервые задача построения квадратурных формул подобного типа была решена Гауссом для интегралов вида
b
 f ( x)dx,
(6.39)
a
а для интегралов
b
J1    ( x) f ( x)dx
(6.40)
a
с произвольной весовой функцией  ( x ) – Кристоффелем.
Для того чтобы узлы квадратурных формул не зависели от пределов интегрирования, линейным преобразованием переменной x осуществляется переход к стандартным пределам интегрирования  1,1 ,
x
ba
ab
t
,
2
2
dx 
ba
dt ,
2
(6.41)
где t – новая переменная.
Тогда интеграл (6.39) принимает вид
ba
ba
ab
ba
J
f(
t
)dt 
 (t )dt.

2 1
2
2
2 1
1
1
(6.42)
Квадратурная формула Гаусса-Кристоффеля для интегралов типа
(6.40) при n узлах содержит 2n параметров
n
J1   ck f ( xk )  R,
(6.43)
n 1
где ck – весовые коэффициенты; xk – узлы; R – погрешность квадратуры. Полином степени 2n 1 также имеет 2n коэффициентов. Следовательно, можно так подобрать параметры ck и xk , чтобы формула (6.43)
была точной, т.е. R  0, для любого полинома степени не выше 2n 1.
При n  1 квадратура (6.43) будет точной для полиномов нулевой и
первой степени. Этому требованию удовлетворяет метод средних прямоугольников, который и является простейшим из методов ГауссаКристоффеля для весовой функции  ( x)  1.
В случае двух узловых точек (n  2) квадратура будет точной для
полиномов не выше третьей степени (2n  1  3). Пусть подынтегральная
функция интеграла (6.42) представима полиномом с коэффициентами ak
 (t )  a0  a1t  a2t 2  a3t 3 ,
(6.44)
тогда интеграл от полинома принимает значение
1
  (t )dt  2(a
0
1
 a2 / 3).
(6.45)
Рис. 6.6. Метод Гаусса при n=2
Интерполяционный полином Ньютона, совпадающий в узлах t0 и t1
со значениями подынтегральной функции  0 и 1 , будет иметь первую
степень (рис. 6.6).
(6.46)
P1 (t )  0  01 (t  t0 ),
где
01 
0  1
t0  t1
.
Возьмем интеграл от полинома (6.46) и подставим в результат значения функции (6.44) в узлах t0 и t1
1
 P (t )  2(
1
0
 01t0 )  2(a0  a2t0t1  a3t0t1 (t0  t1 )).
(6.47)
1
Сравнивая правые части выражений (6.45) и (6.47), получим систему двух уравнений относительно узлов t0 и t1
t0t1  1/ 3,
t0  t1  0,
откуда получим
t0  1/ 3,
t1  1/ 3.
(6.48)
При таких узлах формула (6.43) с учетом соотношения (6.47) принимает
вид
J
ba
( (t0 )   (t1 )),
2
где
 (t )  f (
(6.49)
ba
ab
t
).
2
2
Узлы t0 и t1 являются корнями полиномов Лежандра второй степени.
Весовые коэффициенты ck равны единице.
С увеличением числа узлов их значениями остаются корни полиномов Лежандра степени n , а весовые коэффициенты ck определяются
через узлы
1
ck 
n
  ( x  x )( x
1 i 1,i  k
i
k
 xi )dx.
Обычно в вычислительной практике весовые коэффициенты и узлы
задаются в виде констант из справочных таблиц.
Верхняя граница погрешности квадратурной формулы Гаусса оценивается выражением
max R
b  a b  a 2n max (2 n)
(
)
f ( x) ,
2.5 n 3n
 a, b
(6.50)
которое позволяет сделать вывод об эффективности метода для интегрирования функций высокой гладкости.
6.7. Методы Монте-Карло
Вычисление кратных интегралов можно осуществить повторным
применением ранее рассмотренных алгоритмов. Однако с повышением
кратности интегралов резко возрастает объем вычислительной работы.
Методы статистических испытаний (методы Монте-Карло) свободны от
этого недостатка, хотя и обеспечивают сравнительно невысокую точность. Рассмотрим два варианта метода Монте-Карло для вычисления
интегралов.
Рис. 6.7. Метод Монте-Карло (вариант 1)
Первый способ можно интерпретировать как статистический вариант метода прямоугольников (рис. 6.7), когда в качестве узла x0 берется
случайное число, равномерно распределенное на интервале интегрирования  a, b. Вследствие случайности узла x0 погрешность интеграла
также будет носить случайный характер. Проведя N вычислений со
случайными узлами xi , усредним результат, который и примем за приближенное значение интеграла,
ba N
 f ( xi ).
N i 1
b

f ( x)dx
a
(6.51)
Погрешность интеграла будет уменьшаться с ростом числа испытаний
N по закону  N 1/ 2 .
Формула (6.51) обращается на кратные интегралы
V
 C ... f ( x1, x2 ,..., xk )dv  NC
N
 f (x
i 1
1i
,..., xki ),
где VC – k -мерный объем области интегрирования. Число узлов, в которых придется вычислить подынтегральную функцию, будет пропорционально  2 независимо от кратности интеграла.
Рис. 6.8. Метод Монте-Карло (вариант 2)
Во втором варианте метода Монте-Карло интеграл приводится к
виду
1
 f ( x)dx,
0
где 0  f ( x)  1 на интервале 0,1. Тогда две случайные величины xi и fi
можно рассматривать как координаты точек в единичном квадрате (рис.
6.8). При равномерном распределении точек в квадрате за приближенное значение интеграла принимается отношение количества точек S ,
попавших под кривую f ( x), к общему числу испытаний N
J  S / N.
Этот алгоритм также обращается на кратные интегралы.
7. Решение обыкновенных дифференциальных уравнений
Чтобы решить обыкновенное дифференциальное уравнение, необходимо знать значения зависимой переменной и (или) ее производных
при некоторых значениях независимой переменной. Если эти дополнительные условия задаются при одном значении независимой переменной, то такая задача называется задачей с начальными условиями, или
задачей Коши. Если же условия задаются при двух или более значениях
независимой переменной, то задача называется краевой. В задаче Коши
дополнительные условия называют начальными, а в краевой задаче –
граничными. Часто в задаче Коши в роли независимой переменной выступает время. В краевых задачах в качестве независимой переменной
часто выступает длина.
Третий тип задач для обыкновенных дифференциальных уравнений
– это задачи на собственные значения. Такие задачи отличаются тем,
что кроме искомых функций y ( x) и их производных в уравнения входят
дополнительно m неизвестных параметров 1 , 2 ,..., m , которые называются собственными значениями. Для единственности решения на интервале  x0 , xk  необходимо задать n  m граничных условий.
Сформулируем задачу Коши. Пусть дано дифференциальное уравнение
dy
 f ( x, y )
dx
и начальное условие y( x0 )  y0 . Требуется найти функцию y( x), удовле-
творяющую как указанному уравнению, так и начальному условию.
Обычно численное решение этой задачи получают, вычисляя сначала
значение производной, а затем, задавая малое приращение x и переходя
к новой точке x1  x0  h. Положение новой точки определяется по наклону кривой, вычисленному с помощью дифференциального уравнения.
Таким образом график численного решения представляет собой последовательность коротких прямолинейных отрезков, которыми аппроксимируется истинная кривая y  f ( x). Сам численный метод определяет
порядок действий при переходе от данной точки кривой к следующей.
Выделяют две основные группы методов решения задачи Коши:
1. Одношаговые методы, в которых для нахождения следующей
точки на кривой y  f ( x) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются метод Эйлера и методы РунгеКутта.
2. Методы прогноза и коррекции (многошаговые), в которых для
отыскания следующей точки кривой требуется информация более чем
об одной из предыдущих точек. Чтобы получить достаточно точное
численное значение, часто прибегают к итерации. К числу таких методов относятся методы Милна, Адамса-Башфорта и Хемминга.
7.1. Погрешности
Выделяют три основных источника погрешностей, связанных с
численной аппроксимацией:
1. Погрешность округления обусловлена ограничениями на представление чисел в используемой ЭВМ, так как для любой из них число
значащих цифр, запоминаемых и используемых в вычислениях, ограничено.
2. Погрешность усечения связана с тем, что для аппроксимации
функции вместо бесконечных рядов часто используется лишь несколько
первых их членов. Это обычный для численных методов прием, являющийся источником погрешностей, целиком обусловленных применяемым методом и не зависящих от характеристик самой ЭВМ.
3. Погрешность распространения является результатом накопления погрешностей, появившихся на предыдущих этапах счета. Так как
ни один приближенный метод не может дать совершенно точных результатов, то любая возникшая в ходе вычислений погрешность сохраняется и на последующих стадиях счета. Эти три источника погрешностей являются причиной наблюдаемых ошибок двух типов:
а) локальная ошибка – сумма погрешностей, вносимых в вычислительный процесс на каждом шаге вычислений:
б) глобальная ошибка – разность между вычисленным и точным
значением величины на каждом этапе реализации численного алгоритма, определяющая суммарную погрешность, накопившуюся с момента
начала вычислений.
7.2. Метод Эйлера
В дифференциальное уравнение n –го порядка в качестве неизвестных величин входят функция f ( x) и ее первые n производных по аргументу x
(7.1)
 ( x, y, y ' ,..., y ( n) )  0.
Из теории обыкновенных дифференциальных уравнений известно,
что уравнение (7.1) эквивалентно системе n уравнений первого порядка
k ( x, y1 , y1' , y2 , y2' ,..., yn , yn' )  0,
(7.2)
где k  1,..., n.
Уравнение (7.1) и эквивалентная ему система (7.2) имеют бесконечное множество решений. Единственные решения выделяют с помощью дополнительных условий, которым должны удовлетворять искомые решения.
Систему (7.2) часто удается представить в каноническом виде, в так
называемой форме Коши
dyk
 f k ( x, y1 , y2 ,..., yn ),
dx
(7.3)
где k  1, 2,..., n .
При формулировке задачи Коши система (7.3) дополняется начальными условиями. Рассмотрим задачу Коши для одного уравнения типа
(7.3)
dy ( x)
 f ( x, y ),
y ( x0 )  y0 .
(7.4)
dx
В окрестности точки x0 функцию y ( x) разложим в ряд Тейлора
( x  x0 )2 ''
y ( x)  y( x0 )  ( x  x0 ) y ( x0 ) 
y ( x0 )  ...
2
'
(7.5)
который можно применить для приближенного определения искомой
функции y( x). В точке x0  h при малых значениях h можно ограничиться двумя членами ряда (7.5)
y ( x0  h)  y0  hy ' ( x0 )  0(h 2 ),
(7.6)
2
2
где 0(h ) – бесконечно малая величина порядка h . Заменим производную y ' ( x0 ), входящую в формулу (7.6), на правую часть уравнения (7.4)
(7.7)
y( x0  h) y0  hf ( x0 , y0 ).
Теперь приближенное решение в точке x1  x0  h можно вновь рассматривать как начальное условие и по формуле (7.7) найти значение искомой функции в следующей точке x2  x1  h. В результате получен простейший алгоритм решения задачи Коши, который называется методом
Эйлера, или методом ломаных. Последнее название связано с геометрической интерпретацией процесса (рис. 7.1); искомую функцию y ( x) заменяем ломаной линией, представляющей собой отрезки касательных к
этой функции в узлах x0 , x1 ,... .
Формула (7.7) может быть получена из других соображений. Заменим производную в левой части уравнения (7.4) приближенным конечно-разностным отношением
y ( x0  h)  y ( x0 )
h
f ( x0 , y0 ).
Нетрудно видеть эквивалентность последнего выражения с алгоритмом Эйлера (7.7).
Рис. 7.1. Метод Эйлера
На каждом шаге метода Эйлера решение y ( x) определяется с погрешностью за счет отбрасывания членов ряда Тейлора, пропорциональных h в степени выше первой. Это означает, что метод Эйлера
имеет второй порядок локальной погрешности. Глобальная погрешность имеет первый порядок. При постоянном шаге h для оценки глобальной погрешности применима первая формула Рунге (6.15)
R0 
yh  ykh ( x)
,
k p 1
(7.8)
где yh ( x) – приближенное решение дифференциального уравнения в
точке x, полученное с шагом h; ykh ( x) – приближенное решение того же
уравнения с шагом kh; p – порядок метода.
Формула (7.8) позволяет опытным путем определить шаг h, обеспечивающий требуемую точность решения y( x). Так же, как и при вычислении определенных интегралов, можно осуществлять автоматическое изменение шага в процессе интегрирования дифференциального
уравнения.
Для уточнения решения применима вторая формула Рунге (6.16)
y уточн ( x)  yh ( x)  R0 .
(7.9)
Формула Эйлера (7.7) обобщается для системы обыкновенных
дифференциальных уравнений, записанных в форме Коши (7.3) с
начальными условиями
yi ( x0  h)  yoi  hf ( x0 , y10 ,..., yn 0 ) .
(7.10)
Метод Эйлера дает сравнительно низкую точность, так как имеет
первый порядок.
7.3. Пример 8
Решить аналитически и методом Эйлера уравнение вида
dy
 x2 .
dx
Начальные условия:
y0  1;
x0  1.
При аналитическом решении интегрируем левую и правую части
1
3
уравнения и получаем: y  x3  c. Вычисляем значение постоянного коэффициента:
y
решение уравнения имеет вид
c  2 / 3 Аналитическое
.
1 3 2
x  . Точное решение уравнения, например, при значении x  3,
3
3
определяется
1 3 2 1 3 2
2
x   3  9 .
3
3 3
3
3
2
уравнение f ( x, y)  x с
y
Решим это
f ( x0 , y0 )  1 методом Эйлера с шагом h  1 .
начальными условиями
x1  x0  h  1  1  2.
y ( x1 )  y0  hf ( x0 , y0 )  1  11  2;
x2  x1  h  2  1  3.
y( x2 )  y1  hf ( x1 , y1 )  2  1 4  6;
x3  x2  h  3  1  4.
y ( x3 )  y2  hf ( x2 , y2 )  6  1 9  15.
7.4. Пример 9
Апериодическое звено первого порядка описывается дифференциальным уравнением
u2  T
du2
 u1 ,
dt
где u1 и u2 – входной и выходной сигналы; T – постоянная времени
апериодического звена; t – время.
Расчет выходного сигнала методом Эйлера на i –ом шаге t выполняется по выражению
u2i  u2( i 1)  (u1i  u2( i 1) )
t
.
T
7.5. Пример 10
Безынерционное звено (пропорциональный регулятор) описывается уравнением
u2  K  u1 ,
где u1 и u2 – входной и выходной сигналы; K – коэффициент усиления.
Расчет выходного сигнала методом Эйлера на i –ом шаге t выполняется по выражению
u2i  K  u1i .
7.6. Методы Рунге-Кутта второго порядка
Для уменьшения погрешности метода интегрирования обыкновенных дифференциальных уравнений, использующего разложение искомого решения в ряд Тейлора (7.5), необходимо учитывать большее количество членов ряда. Однако при этом возникает необходимость аппроксимации производных от правых частей уравнений. Основная идея
методов Рунге-Кутта заключается в том, что производные аппроксимируются через значения функции f ( x, y ) в точках на интервале  x0 , x0  h ,
которые выбираются из условия наибольшей близости алгоритма к ряду
Тейлора. В зависимости от старшей степени h , с которой учитываются
члены ряда, построены вычислительные схемы Рунге-Кутта разных порядков точности.
Для второго порядка получено однопараметрическое семейство
схем вида
y ( x0  h)  y0  h 1  L  f 0  Lf ( x0   h), y0   f 0 h   0(h 3 ),
(7.11)
где 0 < L  1 – свободный параметр,
f 0  f ( x0 , y0 ),
  (2 L) 1.
Локальная погрешность схем (7.11) имеет третий порядок, глобальная – второй. Решение уравнения, полученное по этой схеме, равномерно сходится к точному решению с погрешностью 0(h 2 ) . Для параметра
L наиболее часто используют значения L  0.5 и L  1 .
Рис. 7.2. Метод Рунге-Кутта второго порядка ( L = 0,5)
В первом случае формула (7.11) приобретает вид
y( x0  h)  y0  h  f 0  f ( x0  h, y0  hf 0 ) / 2,
(7.12)
геометрическая интерпретация которой представлена на рис. 7.2. Вначале вычисляется приближенное решение уравнения в точке x0  h по
формуле Эйлера yэ  y0  hf 0 . Затем определяется наклон интегральной
кривой в найденной точке f ( x0  h, yэ ), и после нахождения среднего
наклона на шаге h находится уточненное значение yRk  y( x0  h). Схемы
подобного типа называют «прогноз-коррекция», что подразумевает грубое вычисление решения по формуле низкого порядка, а затем уточнение с учетом полученной информации о поведении интегральной кривой.
Рис. 7.3. Метод Рунге-Кутта второго порядка ( L = 1)
Во втором случае при L  1 формула (7.11) приобретает вид
y( x0  h)  y0  hf ( x0  h / 2, y0  hf 0 / 2),
(7.13)
геометрический смысл которой отражает рис. 7.3. Здесь при прогнозе
определяется методом Эйлера решение в точке x0  h / 2
y1/ 2  y0  hf 0 / 2,
а после вычисления наклона касательной к интегральной кривой в средней точке решение корректируется по этому наклону.
7.7. Пример 11
Проинтегрируем на отрезке 0, 1 дифференциальное уравнение с
y0  1
начальными условиями x0  0,
y'  y 
2x
.
y
Сначала определяется «грубое приближение» решения
y i 1  yi  hfi ,
исходя из которого находится направление поля интегральных кривых
f i 1  f ( xi 1 , y i 1 ).
Затем приближенно полагают
yi 1  yi  h
fi  f i 1
.
2
Уравнение f ( x, y)  y  2 xy 1 , шаг интегрирования h  0.2 .
i
xi
yi
0
1
2
3
4
5
0
0.2
0.4
0.6
0.8
1.0
1
1.1867
1.3484
1.4938
1.6279
1.7542
h
fi
2
0.1
0.085
0.0755
0.069
0.0645
xi 1
0.2
0.4
0.6
0.8
1.0
y i 1
1.2
1.3566
1.4993
1.618
1.7569
h
f i 1
2
0.0867
0.0767
0.0699
yi 
h
( f i  f i 1 )
2
0.1867
0.1617
0.1454
0.0651
0.1341
0.0618
0.1263
Во втором случае при L  1 формула (7.11) приобретает вид
y( x0  h)  y0  hf ( x0  h / 2, y0  hf 0 / 2),
(7.13)
геометрический смысл которой отражает рис. 7.3. Здесь при прогнозе
определяется методом Эйлера решение в точке x0  h / 2
y1/ 2  y0  hf 0 / 2,
а после вычисления наклона касательной к интегральной кривой в средней точке решение корректируется по этому наклону.
7.8. Методы Рунге-Кутта высоких порядков
Чтобы удержать в ряде Тейлора член n –го порядка, необходимо
каким-либо образом вычислить n –ю производную зависимой переменной. Учет производных высокого порядка повышает точность вычислений. Чтобы вычислить третью производную в конечно-разностном виде,
необходимо иметь значения производной по меньшей мере в двух точках. Для этого необходимо дополнительно определить наклон кривой в
некоторой промежуточной точке интервала h , т.е. между xn и xn 1 . Очевидно, чем выше порядок вычисляемой производной, тем больше дополнительных вычислений потребуется внутри интервала. Метод Рунге-
Кутта дает набор формул для расчета координат внутренних точек, требуемых для реализации этой идеи. Так как существует несколько способов расположения внутренних точек и выбора относительных весов для
найденных производных, то метод Рунге-Кутта в сущности объединяет
целое семейство методов решения дифференциальных уравнений первого порядка. Наиболее распространенным из них является метод четвертого порядка. В тейлоровском разложении искомого решения y ( x)
учитываются члены, содержащие степень h до четвертой включительно. После аппроксимации производных правой части уравнения f ( x, y )
получено семейство схем Рунге-Кутта четвертого порядка, из которых
наиболее используемой в вычислительной практике является следующая:
y ( x0  h)  y0  (k1  2k2  2k3  k4 ) / 6  0(h 5 ),
(7.14)
где
k1  hf ( x0 , y0 ),
k2  hf ( x0  h / 2, y0  k1 / 2),
k3  hf ( x0  h / 2, y0  k 2 / 2),
k4  hf ( x0  h, y0  k3 ).
Схема (7.14) на каждом шаге h требует вычисления правой части
уравнения в четырех точках. Локальная погрешность имеет пятый порядок, глобальная – четвертый. Схема обобщается для систем обыкновенных дифференциальных уравнений, записанных в форме Коши.
По сравнению с методом Эйлера метод Рунге-Кутта четвертого порядка имеет важное преимущество, так как обеспечивает более высокую
точность, которая с лихвой оправдывает дополнительное увеличение
объема вычислений. Более высокая точность метода Рунге-Кутта часто
позволяет увеличить шаг интегрирования h . Чтобы обеспечить высокую эффективность вычислительного процесса величину h следует выбирать именно из соображений максимальной допустимой ошибки на
шаге.
7.9. Пример 12
Проинтегрируем методом Рунге-Кутта четвертого порядка на отрезке 0, 0.5 дифференциальное уравнение y '  x  y с начальными условиями x0  0, y0  1 и шагом h  0.1 .
Для первого шага выполняются вычисления:
k1  hf ( x0 , y0 )  0.1(0  1)  0.1,
0.1
0.1
)  (1  ))  0.11,
2
2
0.1
0.11
k3  hf ( x0  h / 2, y0  k2 / 2)  0.1((0  )  (1 
))  0.1105,
2
2
k4  hf ( x0  h, y0  k3 )  0.1((0  0.1)  (1  0.1105))  0.12105.
1
y0  (0.1  2  0.11  2  0.1105  0.12105)  0.1103.
6
y1  y0  y0  1  0.1103  1.1103.
k2  hf ( x0  h / 2, y0  k1 / 2)  0.1((0 
Аналогично вычисляются значения y1 , y2 ,... на следующих шагах,
каждый раз пересчитываются коэффициенты.
7.10. Методы прогноза и коррекции
При решении задачи Коши методами Рунге-Кутта необходимо вычислять правые части уравнений в нескольких точках на каждом шаге.
Количество точек зависит от порядка используемого метода. В многошаговых методах для вычисления положения новой точки используется
информация о нескольких ранее полученных точках. Поэтому, прежде
чем применять метод прогноза и коррекции, приходится вычислять исходные данные с помощью какого-либо одношагового метода. После
того как искомая интегральная кривая y ( x) определена в нескольких
точках x0 , x1 ,..., xn , можно применить алгоритмы интерполяции и сократить количество вычислений правых частей уравнений для получения
решения в очередной точке xn 1 .
Рассмотрим алгоритм решения дифференциального уравнения
(7.15)
y ' ( x)  f ( x, y) .
В многошаговых методах применяются две формулы, называемые
соответственно формулами прогноза и коррекции. Схемы алгоритмов
для всех таких методов примерно одинаковы, а сами методы отличаются лишь формулами.
Сначала по формуле прогноза и исходным значениям переменных
определяют значение yn(0)1 . Верхний индекс (0) означает, что прогнозируемое значение является одним из последовательности значений yn1 ,
располагающихся в порядке возрастания точности. По прогнозируемому значению yn(0)1 с помощью исходного дифференциального уравнения
(7.15) находят производную
(0)
yn(0)'
1  f ( xn 1 , yn 1 ),
(7.16)
которая затем подставляется в формулу коррекции для вычисления
уточненного значения yn( j 11) . В свою очередь yn( j 11) используется для получения более точного значения производной с помощью дифференциального уравнения
yn( j 11)'  f ( xn 1 , yn( j 11) ).
(7.17)
Если это значение производной недостаточно близко к предыдущему, то оно вводится в формулу коррекции и итерационный процесс
продолжается. Если же производная изменяется в допустимых пределах, то значение yn( j 11) ' используется для вычисления окончательного
значения yn1 . После этого процесс повторяется – делается следующий
шаг, на котором вычисляется yn2 .
Обычно при выводе формул прогноза и коррекции решение уравнения рассматривают как процесс приближенного интегрирования, а
сами формулы получают с помощью конечно-разностных методов.
Методы прогноза и коррекции требуют почти вдвое меньше времени на расчеты, чем методы Рунге-Кутта сравнимой точности. Они позволяют легко оценить погрешность на шаге.
8. Синтез оптимальных управлений на имитационных моделях
Синтез оптимальных управлений в системах с ограничением координат традиционными методами не всегда возможен. Трудности возникают в случае изменения возмущающих воздействий и заданий во время
переходных процессов.
Продвижение к глобальной цели обычно осуществляется за счет
соответствующей координации действий подсистем. Глобальная цель
развертывается в подцели, причем, часто лишь после достижения подцели появляется возможность оценить целесообразность принятия того
или иного закона управления [11]. Для этого часто приходится оценивать результат предыдущих действий и выбирать следующий шаг из
числа возможных. Это означает, что необходимо сравнивать последствия всех возможных шагов, не выполняя их реально, т.е. «проигрывать» их на модели. Моделирование является обязательным действием
во всякой целесообразной деятельности.
Оптимизация законов управления технологическими процессами в
реальном масштабе времени микропроцессорными средствами с учетом
нелинейностей и ограничений фазовых координат требует разработки
простых алгоритмов, способных обеспечить качественный синтез дискретных управляющих воздействий. Для этих целей следует применять
новые, нестандартные подходы в которых требуется не столько искусство математика, сколько хорошее знание рассматриваемой технической задачи и понимание того, какими факторами можно пренебречь и к
каким последствиям это приведет.
Создание таких алгоритмов оптимального управления возможно с
применением элементов логики, системного анализа и метода избыточных переменных.
Новые методики синтеза оптимальных управлений линейными и
нелинейными объектами с ограничением фазовых координат могут
быть созданы на основе методов динамического программирования и
имитационного моделирования, принципов «перемены цели» и «ведущего слабого звена» [12, 13].
Объект считается управляемым, если существует хотя бы одно допустимое управление (т.е. управление, удовлетворяющее заданным
ограничениям), переводящее его из заданного начального в заданное
конечное состояние за конечный промежуток времени.
Для синтеза управлений микропроцессорными средствами целесообразно использовать применяемый в методе динамического программирования принцип оптимальности: «Оптимальное поведение обладает
тем свойством, что, каковы бы ни были первоначальное состояние и
решение в начальный момент, последующие решения должны составлять оптимальное поведение относительно состояния, получающегося
в результате первоначального решения». Иначе говоря, любой конечный участок оптимальной траектории является тоже оптимальной траекторией.
Этот принцип оптимальности справедлив для систем, у которых
оптимальная траектория не зависит от предыстории системы, а целиком
определяется ее исходным состоянием. Для таких систем синтез сложной функциональной зависимости можно свести к последовательному
определению оптимальных управлений на заданных интервалах и тем
самым значительно упростить задачу.
Имитационное моделирование позволяет воспроизводить с высокой
точностью переходные процессы в объектах с учетом специфики их
функционирования при различных управляющих воздействиях, контролировать изменение фазовых координат и выполнение технологических
требований.
На имитационных моделях возможен поиск оптимальных управлений путем исследования переходных процессов в системе, получаемых
в результате приложения пробных управляющих воздействий.
Принцип «перемены цели» служит в качестве средства приспособления системы к изменению параметров, фазовых координат, ограничений и требований к переходным процессам. Так в системе, где необходимо обеспечить максимум быстродействия и отсутствие колебательности, следует в первой части переходного процесса при формировании
управления исходить из цели обеспечения только требования к быстродействию, а на заключительном участке переходного процесса формировать управление, исходя из цели обеспечения отсутствия колебательности.
При таком подходе устраняется противоречие требований и достигается оптимум главного показателя переходного процесса. Важной
проблемой является определение момента времени, когда следует начинать формировать управление исходя из новой цели (отсутствия колебательности в системе).
Принцип «ведущего слабого звена» подразумевает объединение
слабых и сильных звеньев для достижения цели, причем сильные звенья, имеющие большие адаптационные возможности, подстраиваются
под слабые звенья.
В системе со многими ограничениями в любой момент времени
переходного процесса можно выделить одно главное ограничение
(«слабое звено»), которое и определяет величину управляющего воздействия.
Другие ограничения в этот момент времени не сказываются на
синтезе оптимального управления и их можно не учитывать, так как
главное ограничение оказывается «сильнее» всех остальных. Сложность
состоит в определении того ограничения, которое является главным в
данный момент времени.
В течение переходного процесса главными на разных этапах становятся разные ограничения и требования, причем, некоторые ограничения могут и не стать главными для конкретного процесса и не участвовать в формировании оптимального управления. Все зависит от величины задания по главной координате и начального режима работы системы.
Наличие в любой момент времени переходного процесса только
одного «слабого звена» позволяет существенно упростить синтез оптимальных управлений как линейными, так и нелинейными системами.
Выполняя синтез оптимального управления в ходе переходного процесса, всегда можно ограничиться учетом только одного главного ограничения или требования.
8.1. Последовательный многошаговый синтез оптимальных
управлений
Разработана методика синтеза оптимальных управлений линейными и нелинейными системами путем многократного численного решения дифференциальных уравнений [14]. Оптимальный закон управления
системой составляется из оптимальных управлений, найденных во время переходного процесса для малых интервалов. Расчет этих управлений осуществляется с учетом технологических требований, ограничений фазовых координат, принятого критерия оптимальности, заданного
конечного состояния системы и начальных состояний системы на малых интервалах. Величину малых интервалов, на которых определяются
оптимальные управления, целесообразно выбирать постоянной и равной шагу интегрирования при численном решении дифференциальных
уравнений.
Методика предполагает действия над разностными уравнениями,
которыми описывается поведение системы. В общем случае она представляет собой методику составления программы для численного решения задачи на цифровых вычислительных машинах. Поиск оптимальных управлений на малых интервалах ведется последовательно по шагам с учетом координат системы, полученных при оптимальном управлении на предыдущих шагах. Синтез управления системой сводится к
последовательной оптимизации более простых процессов.
Характерно, что каждый последующий участок управления усложняется, но формируется всегда путем определенной последовательности
включения более простых участков управления.
Определение оптимального управления на очередном шаге выполняется поэтапно.
1. Методом динамического программирования по разностным
уравнениям последовательно от выхода к входу системы с учетом принятых ограничений рассчитывается прогнозируемое оптимальное
управление для очередного шага. Это управление в дальнейшем может
быть скорректировано после проведения проверок на отсутствие нарушений ограничений координат во время переходного процесса.
2. Определяются координаты системы в результате выполнения
пробного шага с найденным прогнозируемым оптимальным управлением. Расчеты ведутся по разностным уравнениям последовательно от
входа к выходу системы.
3. Методом имитационного моделирования выполняется перевод
системы по оптимальному закону с учетом принятых ограничений из
состояния, полученного в результате выполнения пробного шага, в рав-
новесное состояние. Под равновесным (установившимся) состоянием
понимается состояние системы, в котором она может оставаться длительное время без изменения фазовых координат.
4. Сравниваются значения координат системы при переводе ее по
оптимальному закону в равновесное состояние с допустимыми значениями фазовых координат.
Если нет нарушений принятых ограничений, то использованное на
пробном шаге управление считается оптимальным и его можно использовать для расчета реальных координат системы на очередном шаге интегрирования. Эти координаты соответствуют координатам системы,
полученным после расчета пробного шага, и используются в качестве
начальных условий для определения оптимального управления на следующем шаге.
Если наблюдаются нарушения принятых ограничений, то использованное на пробном шаге управление не является оптимальным, его
следует скорректировать и повторить расчеты по описанному циклу,
начиная со второго этапа. В этом случае управление на пробном шаге
следует выбирать исходя из необходимости выполнения принятых
ограничений во время перевода системы в равновесное состояние.
Таким образом, оптимальные управления на отдельных шагах интегрирования составляют в конечном итоге оптимальный закон управления системой с учетом ограничений координат. Проверка оптимальности найденного для пробного шага управления необходима, так как
прогнозируемое управление определяется исходя из принятых ограничений и критерия оптимальности по главной координате системы только для одного шага интегрирования без учета дальнейшего изменения
координат.
Определение координат системы в результате выполнения пробного шага позволяет оценить оптимальность прогнозируемого управления
на имитационной модели. Пределы возможного изменения прогнозируемого оптимального управления для очередного шага интегрирования,
как правило, известны.
С учетом специфики численного решения дифференциальных
уравнений это управление может определяться из условия выхода на
заданное значение фазовой координаты с такой производной, изменение
которой до нуля возможно за шаг интегрирования.
Перевод системы в равновесное состояние выполняется методом
имитационного моделирования путем изменения в иерархической последовательности всех фазовых координат до установившихся значений. Под установившимся значением фазовой координаты подразумевается такое ее значение, которого она может достичь при изменении по
оптимальным законам всех предшествующих фазовых координат до
уровней, соответствующих прекращению дальнейшего изменения анализируемой фазовой координаты.
При изменении фазовых координат до установившихся значений по
оптимальным законам могут формироваться различные цели, отличные
от использованной при расчете пробного шага цели, однако всегда используется принцип «ведущего слабого звена» и идет подстройка под
самое «сильное» в данный момент ограничение.
Сложность состоит в необходимости одновременного выхода на
установившееся значение, как анализируемой координаты, так и всех
предшествующих координат. Задача усложняется с повышением порядка системы, приходится использовать большее количество пробных шагов, формируя различные цели. Все расчеты выполняются по циклическим алгоритмам, для одной и той же координаты могут формироваться
цели выхода по оптимальным законам на разные заданные установившиеся значения. Изменение целей связано с необходимостью выполнения предъявляемых к системе порой противоречивых требований.
Особенностью предложенной методики, в отличие от других методов решения многошаговых задач, в которых приходится анализировать
на каждом шаге все возможные варианты управления, является использование промежуточных критериев, позволяющих сразу отсечь заведомо неприемлемые управления и тем самым сократить объем вычислений. Эти критерии достаточно просто определить для реальных управляемых объектов. Вычисления выполняются по циклическим алгоритмам, обеспечивающим перевод фазовых координат в установившиеся
состояния, поэтому для решения частных задач в процессе поиска оптимального управления можно использовать подпрограммы.
В некоторых случаях удается получить простые аналитические
выражения для расчета процесса перевода фазовых координат объекта в
установившиеся состояния после выполнения пробного шага, что открывает широкие перспективы по разработке алгоритмов синтеза в реальном масштабе времени микропроцессорными средствами оптимальных управлений объектами высоких порядков.
Методика позволяет синтезировать оптимальные управления при
переводе объекта не только в заданное равновесное, но и в любое другое требуемое состояние. При этом изменяется только понятие «установившегося значения фазовой координаты» и промежуточные критерии. Общий подход при синтезе оптимальных управлений системами
любого порядка остается прежним. Это еще больше расширяет области
применения методики последовательного многошагового синтеза.
8.2. Оптимальное управление линейным объектом
третьего порядка
Объект описывается системой уравнений
 dX 1
 dt  X 2 ,

 dX 2
 X3,

 dt
 dX 3
 dt  U ,

где X1 , X 2 , X 3 – координаты объекта, U – управление, t – время.
Управляющее воздействие U и координата X1 ограничены по модулю на уровнях U m и X m
U (t )  U m ,
X1 (t )  X m .
Определим оптимальное управление U (t ) , обеспечивающее минимальное время T перевода объекта из исходного состояния
X1 (0)  0, X 2 (0)  0, X 3 (0)  0
[15]
в
заданное
состояние
X1 (T )  X m , X 2 (T )  0, X 3 (T )  0 . Решение задачи с помощью методики последовательного многошагового синтеза предполагает, что речь идет о
системе с квантованием координат по уровню и по времени. При этом
объект описывается системой разностных уравнений
 X 1
 t  X 2 ,

 X 2
 X3,


t

 X 3
 t  U ,

где X1 , X 2 , X 3 – приращения координат системы за шаг интегрирования t . Управление U (t ) вычисляется в виде последовательности значений U 0 , U1 ,..., U c .
Для исходного состояния системы рассчитывается прогнозируемое
оптимальное управление, и определяются координаты системы в результате выполнения первого пробного шага. Затем выполняется перевод системы в равновесное состояние. Ставится задача изменения координаты X 2 с предельными возможностями до уровня X 2  0 (с одновременным выходом координаты X 3 на уровень X 3  0 ). Для этого находится оптимальное управление, и рассчитываются значения координат системы в результате выполнения второго пробного шага. Затем по циклическому алгоритму решается задача изменения координаты X 3 с предельными возможностями до уровня X 3( k )  0 . Определяются координаты системы X 1( k ) и X 2( k ) при X 3( k )  0 . Производится оценка значения координаты X 2( k ) . Если оно не равно нулю, то рассчитывается еще один
пробный шаг по скорейшему достижению координатой X 2 нулевого
значения, причем, в качестве начальных условий используют координаты системы с предыдущего второго пробного шага. По циклическому
алгоритму изменяется координата X 3 с предельными возможностями до
нулевого значения, оценивается значение координаты X 2 и далее по
описанному циклу. Таким способом удается достичь значений X 2( p )  0
и X 3( p )  0 , соответствующих равновесному состоянию системы. Оценивается значение координаты X 1( p ) . Если оно не превышает значения X m ,
то использованное на первом пробном шаге управление считается оптимальным. В случае нарушения ограничения ( X 1( p ) > X m ) следует изменить прогнозируемое оптимальное управление на первом пробном шаге
и повторить расчеты по описанному циклу, начиная с расчета координат
системы после выполнения первого пробного шага.
Определение оптимального управления для рассматриваемого объекта на (n+1) шаге выполняется в следующей последовательности.
Начальное состояние объекта характеризуется координатами
X 1( n ) , X 2( n ) , X 3( n ) . Методом динамического программирования рассчитывается управление, обеспечивающее максимальное приращение координаты X1 на (n+1) шаге интегрирования.
Определяется требуемое приращение по координате X1
X 1( n 1)  X m  X 1( n ) ,
вычисляется значение координаты X 2 , способное обеспечить это приращение
X 2( n 1)  X 1( n 1) / t.
Определяется требуемое приращение по координате X 2
X 2( n 1)  X 2( n 1)  X 2( n )
и значение координаты X 3 , способное обеспечить это приращение
X 3( n 1)  X 2( n 1) / t.
Вычисляется требуемое приращение по координате X 3
X 3( n 1)  X 3( n 1)  X 3( n)
и обеспечивающее его управление
U ( n 1)  X 3( n 1) / t.
Это управление ограничивается, при необходимости, на уровне U m . Рассчитываются координаты объекта с найденным управлением после выполнения первого пробного шага X 11( n1) , X 21( n1) , X 31( n1)
X 31( n 1)  X 3( n )  U ( n 1)  t ,
X 21( n 1)  X 2( n )  X 31( n 1)  t ,
X 11( n 1)  X 1( n )  X 21( n 1)  t.
Они используются в качестве начальных условий для перевода
объекта в равновесное состояние.
Перевод объекта в равновесное состояние начинается с расчета
второго пробного шага (n+2), выполняемого с целью скорейшего достижения координатой X 2 значения X 2  0. В качестве начальных условий используются координаты системы X 11( n1) , X 21( n1) , X 31( n1) , полученные
в результате расчета первого пробного шага. Расчет ведется методом
динамического программирования, аналогично первому пробному шагу, только теперь изменена цель управления. По аналогичной методике
определяются координаты системы в результате выполнения второго
пробного шага X 12( n 2) , X 22( n 2) , X 32( n 2) . В качестве «ведущего слабого звена»
вновь выступает ограниченное управление.
Новые координаты объекта X 32( n 2) , X 22( n 2) , X 12( n 2) используют в качестве начальных условий в циклическом алгоритме, обеспечивающем
изменение координаты X 3 до значения X 3  0 , соответствующего установившемуся значению координаты X 2 . Расчеты выполняют методом
динамического программирования.
После достижения координатой X 3 значения X 3  0 оценивается
значение координаты X 2 . Если оно оказывается больше X 2 (T ) , то рассчитывается новый пробный шаг по скорейшему достижению координатой X 2 значения X 2 (T ) , только в качестве начальных условий исполь-
зуют координаты объекта X 32( n 2) , X 22( n 2) , X 12( n 2) , полученные в результате
выполнения предыдущего второго пробного шага. Вновь используется
циклический алгоритм, обеспечивающий изменение координаты X 3 до
значения X 3  0 , и оценивается значение координаты X 2 .
Расчеты по такому циклу продолжают до тех пор, пока координата
X 2 не достигнет значения X 2  0 . Иногда для одновременного достижения координатами X 2 и X 3 значений X 2  0 и X 3  0 приходится использовать метод последовательных приближений. Полученные значения
X 2  0 и X 3  0 соответствуют установившемуся состоянию объекта.
Оценивается значение координаты X1 . Если оно не превышает значение
X m , то найденное на первом пробном шаге управление U ( n 1) считается
оптимальным. В противном случае управление на (n+1) шаге определяется методом последовательных приближений из диапазона  Um   Um  .
Для последующих шагов синтез управления выполняется по аналогичной методике.
8.3. Оптимальное управление линейным объектом
четвертого порядка
Рассмотрим алгоритм синтеза оптимального по быстродействию
управления объектом, представленным четырьмя последовательно
включенными апериодическими звеньями. Управляющее воздействие
U может изменяться от максимального значения U 1 до минимального
значения U 2 .
Модель объекта описывается системой уравнений

T

T


T


T

dX 1
 X1  X 2 ,
dt
dX 2
 X 2  X 3,
dt
dX 3
 X3  X 4,
dt
dX 4 
X 4 U,
dt
где X 1 , X 2 , X 3 , X 4 – выходные координаты апериодических звеньев, T –
постоянные времени апериодических звеньев, t – время.
Выходная координата объекта X 1 должна изменяться от произвольного начального значения до заданного значения XZ 1 за минимальное время без перерегулирования, нет ограничений на координаты
X 2 , X 3 , X 4 . Необходимо определить оптимальное по быстродействию
управление U (t ) объектом с учетом ограничений на управление и требования на отсутствие перерегулирования по координате X 1 .
Объект описывается системой разностных уравнений, получаемых из исходных дифференциальных уравнений,

T

T


T


T

X 1
 X1  X 2 ,
t
X 2
 X 2  X 3,
t
X 3
 X3  X 4,
t
X 4 
X 4 U,
t
где Х1, Х2, Х3, Х4 – приращения координат объекта за шаг интегрирования t.
По методике последовательного многошагового синтеза оптимальных управлений необходимо рассчитать на первом этапе первый пробный шаг с предельными динамическими возможностями с целью достижения за минимальное время заданного значения выходной координаты. Затем осуществить оптимальный перевод объекта в равновесное
состояние, выполнить анализ координат объекта и выбрать управляющее воздействие.
Начальные значения координат объекта X 1(i ) , X 2(i ) , X 3(i ) , X 4(i ) . Методом динамического программирования последовательно от выхода к
входу системы рассчитывается управление UP1 , обеспечивающее максимальное приращение выходной координаты объекта X 1 на первом
пробном шаге интегрирования.
X 1 P1  XZ1  X 1( i ) ,

 X 2 P1  X 1 P1 / t  T  X 1( i ) ,
 X P  X P  X ,
2 1
2(i )
 2 1
 X 3 P1  X 2 P1 / t  T  X 2 ( i ) ,

X 3 P1  X 3 P1  X 3(i ) ,


/ t  T  X 3 ( i ) ,
 X 4 P1 X 3 P1
X 4 P1  X 4 P1  X 4 ( i ) ,

UP1  X 4 P1 / t  T  X 4 ( i ) .
(8.1)
Для дальнейших расчетов используется управляющее воздействие
UP1 , которое ограничивается на уровне U 1 или U 2 . Последовательно от
входа к выходу объекта методом динамического программирования выполняется расчет координат объекта после выполнения первого пробного шага с найденным управлением.
X 4 P1  t / T  (UP1  X 4 ( i )),

 X 4 P1  X 4 (i )  X 4 P1 ,
X 3 P1  t / T  ( X 4 P1  X 3( i ) ),

 X 3 P1  X 3(i )  X 3 P1 ,

X 2 P1  t / T  ( X 3 P1  X 2 (i ) ),
 X P  X  X P ,
2(i )
2 1
 2 1
X 1 P1  t / T  ( X 2 P1  X 1( i ) ),

 X 1 P1  X 1( i )  X 1 P1.
(8.2)
После расчета на модели первого пробного шага состояние объекта
характеризуется координатами X 1 P1, X 2 P1, X 3 P1, X 4 P1 . Ставится задача оптимального по быстродействию перевода объекта в равновесное
состояние путем изменения в иерархической последовательности координат объекта до значений, соответствующих равновесному состоянию,
которое характеризуется возможностью объекта находиться длительное
время без изменения координат. Перевод объекта в равновесное состояние начинается с расчета на модели второго пробного шага. В качестве
начальных условий X 1 P2 , X 2 P2 , X 3 P2 M 1, X 4 P2 M 1 для второго пробного
шага
принимаются
значения
координат
объекта
X 1 P1 , X 2 P1 , X 3 P1 , X 4 P1 , полученные после выполнения первого пробного шага с управляющим воздействием UP1 .
 X 1 P2  X 1 P1 ,
X P  X P ,
 2 2
2 1

 X 3 P2 M 1  X 3 P1 ,
 X 4 P 2 M 1  X 4 P1 .
(8.3)
Методом динамического программирования последовательно от
выхода к входу объекта рассчитывается на модели управляющее воздействие UP 2 , обеспечивающее максимальное приращение координаты
объекта X 2 с целью скорейшего изменения ее до значения, соответ-
ствующего установившемуся состоянию объекта. По сравнению с первым пробным шагом расчет управления упрощается, так как становится
главным требование к изменению с максимальной скоростью координаты X 2 .
X 2 P2  ( X 2 P2  X 1 P2 ),
 X P  X P / t  T  X P ,
2 2
2 2
 3 2
X 3 P2  X 3 P2  X 3 P2 M 1 ,

 X 4 P 2  X 3 P 2 /  t  T  X 3 P 2 ,
 X 4 P 2  X 4 P 2  X 4 P 2 M 1 ,

UP2  X 4 P2 / t  T  X 4 P2 .
(8.4)
Для дальнейших расчетов используется управляющее воздействие
UP 2 , которое ограничивается на уровне U 1 или U 2 . Последовательно от
входа к выходу объекта методом динамического программирования выполняется расчет координат объекта после выполнения второго пробного шага с управлением UP2 .
X 4 P2  t / T  (UP2  X 4 P2 M 1),

 X 4 P2  X 4 P2 M 1  X 4 P2 ,
 X 4 P2 M 1  X 4 P2 ,

X 3 P2  t / T  ( X 4 P2  X 3 P2 M 1 ),
 X 3 P2  X 3 P2 M 1  X 3 P2 ,

 X 3 P2 M 1  X 3 P2 ,
X 2 P2  t / T  ( X 3 P2  X 2 P2 ),

 X 2 P2  X 2 P2  X 2 P2 ,
X P  t / T  ( X P  X P ),
2 2
1 2
 1 2
 X 1 P2  X 1 P2  X 1 P2 .
(8.5)
После расчета второго пробного шага решается задача оптимального по быстродействию изменения координаты объекта X 3 до значения,
соответствующего равновесному состоянию объекта. Рассчитывается на
модели третий пробный шаг. В качестве начальных условий
X 1 P3 , X 2 P3 , X 3 P3 , X 4 P3M1 для третьего пробного шага принимаются
значения X 1 P2 , X 2 P2 , X 3 P2 , X 4 P2 координат объекта, полученные после выполнения второго пробного шага с управляющим воздействием
UP 2 .
 X 1 P3  X 1 P2 ,
X P  X P ,
 2 3
2 2

 X 3 P3  X 3 P2 ,
 X 4 P3 M 1  X 4 P 2 .
(8.6)
Методом динамического программирования последовательно от
выхода к входу объекта рассчитывается управляющее воздействие UP3 ,
обеспечивающее максимальное приращение координаты объекта X 3 с
целью скорейшего изменения ее до значения, соответствующего установившемуся состоянию объекта.
X 3 P3  ( X 3 P3  X 2 P3 ),

 X 4 P 3  X 3 P 3 /  t  T  X 3 P 3 ,

 X 4 P 3  X 4 P 3  X 4 P 3 M 1 ,
UP3  X 4 P3 / t  T  X 4 P3 .
(8.7)
По сравнению с первым и вторым пробными шагами расчет управления значительно упрощается, так как становится главным требование
к изменению с максимальной скоростью координаты X 3 .
Для дальнейших расчетов используется управляющее воздействие
UP3 , которое ограничивается на уровне U 1 или U 2 . Последовательно от
входа к выходу системы методом динамического программирования
выполняется расчет координат объекта после выполнения третьего
пробного шага с управлением UP3 .
 X 4 P3  t / T  (UP3  X 4 P3 M 1),

 X 4 P3  X 4 P3 M 1  X 4 P3 ,
 X 4 P3 M 1  X 4 P3 ,

X 3 P3  t / T  ( X 4 P3  X 3 P3 ),

 X 3 P3  X 3 P3  X 3 P3 ,
X P  t / T  ( X P  X P ),
3 3
2 3
 2 3
 X 2 P3  X 2 P3  X 2 P3 ,

X 1 P3  t / T  ( X 2 P3  X 1 P3 ),
 X 1 P3  X 1 P3  X 1 P3 .
(8.8)
После расчета третьего пробного шага решается задача изменения
координаты объекта X 4 до значения, соответствующего равновесному
состоянию объекта. Рассчитывается четвертый пробный шаг. В качестве
начальных условий X 1 P4 , X 2 P4 , X 3 P4 , X 4 P4 принимаются значения
X 1 P3 , X 2 P3 , X 3 P3 , X 4 P3 координат объекта, полученные после выполнения третьего пробного шага с управляющим воздействием UP3 .
 X 1P4  X 1P3 ,
X P  X P ,
 2 4
2 3

 X 3 P4  X 3 P3 ,
 X 4 P 4  X 4 P 3 .
(8.9)
Методом динамического программирования последовательно от
выхода к входу объекта рассчитывается управляющее воздействие UP4 ,
обеспечивающее максимальное приращение координаты объекта X 4 с
целью скорейшего изменения ее до значения, соответствующего установившемуся состоянию объекта. По сравнению с первым, вторым и
третьим пробными шагами расчет управления еще более упрощается,
так как становится главным требование к изменению с максимальной
скоростью координаты X 4 .
X 4 P4  ( X 4 P4  X 3 P4),

UP4  X 4 P4 / t  T  X 4 P4 .
(8.10)
Для дальнейших расчетов используется управляющее воздействие
UP 4 , которое ограничивается на уровне U 1 или U 2 . Последовательно от
входа к выходу системы методом динамического программирования
выполняется расчет координат объекта после выполнения четвертого
пробного шага с управлением UP4 .
X 4 P4  t / T  (UP4  X 4 P4),

 X 4 P 4  X 4 P 4  X 4 P 4 ,
X 3 P4  t / T  ( X 4 P4  X 3 P4),

 X 3 P4  X 3 P4  X 3 P4 ,

X 2 P4  t / T  ( X 3 P4  X 2 P4),
 X 2 P4  X 2 P4  X 2 P4 ,

X 1 P4  t / T  ( X 2 P4  X 1 P4),
 X P  X P  X P .
4
1
1 4
 1 4
(8.11)
Полученное в результате расчета четвертого пробного шага значение координаты объекта X 4 P4 анализируется и при необходимости выполняется расчет нового четвертого пробного шага по выражениям
(8.10) и (8.11) до тех пор, пока координата X 3 P4 не перейдет в установившееся состояние. После достижения координатой X 4 P4 значения,
соответствующего равновесному состоянию объекта, анализируется полученное на последнем четвертом пробном шаге значение координаты
X 3 P4 с целью определения целесообразности выполнения следующего
третьего пробного шага. Если значение координаты X 3 P4 на последнем четвертом пробном шаге не соответствует требуемому значению
координаты X 3 P4 в установившемся состоянии объекта, то принимается
решение о выполнении нового третьего пробного шага по уравнениям
(8.7) и (8.8). Далее выполняются расчеты четвертого пробного шага по
выражениям (8.10) и (8.11) и действия по ранее описанному циклу. После достижения координатой X 3 P4 значения, соответствующего равновесному состоянию объекта, анализируется полученное на последнем
четвертом пробном шаге значение координаты X 2 P4 с целью определения целесообразности выполнения следующего второго пробного шага.
Если значение координаты X 2 P4 на последнем четвертом пробном шаге не соответствует требуемому значению координаты X 2 P4 в установившемся состоянии объекта, то принимается решение о выполнении
нового второго пробного шага по уравнениям (8.4) и (8.5). Далее выполняются расчеты третьих и четвертых пробных шагов и действия по
ранее описанному циклу. Таким способом удается перевести объект в
равновесное состояние после выполнения первого пробного шага с предельным управляющим воздействием. Выполняется анализ выходной
координаты X1P4 в равновесном состоянии объекта с целью определения управляющего воздействия U i для реального объекта.
В случае превышения координатой объекта X1P4 значения XZ1
управляющее воздействие U i для реального объекта на очередном шаге
принимается равным минимальному значению управляющего воздействия U 2 . Если нет превышения координатой X1P4 значения XZ1 , управляющее воздействие U i для реальной системы на очередном шаге принимается равным найденному на первом пробном шаге интегрирования
значению управляющего воздействия UP1 . Расчет координат реального
объекта X 1(i ) , X 2(i ) , X 3(i ) , X 4(i ) после выполнения шага с найденным
управлением U i выполняется последовательно от входа к выходу объекта методом динамического программирования.
X 4 (i )  t / T  (U i  X 4 (i )),

 X 4 (i )  X 4 (i )  X 4 ( i ) ,
X 3(i )  t / T  ( X 4 (i )  X 3( i ) ),

 X 3(i )  X 3( i )  X 3(i ) ,

X 2 (i )  t / T  ( X 3(i )  X 2 ( i ) ),
 X  X  X ,
2(i )
2(i )
 2(i )
X 1( i )  t / T  ( X 2 (i )  X 1( i ) ),

 X 1(i )  X 1(i )  X 1(i ) .
Затем осуществляется возврат в начало алгоритма к уравнению
(8.1), выполнятся расчет нового первого пробного шага и далее по описанному циклу определяется управление для следующего шага интегрирования. Машинными экспериментами доказана работоспособность алгоритма при изменении в широких пределах как заданий, так и ограничений.
Алгоритм может быть использован для синтеза в реальном масштабе времени оптимальных управлений процессами с изменяющимися в
функции времени параметрами. Введение нелинейностей и дополнительных ограничений на промежуточные координаты не вызывает
принципиальных трудностей.
8.4. Оптимальное управление электродвигателем
постоянного тока
В большинстве электромеханических устройств легко прослеживается взаимосвязанность составных частей, структурированность и подчиненность отдельных координат. Процессы протекают не в произвольном порядке, а в определенной последовательности, наблюдается строгая взаимозависимость координат. Синтезируем оптимальное по быстродействию управление двигателем постоянного тока независимого
возбуждения по методике последовательного многошагового синтеза.
Электродвигатель описывается уравнениями
U  i  R  C   L
J
di
,
dt
d
 С  (i  ic ) ,
dt
где R, L – активное сопротивление и индуктивность якорной цепи двигателя; J , C – момент инерции и конструктивный коэффициент;  – частота вращения; U , i – напряжение и ток якоря; i c – ток статической
нагрузки; t – время.
Параметры двигателя считаются постоянными, а момент статической нагрузки – реактивным, т.е. вращение двигателя из заторможенного состояния может начаться только после превышения током якорной
цепи статического тока. В качестве управляющего воздействия используется напряжение на якоре двигателя. Численным методом определяется управление U (t ) , обеспечивающее минимум времени перевода двигателя из исходного состояния с координатами U (0), i (0) и  (0) в новое
состояние с координатами U (T ), i(T )  ic и  (T )   m . При этом значения
частоты вращения  (t ) , тока i(t ) , напряжения U (t ) и скорости изменения
dU (t )
не должны превышать предельных значений, соотdt
dU (t ) 
ветственно,  m , im , U м и 
 m.
 dt 
напряжения
Решение задачи с помощью предложенной методики предполагает представление объекта управления конечно-разностными уравнениями
U  i  R  C   L
J
i
,
t
Δω
 C  (i  ic ) ,
Δt
где t – интервал вычислений.
Для решения разностных уравнений используется метод Эйлера.
Ограничение на скорость изменения напряжения при постоянном интервале вычислений реализуется приращением U m . Исходное состояние объекта на (i  1) шаге характеризуется координатами i(i 1) ,  ( i1) ,
U ( i 1) , t( i 1) . Для определения оптимального управления на i – ом шаге
рассчитывается методом динамического программирования с учетом
принятых ограничений последовательно от выхода к входу объекта
предельное управление U (i ) на первом пробном шаге.
Определяется требуемое приращение частоты вращения двигателя
ω(i )  ωm - ω(i-1)
и значение тока для обеспечения такого приращения за интервал вычислений. Найденный ток, при необходимости, ограничивается на уровне
im .
i(i )  J 
ω(i)
C  t
 ic .
Вычисляется требуемое приращение тока
i(i )  i(i )  i( i1)
и обеспечивающее его напряжение на якоре двигателя
U (i )  R  i(i1)  C   (i1)  L
i(i )
t
.
Это напряжение, при необходимости, ограничивается на уровне U m .
Вычисляется требуемое приращение напряжения
U (i )  U (i )  U ( i1) .
Оно ограничивается, при необходимости, на предельном уровне U м .
Находится управление на первом пробном шаге
U (i )  U (i1)  U ( i ) .
Выполняется расчет первого пробного шага с управлением U 1( i ) ,
равным U (i ) .
i1(i )  U1(i )  R  i(i 1)  C   (i 1)  
t
,
L
i1( i )  i( i 1)  i1(i ) ,
1(i )  i1(i )  ic   C 
t
.
J
1(i )   (i1)  1(i ) .
Приращение частоты вращения двигателя, с учетом характера
нагрузки, при разгоне двигателя из заторможенного состояния до положительного значения  m не может принимать отрицательного значения.
Ставится задача перевода объекта в равновесное состояние. Выполняется расчет процесса изменения с предельными возможностями
управления с целью выхода на установившееся значение тока. В качестве начальных условий U 2(i ) , i2(i ),  2(i ) для этого алгоритма используются
координаты, соответственно, U1(i ) , i1(i ), 1(i ) , полученные в результате выполнения первого пробного шага. Определяется напряжение, соответствующее установившемуся значению тока и требуемое приращение
напряжения на очередном шаге. Приращение ограничивается, при необходимости, на уровне U м с соответствующим знаком.
U 2 (i 1)  R  i2 ( i )  C   2 (i )
U 2 (i 1)  U 2(i1)  U 2(i ) .
Последовательно вычисляются напряжение на якоре, приращение
тока, ток, приращение частоты вращения и частота вращения двигателя.
Приращение частоты вращения двигателя с учетом характера нагрузки
для положительного значения  m не может быть отрицательным.
U 2(i1)  U 2 (i )  U 2 (i 1) ,
i2(i 1)  U 2(i 1)  R  i2(i )  C   2(i ) 
t
,
L
i2(i1)  i2(i )  i2(i1) ,
 2 (i 1)  i2 (i 1)  ic  C 
t
.
J
 2(i1)   2(i )   2(i1) .
Оценивается значение приращения тока i2(i 1) . Если оно не равно
нулю, то необходимо продолжить расчеты с целью выхода на установившееся значение тока. Переменным U 2(i ) , i2(i ),  2(i ) присваиваются, соответственно, найденные значения U 2(i 1) , i2(i 1) ,  2(i 1) и вновь определяется
напряжение, соответствующее установившемуся значению тока. Далее
повторяются расчеты по описанному циклу, пока приращение тока не
станет равным нулю.
После выхода на установившееся значение тока i2 ( i 1) производится
проверка выполнения ограничения по максимальному току (im ) . Если
значения i2 ( i 1) окажется больше im , то выбранное на первом пробном
шаге управление U (i )  считается недопустимым, необходимо его скорректировать и повторить расчеты по описанному циклу для получения
значения установившегося тока без нарушения ограничения.
После выполнения условия i2(i 1)  im производится сравнение установившегося значения тока и тока статического. Если ток двигателя не
достиг значения ic , то отсутствует приращения скорости, проверка выполнения ограничения по максимальной частоте вращения  m  не выполнятся. Использованное на первом пробном шаге управление U (i )
считается оптимальным, найденные координаты объекта U1(i ) , i1(i ) , 1(i )
присваиваются, соответственно, переменным U (i1) , i(i1) , (i1) и выполняется переход к расчету управления на очередном интервале вычислений.
Если установившееся значение тока i2 ( i 1) превышает ic , то производится расчет перевода объекта с предельными возможностями в равно-
весное состояние. Для этого координаты объекта U1(i ) , i1(i ) , 1(i ) , полученные в результате выполнения первого пробного шага, присваиваются,
соответственно, переменным U 3(i1) , i3(i1) , 3(i1) . Рассчитывается предельное управление на втором пробном шаге с целью скорейшего достижения статического тока двигателя.
Определяется требуемое приращение тока на очередном шаге,
управление, которое ограничивается, при необходимости, на уровне U m ,
требуемое приращение напряжения, ограничиваемое, при необходимости, на уровне U м и предельное управление на втором пробном шаге.
i3(i )  ic  i3(i 1) ,
U 3(i )  R  i3(i1)  C  3(i1)  L 
i3(i )
t
.
U 3(i )  U 3(i )  U 3(i1) .
U 3(i )  U 3( i 1)  U 3( i ) .
Управляющему воздействию U 4 (i ) присваивается значение U 3(i ) и
рассчитывается второй пробный шаг
i4(i )  U 4 (i )  R  i3(i 1)  C   3(i1) 
t
,
L
i4(i )  i3(i1)  i4 (i ) ,
 4 (i )  i4 (i )  ic   C 
t
,
J
 4(i )   3(i1)   4(i ) .
Ставится задача проверки допустимости найденного управления,
исходя из необходимости выхода без перерегулирования на значение
тока i c . Переменным U 5(i ) , i5(i ) ,  5(i ) присваиваются, соответственно, значения полученных в результате второго пробного шага U 4(i ) , i4(i ) ,  4(i ) координат объекта.
Производится расчет процесса изменения с предельными возможностями управления с целью выхода на установившееся значение тока.
U 5(i 1)  R  i5( i )  C  
5(i )
U 5(i 1)  U 5(i 1)  U 5( i ) ,
U 5(i 1)  U 5(i )  U 5(i1) ,
,
i5(i1)  U 5(i 1)  R  i5(i )  C   5(i ) 
t
,
L
i5(i1)  i5(i )  i5(i1) ,
 5(i 1)  (i5(i 1)  ic )  C 
t
,
J
 5(i 1)   5(i )   5(i 1) .
Оценивается значение приращения тока i5(i1) . Если оно не равно
нулю, то переменным U 5(i ) , i5(i ) ,  5(i ) присваиваются, соответственно,
найденные значения U 5(i 1) , i5(i 1) ,  5(i 1) и вновь определяется напряжение,
соответствующее установившемуся значению тока. Далее расчеты повторяются по описанному циклу, пока приращение тока не станет равным нулю.
После выхода на установившееся значение тока i5(i 1) производится
его сравнение с i c . Если i5(i 1) меньше i c , то выбранное на последнем
втором пробном шаге управление U 4 (i ) считается недопустимым. Изменяется U 4 (i ) с целью точного выхода на значение статического тока,
вновь рассчитывается второй пробный шаг, и далее расчеты повторяются по описанному циклу. Таким способом обеспечивается выход на значение статического тока с напряжением на якоре двигателя, соответствующим равновесному состоянию объекта.
Если установившееся значение тока i5(i 1) окажется больше статического тока, то выполняется очередной второй пробный шаг с целью
скорейшего достижения значения тока ic . Для этого переменным
U 3(i1) , i3(i1) ,  3(i1) присваиваются, соответственно, значения координат
объекта U 4(i ) , i4(i ) ,  4(i ) , полученные в результате выполнения последнего
второго пробного шага. Вновь рассчитывается предельное управление
на втором пробном шаге с учетом ограничений, далее выполняются
расчеты по описанному циклу.
После перевода в равновесное состояние сравнивается полученное
значение частоты вращения  5(i 1) двигателя с заданным значением  m
частоты. Превышение значением  5(i 1) значения  m свидетельствует о
нарушении заданного ограничения при использовании на первом пробном шаге ранее определенного напряжения управления U 1( i ) . Напряжение на первом пробном шаге уменьшается, и повторяются расчеты по
всем описанным циклам. Если  5(i 1) оказывается меньше или равно зна-
чению  m , то использованное на первом пробном шаге управление U 1( i )
считается оптимальным, найденные координаты объекта U1(i ) , i1(i ) , 1(i )
присваиваются, соответственно, переменным U1(i1) , i1(i1) , 1(i1) , производится переход к расчету предельного управления на новом первом
пробном шаге с целью поиска оптимального управления на очередном
интервале вычислений.
Изменение в ходе переходного процесса ограничений, параметров
объекта или возмущающего воздействия просто учитываются при синтезе оптимального управления методикой последовательного многошагового синтеза оптимальных управлений, так как поиск управления на
каждом шаге ведется с использованием имитационного моделирования.
Рис. 8.1. Оптимальное управление электродвигателем
постоянного тока
На рис. 8.1 представлен оптимальный по быстродействию процесс
разгона электродвигателя с учетом принятых ограничений до частоты
вращения 100 рад/с., полученный по описанному алгоритму. Параметры
системы: R =1,5 Ом; L =0,09 Гн; J =0,0522 кг  м2; C =1,28 В  с /рад;
 dU( t ) 
ic=10 А; iм=40 A; U m =150 В; 
м  10000 В/с., расчеты выполня dt 
лись с шагом 0,001 с.
Расчеты оптимальных управлений по описанному алгоритму для
двигателя с другими параметрами и при других ограничениях показали,
что в качестве «ведущего слабого звена» могут выступать различные
ограничения не в строго заданной последовательности. Алгоритм позволяет проводить исследования предельных динамических возможностей электродвигателей постоянного тока.
ЗАКЛЮЧЕНИЕ
Машинное моделирование стало эффективным инструментом исследования и проектирования сложных систем. Актуальность математических моделей непрерывно возрастает из-за их гибкости, адекватности реальным процессам, невысокой стоимости реализации на современных ЭВМ [16]. Особенно эффективно применение моделирования
на ранних этапах проектирования автоматизированных систем, когда
цена ошибочных решений наиболее значительна.
Современные вычислительные средства позволили существенно
увеличить сложность используемых моделей при изучении систем, появилась возможность построения комбинированных, аналитикоимитационных моделей, учитывающих все многообразие факторов,
имеющих место в реальных системах, т.е. использования моделей, более
адекватных исследуемым явлениям.
Перспективным и значимым для теории и практики системного
моделирования является дальнейшее развитие научных основ моделирования с ориентацией на новые информационные технологии в научных исследованиях, проектировании, управлении и обучении.
Информатизация является объективной реальностью. В настоящее
время создано и внедрено большое количество программных и технических разработок, реализующих отдельные информационные технологии. Различный подход к информатизации вызывает большие трудности
при переходе с одного уровня на другой.
Имитационное моделирование позволяет синтезировать микропроцессорными средствами в реальном масштабе времени с учетом ограничений оптимальные законы управления сложными системами.
Использование персонального компьютера открывает принципиально новые возможности в организации изучения физических явлений
с помощью машинной имитации. При традиционном подходе физическое понимание по существу вырабатывается в процессе выполнения
необходимых математических преобразований и вычислений, что и
представляет собой наибольшую трудность. Благодаря специально разработанным программам имитации физических процессов в реальных
системах такую работу берет на себя компьютер. На долю исследователя остается не само добывание результата, а выявление и усвоение его
физических причин.
На первый план выходит роль идей и качественных методов исследования, которые связаны с гораздо большей наглядностью и образностью мышления. При этом заметно возрастает эмоциональный фактор, и
предмет изучения становится не только доступным, но и интересным.
СПИСОК ЛИТЕРАТУРЫ
1. Киреев В.И. Численные методы в примерах и задачах: Учеб. пособие / В.И. Киреев, А.В. Пантелеев. – 3-е изд. стер. – М.: Высш. шк.,
2008. – 480 с.
2. Турчак Л.И., Плотников П.В. Основы численных методов: Учеб.
пособие. – 2-е изд., перераб. и доп. – М.: ФИЗМАТЛИТ, 2005. – 304 с.
3. Плетнев Г.П. Автоматизация технологических процессов и производств в теплоэнергетике: учебник для студентов вузов/ Г.П. Плетнев.
– 4-е изд., стереот. – М.: Издательский дом МЭИ, 2007. – 352 с.
4. Тверской Ю.С. Автоматизация котлов с пылесистемами прямого
вдувания. – М.: Энергоатомиздат, 1996.
5. Иванов Г.А. Регулирование энергоблоков. – Л.: Машиностроение, 1982.
6. Плетнев Г.П. Автоматическое управление и защита теплоэнергетических установок электростанций. – М: Энергоатомиздат, 1986.
– 344 с.
7. Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик,
Фортран и Паскаль. – Томск: МП «РАСКО», 1991. – 272 с.
8. Шуп Т. Решение инженерных задач на ЭВМ: Практическое руководство. Пер. с англ. – М.: Мир, 1982. – 238 с.
9. Никифоров А.Ф., Суслов С.К., Уваров В.Б. Классические ортогональные полиномы дискретной переменной. – М: Наука, 1985. – 216 с.
10. Бахвалов Н.С. Численные методы / Н.С. Бахвалов, Н.П. Жидков,
Г.М. Кобельков. – 5-е изд. – М.: БИНОМ. Лаборатория знаний, 2007.
– 636 с.
11. Перегудов Ф.И., Тарасенко Ф.П. Основы системного анализа:
Учеб. 3-е изд. – Томск: Изд–во НТЛ, 2001. – 396 с.
12. Беллман Р. Динамическое программирование. – М.: Изд–во
иностр. литер.,1960. – 400 с.
13. Мясников В.А., Игнатьев М.Б., Покровский А.М. Программное
управление оборудованием. – Л.: Машиностроение, Ленингр. отд., 1974.
– 243 с.
14. Яковенко П.Г. Оптимизация управления электромеханическим
системами и подвижными объектами. – Томск: ТГУ, 2000. – 122 с.
15. Яковенко П.Г. Методика последовательного многошагового
синтеза оптимальных управлений // Известия Томского политехнического университета. – 2003. – Т. 306. – № 2. – С. 95–98.
16. Советов Б.Я., Яковлев С.А. Моделирование систем: Учеб. для
вузов. – 5-е изд., стер. – М.: Высш. шк. , 2007. – 343 с.
Яковенко Павел Георгиевич
МОДЕЛИРОВАНИЕ СИСТЕМ
Учебное пособие
Научный редактор
кандидат технических наук
доцент
Редактор
А.А. Цыганкова
Верстка
Л.А. Егорова
Подписано к печати
. Формат 60  84/16.
Бумага «Классика».
Печать RISO. Усл. печ. л. 6,16. Уч. – изд. л. 5,57.
Заказ
. Тираж
экз.
Download