Document 991702

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ»
(ФГБОУ ВПО «МГИУ»)
Кафедра промышленной теплоэнергетитки
Л.А. Марюшин
МЕТОДЫ МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ В
ТЕПЛОЭНЕРГЕТИЧЕСКИХ ПРОЦЕССАХ
Курс лекций для студентов
специальности 140104 «Промышленная теплоэнергетика»
МОСКВА 2012
Содержание
Тема 1
1.1.
1.2.
1.3.
1.4.
Тема 2
Тема 3
Тема 4
4.1.
4.2.
4.3.
4.4.
4.5.
Тема 5
Тема 6
6.1.
Тема 7
7.1.
7.2.
7.3.
7.4.
Тема 8
8.1.
8.2.
8.3.
8.4.
8.5.
8.6.
8.7.
8.8.
8.9.
8.10.
8.11.
8.12.
Тема 9
Вводная лекция по дисциплине «Методы математического
моделирования в теплоэнергетических процессах»
Математическое моделирование. Форма и принципы
представления математических моделей
Классификация математических моделей
Форма и принципы представления математической модели
Классификация погрешностей
Классификация алгебраических задач
Особенности построения математических моделей
Компьютерное моделирование и вычислительный
эксперимент. Решение математических моделей
Численные методы решения нелинейных уравнений
Метод половинного деления
Метод простых итераций
Метод Ньютона (метод касательных)
Модифицированный метод Ньютона (метод секущих)
Метод хорд
Компьютерное имитационное моделирование.
Статистическое имитационное моделирование
Компьютерное моделирование и решение линейных и
нелинейных многомерных систем
Решение систем линейных уравнений методом Гаусса
Моделирование многомерных нелинейных систем
Решение систем нелинейных уравнений
Метод простых итераций
Решение систем нелинейных уравнений методом Ньютона
Определение матрицы Якоби
Компьютерное моделирование при обработке опытных
данных
Интерполяции и экстраполяция
Построение интерполяционного многочлена в явном виде
Интерполяция по Лагранжу
Программирование формулы Лагранжа
Интерполяция по Ньютону
Разделенные разности
Программирование формулы Ньютона
Пример интерполяции по Ньютону
Сплайн-интерполяция
Аппроксимация опытных данных
Сглаживание опытных данных методом наименьших
квадратов
Программирование метода наименьших квадратов (МНК)
Компьютерное моделирование и решение нелинейных
4
7
7
10
12
14
17
22
27
30
32
33
35
36
39
46
47
54
54
55
58
61
66
67
70
70
72
73
74
76
78
80
81
83
86
92
2
9.1.
9.2.
9.3.
9.4.
9.5.
9.6.
9.7.
9.8.
9.9.
9.10.
уравнений
Метод прямоугольников
Метод трапеций
Метод Симпсона
Численные методы решения дифференциальных уравнений
первого порядка
Методы Рунге - Кутта
Метод Рунге - Кутта 2-го порядка (модифицированный
метод Эйлера)
Метод Рунге - Кутта 4-го порядка
Решение дифференциальных уравнений высоких порядков
Решение дифференциальных уравнений второго порядка
Решение дифференциальных уравнений m-го порядка
методом Рунге-Кутта (4-го порядка)
97
99
100
102
104
108
111
113
114
117
3
Вводная лекция по дисциплине
«Методы математического моделирования в
теплоэнергетических процессах»
Преподаватель: Марюшин Леонид Александрович, к.т.н., доцент,
заведующий кафедрой промышленной теплоэнергетики (37) ФГБОУ ВПО
«МГИУ».
ЭВМ прочно вошла в нашу жизнь, и практически нет такой области
человеческой деятельности, где не применялась бы ЭВМ. ЭВМ сейчас
широко используется в процессе создания и исследования новых машин,
новых технологических процессов и поиске их оптимальных вариантов;
при решении экономических задач, при решении задач планирования и
управления производством на различных уровнях.
Для использования ЭВМ при решении прикладных задач, прежде
всего прикладная задача должна быть "переведена" на формальный
математический язык, т.е. для реального объекта, процесса или системы
должна быть построена его математическая модель.
Слово "Модель" происходит от латинского modus (копия, образ,
очертание). Моделирование - это замещение некоторого объекта А другим
объектом Б. Замещаемый объект А называется оригиналом или объектом
моделирования, а замещающий Б - моделью. Другими словами, модель это объект-заменитель объекта-оригинала, обеспечивающий изучение
некоторых свойств оригинала.
Целью
моделирования
являются
получение,
обработка,
представление и использование информации об объектах, которые
взаимодействуют между собой и внешней средой; а модель здесь
выступает как средство познания свойств и закономерности поведения
объекта.
Моделирование
широко
используются
в
различных
сферах
человеческой деятельности, особенно в сферах проектирования и
4
управления, где особенными являются процессы принятия эффективных
решений на основе получаемой информации.
Модель всегда строится с определенной целью, которая оказывает
влияние на то, какие свойства объективного явления оказываются
существенными, а какие - нет. Модель представляет собой как бы
проекцию объективной реальности под определенным углом зрения.
Иногда в зависимости от целей можно получить ряд проекций
объективной реальности, вступающих в противоречие. Это характерно, как
правило, для сложных систем, у которых каждая проекция выделяет
существенное для определенной цели из множества несущественного.
Цели и задачи учебной дисциплины:
Целью дисциплины является: дать практическую математическую
базу
использования
численных
методов
при
изучении
общепрофессиональных и специальных дисциплин.
Задачей учебной дисциплины является:
-
обеспечить
знания
студентов
в
области
применения
вычислительных методов при расчёте систем вентиляции, отопления,
теплоснабжения, газо-, воздухо-, водо- и холодоснабжения промышленных
предприятий и объектов ЖКХ;
- развить навыки и умения творческого использования теоретических
знаний при решении практических задач;
-
ознакомление
с
основными
понятиями,
связанные
с
математическим моделированием, с формой и принципом представления
математических моделей;
- ознакомление с численными методами решения линейных и
нелинейных систем, методами обработки экспериментальных данных.
- приобретение навыков компьютерного моделирования физических
процессов.
5
Общие методические указания
Курс
"Методы
математического
моделирования
в
теплоэнергетических процессах" включает в себя знания, которые
являются фундаментальными
в
системе
подготовки
инженеров-
теплотехников.
На основе этой дисциплины осуществляется выбор метода расчета
и проектирования процессов в тепловых установках и системах - паровых
и газовых турбинах, а также в технологическом оборудовании –
теплообменниках, компрессорах, сушильных и холодильных установках,
тепловых насосах и т.д.
Дисциплина
теплоэнергетических
"Методы
математического
процессах"
является
моделирования
базовой
для
в
изучения
прикладных теплотехнических дисциплин.
При
изучении
дисциплины
рекомендуется
руководствоваться
программой курса и методическими указаниями к ней, самостоятельно
овладеть теорией по учебникам и выполнить 3 контрольные работы, каждая
из которых содержит 4-5 задач (обязательных) и 4 вопроса.
Ниже приводится список литературы, который включает в себя основные учебники, справочные таблицы, которые содержат краткие
теоретические основы, необходимые для решения контрольных работ,
примеры решения задач, пояснения к решению контрольных задач и ответы
на контрольные вопросы.
Перед выполнением контрольных работ рекомендуется прослушать
обзорные лекции по основным разделам курса, которые читаются в период
экзаменационных сессий. В это же время студенты выполняют лабораторно
- практические задания под руководством преподавателя. Цель их - более
глубокое усвоение теоретического материала и приобретение практических
навыков в проведении эксперимента.
Требования, предъявляемые на экзамене по дисциплине - знание
теории и понимание физической сущности рассматриваемых в курсе
6
вопросов, а также умение применить теоретические знания к решению
практических задач. Курс позволяет студентам получить конкретные
практические навыки в вопросах моделирования процессов и систем.
Основная литература
1. Теплоэнергетика и теплотехника: справ.: в 4 кн. Кн.2:
Теоретические основы теплотехники. Теплотехнический эксперимент/
А.А.Александров, Б.С.Белосельский, А.Г.Вайнштейн и др.; под ред.
А.В.Клименко, В.М.Зорина под общ. ред. Клименко А.В., Зорина В.М.
2007 МЭИ.
Дополнительная литература
1. Самарский А.А., Михайлов А.П. Математическое моделирование.
М.: Физматлит, 1997.
2. Математическое моделирование / Под ред. А.Н. Тихонова, В.А.
Садовничего и др. М.: Изд-во МГУ, 1993.
3. Чуличков А.И. Математические модели нелинейной динамики. М.:
Физматлит, 2000.
7
Тема 1.
Математическое моделирование. Форма и принципы представления
математических моделей
1.1.
Классификация математических моделей
Теорией моделирования является раздел науки, изучающий способы
исследования свойств объектов-оригиналов, на основе замещения их
другими объектами-моделями. В основе теории моделирования лежит
теория подобия. При моделировании абсолютное подобие не имеет места и
лишь стремится к тому, чтобы модель достаточно хорошо отображала
исследуемую сторону функционирования объекта. Абсолютное подобие
может иметь место лишь при замене одного объекта другим точно таким
же.
Все модели можно разделить на два класса:
 вещественные,
 идеальные.
В свою очередь вещественные модели можно разделить на:
 натурные,
 физические,
 математические.
Идеальные модели можно разделить на:
 наглядные,
 знаковые,
 математические.
Вещественные натурные модели - это реальные объекты, процессы и
системы, над которыми выполняются эксперименты научные, технические
и производственные.
Вещественные
физические
модели
-
это
макеты,
муляжи,
воспроизводящие физические свойства оригиналов (кинематические,
динамические,
гидравлические,
тепловые,
электрические,
световые
модели).
8
Вещественные математические - это аналоговые, структурные,
геометрические, графические, цифровые и кибернетические модели.
Идеальные наглядные модели - это схемы, карты, чертежи, графики,
графы, аналоги, структурные и геометрические модели.
Идеальные знаковые модели - это символы, алфавит, языки
программирования, упорядоченная запись, топологическая запись, сетевое
представление.
Идеальные
математические
модели
это
-
аналитические,
функциональные, имитационные, комбинированные модели.
В приведенной классификации некоторые модели имеют двойное
толкование (например - аналоговые). Все модели, кроме натурных, можно
объединить в один класс мысленных моделей, т.к. они являются
продуктом абстрактного мышления человека.
Остановимся
на
одном
моделирования
-
моделируемому
физическому
из
наиболее
математическом,
универсальных
ставящим
процессу
в
систему
видов
соответствие
математических
соотношений, решение которой позволяет получить ответ на вопрос о
поведении объекта без создания физической модели, часто оказывающейся
дорогостоящей и неэффективной.
Математическое моделирование - это средство изучения реального
объекта, процесса или системы путем их замены математической
моделью, более удобной для экспериментального исследования с помощью
ЭВМ.
Математическая модель является приближенным представлением
реальных объектов, процессов или систем, выраженным в математических
терминах
и
сохраняющим
существенные
черты
оригинала.
Математические модели в количественной форме, с помощью логикоматематических конструкций, описывают основные свойства объекта,
процесса или системы, его параметры, внутренние и внешние связи.
9
В общем случае математическая модель реального объекта,
процесса или системы представляется в виде системы функционалов
Фi (X,Y,Z,t)=0,
где X - вектор входных переменных, X=[x1,x2,x3, ... , xN]t,
Y - вектор выходных переменных, Y=[y1,y2,y3, ... , yN]t,
Z - вектор внешних воздействий, Z=[z1,z2,z3, ... , zN]t,
t - координата времени.
Построение математической модели заключается в определении
связей между теми или иными процессами и явлениями, создании
математического аппарата, позволяющего выразить количественно и
качественно связь между теми или иными процессами и явлениями, между
интересующими специалиста физическими величинами, и факторами,
влияющими на конечный результат.
Обычно их оказывается настолько много, что ввести в модель всю их
совокупность не удается. При построении математической модели перед
исследованием возникает задача выявить и исключить из рассмотрения
факторы,
несущественно
влияющие
на
конечный
результат
(математическая модель обычно включает значительно меньшее число
факторов, чем в реальной действительности). На основе данных
эксперимента выдвигаются гипотезы
о
связи
выражающими
и
факторами,
конечный
результат,
между величинами,
введенными
в
математическую модель. Такая связь зачастую выражается системами
дифференциальных уравнений в частных производных (например, в
задачах механики твердого тела, жидкости и газа, теории фильтрации,
теплопроводности, теории электростатического и электродинамического
полей).
Конечной
целью
этого
этапа
является
формулирование
математической задачи, решение которой с необходимой точностью
выражает результаты, интересующие специалиста.
10
1.2.
Форма и принципы представления математической модели
По принципам построения математические модели разделяют на:
 аналитические;
 имитационные.
В аналитических моделях процессы функционирования реальных
объектов,
процессов
или
систем
записываются
в
виде
явных
функциональных зависимостей.
Аналитическая модель разделяется на типы в зависимости от
математической проблемы:

уравнения (алгебраические, трансцендентные, дифференциальные,
интегральные),

аппроксимационные
задачи
(интерполяция,
экстраполяция,
численное интегрирование и дифференцирование),

задачи оптимизации,

стохастические проблемы.
Однако по мере усложнения объекта моделирования построение
аналитической модели превращается в трудноразрешимую проблему.
Тогда
исследователь
вынужден
использовать
имитационное
моделирование.
В имитационном моделировании функционирование объектов,
процессов или систем описывается набором алгоритмов. Алгоритмы
имитируют реальные элементарные явления, составляющие процесс или
систему с сохранением их логической структуры и последовательности
протекания во времени. Имитационное моделирование позволяет по
исходным данным получить сведения о состояниях процесса или системы
в определенные моменты времени, однако прогнозирование поведения
объектов, процессов или систем здесь затруднительно. Можно сказать, что
имитационные модели - это проводимые на ЭВМ вычислительные
эксперименты с математическими моделями, имитирующими поведение
реальных объектов, процессов или систем.
11
В зависимости от характера исследуемых реальных процессов и
систем математические модели могут быть:
 детерминированные,
 стохастические.
В детерминированных моделях предполагается отсутствие всяких
случайных воздействий, элементы модели (переменные, математические
связи) достаточно точно установленные, поведение системы можно точно
определить. При построении детерминированных моделей чаще всего
используются
алгебраические
уравнения,
интегральные
уравнения,
матричная алгебра.
Стохастическая модель учитывает случайный характер процессов в
исследуемых объектах и системах, который описывается методами теории
вероятности и математической статистики.
По виду входной информации модели разделяются на:
 непрерывные,
 дискретные.
Если
информация
и
параметры
являются
непрерывными,
а
математические связи устойчивы, то модель - непрерывная. И наоборот,
если информация и параметры - дискретны, а связи неустойчивы, то и
математическая модель - дискретная.
По поведению моделей во времени они разделяются на:
 статические,
 динамические.
Статические модели описывают поведение объекта, процесса или
системы в какой-либо момент времени. Динамические модели отражают
поведение объекта, процесса или системы во времени.
По степени соответствия между математической моделью и
реальным объектом, процессом или системой математические модели
разделяют на:
 изоморфные (одинаковые по форме),
12
 гомоморфные (разные по форме).
Модель называется изоморфной, если между нею и реальным
объектом, процессом или системой существует полное поэлементное
соответствие. Гомоморфной - если существует соответствие лишь между
наиболее значительными составными частями объекта и модели.
1.3.
Неустранимая
Классификация погрешностей
погрешность
обуславливается
погрешностью
математической модели, так как это лишь приближенное описание
реального явления, и погрешностью исходных данных. Погрешность,
источником
которой
является
метод
решения
задачи,
называется
погрешностью метода. Погрешность, возникающая из-за округления –
вычислительная погрешность.
Полная погрешность складывается из этих трех составляющих.
Абсолютной погрешностью приближенного значения а* величины а
называется разность а-а*=А(а*).
Относительная
погрешность
 (а*) 
а  а*
а
это
отношение
абсолютной погрешности к его приближенному значению а.
Погрешности арифметических вычислений
Абсолютная погрешность алгебраической суммы равна сумме
абсолютных
погрешностей
слагаемых
(а * b*)  (а*)  (b*)
.
Относительная погрешность произведения и частного равна сумме
погрешностей сомножителей или делимого и делителя
 (a * b*)   (a*)   (b*)
 (a * / b*)   (a*)   (b*)
При массовом вычислении, когда не учитывают погрешность
каждого отдельного результата, пользуются следующими правилами:
13
1.
При сложении и вычитании приближенных чисел сохраняют столько
десятичных знаков, сколько их в приближенном данном с
наименьшим числом десятичных знаков.
2.
При умножении и делении в результате сохраняют столько значащих
цифр, сколько их имеет приближенное значение с наименьшим
числом значащих цифр.
3.
При возведении в квадрат и куб в результате сохраняют столько
значащих цифр, сколько их имеет возводимое в степень число.
4.
При извлечении квадратного или кубического корня в результате
берут столько значащих цифр, сколько из имеет подкоренное число.
5.
При вычислении промежуточных результатов берут на одну цифру
больше, которая отбрасывается при окончательном результате.
6.
Если данные имеют больше десятичных знаков (значащих цифр), их
предварительно округляют.
1.4.
Классификация алгебраических задач
Алгебраические задачи могут быть классифицированы по числу
решаемых уравнений, а затем по типу и количеству ожидаемых решений.
Алгебраические и
трансцендентные
уравнения
Система уравнений
1 уравнение
Линейное
(1 решение)
Нелинейное
Алгебраическое
(n решений)
Линейное
(1 решение)
Нелинейное
Трансцендентное
(неопределенное
количество
решений)
Рис. 1.1. Классификация алгебраических задач
14
В
случае
одного
уравнения
задачу
называют
линейной,
алгебраической или трансцендентной. Причем первая имеет одно решение,
вторая – n, в третьей число решений заранее неизвестно. В случае
нескольких уравнений задачу называют линейной или нелинейной.
Трансцендентными называют нелинейные уравнения, содержащие
тригонометрические функции или другие, например lgx или ех.
Методы решения нелинейных уравнений такого типа делятся на
прямые и итерационные. Первые позволяют найти решение с помощью
формулы (корень квадратного уравнения). В итерационных методах
процедура решения задается в виде многократного применения некоторого
алгоритма. Полученное решение всегда является приближенным, хотя
может быть сколь угодно близким к точному.
Вопросы для самопроверки
1.
Каковы цели и задачи математического моделирования?
2.
Принципы классификации математических моделей?
3.
Дайте определение абсолютной и относительной погрешности.
4.
Как осуществляется учет погрешности при массовом вычислении?
5.
Приведите классификацию алгебраических задач.
15
Тема 2
Особенности построения математических моделей
Для использования ЭВМ при решении прикладных задач прежде
всего прикладная задача должна быть "переведена" на формальный
математический язык, т.е. для реального объекта, процесса или системы
должна быть построена его математическая модель.
Математические модели в количественной форме, с помощью
логико-математических конструкций, описывают основные свойства
объекта, процесса или системы, его параметры, внутренние и внешние
связи.
Для построения математической модели необходимо:
- тщательно проанализировать реальный объект или процесс;
- выделить его наиболее существенные черты и свойства;
- определить переменные, т.е. параметры, значения которых влияют
на основные черты и свойства объекта;
- описать зависимость основных свойств объекта, процесса или
системы от значения переменных с помощью логико-математических
соотношений (уравнения, равенства, неравенства, логико-математические
конструкций);
- выделить внутренние связи объекта, процесса или системы с
помощью
ограничений,
уравнений,
равенств,
неравенств,
логико-
математических конструкций;
- определить внешние связи и описать их с помощью ограничений,
уравнений, равенств, неравенств, логико-математических конструкций.
Математическое моделирование, кроме исследования объекта,
процесса или системы и составления их математического описания, также
включает:
-
построение алгоритма, моделирующего поведение объекта,
процесса или системы;
16
- проверка адекватности модели и объекта, процесса или системы на
основе вычислительного и натурного эксперимента;
- корректировка модели;
- использование модели.
Математическое описание исследуемых процессов и систем зависит
от:
- природы реального процесса или системы и составляется на основе
законов физики, химии, механики, термодинамики, гидродинамики,
электротехники, теории пластичности, теории упругости и т.д.
- требуемой достоверности и точности изучения и исследования
реальных процессов и систем.
На
этапе
выбора
математической
модели
устанавливаются:
линейность и нелинейность объекта, процесса или системы, динамичность
или статичность, стационарность или нестационарность, а также степень
детерминированности
исследуемого
объекта
или
процесса.
При
математическом моделировании сознательно отвлекаются от конкретной
физической природы объектов, процессов или систем и, в основном,
сосредотачиваются на изучении количественных зависимостей между
величинами, описывающими эти процессы.
Математическая модель никогда не бывает полностью тождественна
рассматриваемому объекту, процессу или системе. Основанная на
упрощении, идеализации она является приближенным описанием объекта.
Поэтому
результаты,
приближенный
полученные
характер.
Их
при
точность
анализе
модели,
определяется
носят
степенью
адекватности (соответствия) модели и объекта.
Построение
математической
модели
обычно
начинается
с
построения и анализа простейшей, наиболее грубой математической
модели рассматриваемого объекта, процесса или системы. В дальнейшем,
в случае необходимости, модель уточняется, делается ее соответствие
объекту более полным.
17
Чем выше требования к точности результатов решения задачи, тем
больше необходимость учитывать при построении математической
модели особенности изучаемого объекта, процесса или системы. Однако,
здесь важно во время остановиться, так как сложная математическая
модель может превратиться в трудно разрешимую задачу.
Наиболее просто строится модель, когда хорошо известны законы,
определяющие поведение и свойства объекта, процесса или системы, и
имеется большой практический опыт их применения.
Более сложная ситуация возникает тогда, когда наши знания об
изучаемом объекте, процессе или системе недостаточны. В этом случае
при
построении
математической
модели
приходится
делать
дополнительные предположения, которые носят характер гипотез, такая
модель называется гипотетической. Выводы, полученные в результате
исследования такой гипотетической модели, носят условный характер. Для
проверки выводов необходимо сопоставить результаты исследования
модели на ЭВМ с результатами натурного эксперимента. Таким образом,
вопрос применимости некоторой математической модели к изучению
рассматриваемого
объекта,
процесса
или
системы
не
является
математическим вопросом и не может быть решен математическими
методами.
Основным критерием истинности является эксперимент, практика в
самом широком смысле этого слова.
Построение математической модели в прикладных задачах – один
из наиболее сложных и ответственных этапов работы. Опыт показывает,
что во многих случаях правильно выбрать модель – значит решить
проблему более, чем наполовину. Трудность данного этапа состоит в том,
что он требует соединения математических и специальных знаний.
Поэтому очень важно, чтобы при решении прикладных задач математики
обладали специальными знаниями об объекте, а их партнеры, специалисты,
18
– определенной математической культурой, опытом исследования в своей
области, знанием ЭВМ и программирования.
Вопросы для самопроверки
1.
Каков алгоритм построения математической модели?
2.
Почему результаты, полученные при анализе модели, носят
приближенный характер?
3.
Что такое гипотетическая модель?
19
Тема 3
Компьютерное моделирование и вычислительный эксперимент.
Решение математических моделей
Компьютерное
моделирование
как
новый
метод
научных
исследований основывается на:

построении математических моделей для описания изучаемых
процессов;

использовании
новейших
вычислительных
машин,
обладающих высоким быстродействием (миллионы операций в секунду) и
способных вести диалог с человеком.
Суть компьютерного моделирования состоит в следующем: на
основе математической модели с помощью ЭВМ проводится серия
вычислительных экспериментов, т.е. исследуются свойства объектов или
процессов, находятся их оптимальные параметры и режимы работы,
уточняется модель. Например, располагая уравнением, описывающим
протекание того или иного процесса, можно изменяя его коэффициенты,
начальные и граничные условия, исследовать, как при этом будет вести
себя объект. Более того, можно спрогнозировать поведение объекта в
различных условиях.
Вычислительный эксперимент позволяет заменить дорогостоящий
натурный эксперимент расчетами на ЭВМ. Он позволяет в короткие сроки
и без значительных материальных затрат осуществить исследование
большого числа вариантов проектируемого объекта или процесса для
различных режимов его эксплуатации, что значительно сокращает сроки
разработки сложных систем и их внедрение в производство.
Компьютерное моделирование и вычислительный эксперимент как
новый
метод
научного
исследования
заставляет
совершенствовать
математический аппарат, используемый при построении математических
моделей,
усложнять
позволяет,
используя
математические
математические
модели.
Наиболее
методы,
уточнять,
перспективным
для
20
проведения вычислительного эксперимента является его использование
для решения крупных научно-технических и социально-экономических
проблем
современности
электростанций,
(проектирование
проектирование
плотин
реакторов
и
для
атомных
гидроэлектростанций,
магнитогидродинамических преобразователей энергии, и в области
экономики – составление сбалансированного плана для отрасли, региона,
для страны и др.).
В некоторых процессах, где натурный эксперимент опасен для жизни
и здоровья людей, вычислительный эксперимент является единственно
возможным (термоядерный синтез, освоение космического пространства,
проектирование и исследование химических и других производств).
Для проверки адекватности математической модели и реального
объекта, процесса или системы результаты исследований на ЭВМ
сравниваются с результатами эксперимента на опытном натурном образце.
Результаты проверки используются для корректировки математической
модели
или
решается
вопрос
о
применимости
построенной
математической модели к проектированию либо исследованию заданных
объектов, процессов или систем.
В
заключение
моделирование
и
подчеркнем
вычислительный
еще
раз,
эксперимент
что
компьютерное
позволяют
свести
исследование "нематематического" объекта к решению математической
задачи. Этим самым открывается возможность использования для его
изучения хорошо разработанного математического аппарата в сочетании с
мощной вычислительной техникой. На этом основано применение
математики и ЭВМ для познания законов реального мира и их
использования на практике.
Итак, мы построили математическую модель рассматриваемого
объекта, процесса или системы, т.е. представили прикладную задачу как
математическую. После этого наступает второй этап решения прикладной
задачи – поиск или разработка метода решения сформулированной
21
математической задачи. Метод должен быть удобным для его реализации
на ЭВМ, обеспечивать необходимое качество решения.
Все методы решения математических задач можно разделить на 2
группы:
- точные методы решения задач;
- численные методы решения задач.
В точных методах решения математических задач ответ удается
получить в виде формул.
Например, вычисление корней квадратного уравнения:
или, например, вычисление производных функций:
или вычисление определенного интеграла:
Однако, подставляя числа в формулу в виде конечных десятичных
дробей, мы все равно получаем приближенные значения результата.
Для большинства задач, встречающихся на практике, точные методы
решения или неизвестны, или дают очень громоздкие формулы. Однако,
они не всегда являются необходимыми. Прикладную задачу можно считать
практически решенной, если мы сумеем ее решить с нужной степенью
точности.
Для решения таких задач разработаны численные методы, в которых
решение сложных математических задач сводится к последовательному
выполнению
большого
Непосредственная
числа
разработка
простых
арифметических
численных
методов
операций.
относится
к
вычислительной математике.
22
Примером численного метода является метод прямоугольников для
приближенного
первообразной
интегрирования,
для
не
подынтегральной
требующий
функции.
вычисления
Вместо
интеграла
вычисляется конечная квадратурная сумма:
где
x1=a – нижний предел интегрирования;
xn+1=b – верхний предел интегрирования;
n – число отрезков, на которые разбит интервал интегрирования (a,b);
– длина элементарного отрезка;
f(xi) – значение подынтегральной функции на концах элементарных
отрезков интегрирования.
Чем больше число отрезков n, на которые разбит интервал
интегрирования, тем ближе приближенное решение к истинному, т.е. тем
точнее результат.
Таким образом, в прикладных задачах и при применении точных
методов решения, и при применении численных методов решения
результаты вычислений носят приближенный характер. Важно только
добиться того, чтобы ошибки укладывались в рамки требуемой точности.
Численные методы решения математических задач известны давно,
еще до появления ЭВМ, но ими пользовались редко и только в
сравнительно простых случаях в силу чрезвычайной трудоемкости
вычислений. Широкое применение численных методов стало возможным
благодаря ЭВМ.
Вопросы для самопроверки
1.
В чем заключается суть компьютерного моделирования?
2.
Что
такое
точные
и
численные
методы
решения
математических задач?
23
3.
Как определить степень точности решения математической
задачи?
24
Тема 4
Численные методы решения нелинейных уравнений
Если законы функционирования модели нелинейны, а моделируемые
процесс или система обладают одной степенью свободы (т.е. имеют одну
независимую переменную), то такая модель, как правило, описывается
одним нелинейным уравнением.
Необходимость
встречается
в
отыскания
расчетах
систем
корней
нелинейных
автоматического
уравнений
управления
и
регулирования, собственных колебаний машин и конструкций, в задачах
кинематического анализа и синтеза, плоских и пространственных
механизмов и других задачах.
Дано нелинейное уравнение:
(4.1)
Необходимо решить это уравнение, т. е. найти его корень
.
Рис. 4.1. Функция f(x)
Если функция имеет вид многочлена степени m,
где ai - коэффициенты многочлена,
, то уравнение f(x)=0
имеет m корней (рис. 4.2).
25
Рис. 4.2. Функция f(x).
Если функция f(x) включает в себя тригонометрические или
экспоненциальные функции от некоторого аргумента x, то уравнение (4.1)
называется трансцендентным уравнением.
Примеры:
Такие уравнения обычно имеют бесконечное множество решений.
Как известно, не всякое уравнение может быть решено точно. В
первую очередь это относится к большинству трансцендентных уравнений.
Доказано также, что нельзя построить формулу, по которой можно
было бы решать произвольные алгебраические уравнения степени, выше
четвертой.
Однако точное решение уравнения не всегда является необходимым.
Задачу отыскания корней уравнения можно считать практически решенной,
если мы сумеем найти корни уравнения с заданной степенью точности.
Для этого используются приближенные (численные) методы решения.
Большинство употребляющихся приближенных методов решения
уравнений являются, по существу, способами уточнения корней. Для их
применения необходимо знание интервала изоляции [a, b], в котором
лежит уточняемый корень уравнения (рис. 4.3).
26
Рис. 4.3. Интервал изоляции
Процесс определения интервала изоляции [a, b], содержащего только
один из корней уравнения, называется отделением этого корня.
Процесс отделения корней проводят исходя из физического смысла
прикладной задачи, графически, с помощью таблиц значений функции f(x)
или при помощи специальной программы отделения корней. Процедура
отделения корней основана на известном свойстве непрерывных функций:
если функция непрерывна на замкнутом интервале [a, b] и на его концах
имеет различные знаки, т.е. f(a)f(b)<0, то между точками a и b имеется хотя
бы один корень уравнения (1). Если при этом знак функции f'(x) на отрезке
[a, b] не меняется, то корень является единственным на этом отрезке.
Процесс определения корней алгебраических и трансцендентных
уравнений состоит из 2 этапов:
- отделение корней, - т.е. определение интервалов изоляции [a, b],
внутри которого лежит каждый корень уравнения;
- уточнение корней, - т.е. сужение интервала [a, b] до величины
равной заданной степени точности
.
Для алгебраических и трансцендентных уравнений пригодны одни и
те же методы уточнения приближенных значений действительных корней:
- метод половинного деления (метод дихотомии);
- метод простых итераций;
- метод Ньютона (метод касательных);
- модифицированный метод Ньютона (метод секущих);
27
- метод хорд и др.
4.1.
Метод половинного деления
Дано нелинейное уравнение:
(4.1)
Найти корень уравнения, принадлежащий интервалу [a, b], с
заданной точностью .
Для уточнения корня методом половинного деления последовательно
осуществляем следующие операции:
Делим интервал пополам:
В качестве нового интервала изоляции принимаем ту половину
интервала, на концах которого функция имеет разные знаки (рис.4.4).
Рис. 4.4. Интервал изоляции.
Для этого:
a) Вычисляем значение функции f(x) в точках a и t.
b) Проверяем: если f(a)f(t) < 0, то корень находится в левой половине
интервала [a,b] (рис.4.4.а). Тогда отбрасываем правую половину интервала
и делаем переприсвоение b=t.
c) Если f(a)f(t) < 0 не выполняется, то корень находится в правой
половине интервала [a, b] (рис.4.4.б). Тогда отбрасываем левую половину и
делаем переприсвоение a=t. В обоих случаях мы получим новый интервал
[a,b] в 2 раза меньший предыдущего.
28
Процесс, начиная с пункта 1, циклически повторяем до тех пор, пока
длина интервала [a, b] не станет равной либо меньшей заданной точности,
т.е.
Схема алгоритма уточнения корней по методу половинного деления
представлена на рис. 4.5.
Рис. 4.5. Схема алгоритма уточнения
4.2.
Метод простых итераций
В ряде случаев весьма удобным приемом уточнения корня уравнения
является метод последовательных приближений (метод итераций).
Пусть с точностью
необходимо найти корень уравнения f(x)=0,
принадлежащий интервалу изоляции [a, b]. Функция f(x) и ее первая
производная непрерывны на этом отрезке.
29
Для применения этого метода исходное уравнение f(x)=0 должно
быть приведено к виду
(4.2)
В качестве начального приближения 0 выбираем любую точку
интервала [a, b].
Далее итерационный процесс поиска корня строится по схеме:
(4.3)
В
результате
итерационный
процесс
поиска
реализуется
рекуррентной формулой (4.3). Процесс поиска прекращается, как только
выполняется условие
(4.4)
или число итераций превысит заданное число N.
Для того, чтобы последовательность х1, х2,…, хn приближалась к
искомому корню, необходимо, чтобы выполнялось условие сходимости:
(4.5)
Рис. 4.6. Геометрический смысл метода
Переходим к построению схемы алгоритма (рис. 4.7). Вычисление
функции
оформим в виде подпрограммы.
30
Рис. 4.7. Схема алгоритма уточнения корня методом итераций
4.3.
Метод Ньютона (метод касательных)
Рассмотренные ранее методы решения нелинейных уравнений
являются методами прямого поиска. В них для нахождения корня
используется нахождение значения функции в различных точках интервала
[a,b].
Метод Ньютона относится к градиентным методам, в которых для
нахождения корня используется значение производной.
Дано нелинейное уравнение:
f(x)=0
Найти корень на интервале [a,b] с точностью .
Метод Ньютона основан на замене исходной функции f(x), на
каждом шаге поиска касательной, проведенной к этой функции.
Пересечение касательной с осью Х дает приближение корня (Рис. 4.8).
Выберем начальную точку x0=b (конец интервала изоляции).
Находим значение функции в этой точке и проводим к ней касательную,
пересечение которой с осью Х дает нам первое приближение корня x1.
31
Рис. 4.8. Метод Ньютона
x1 = x0 – h0,
где
Поэтому
В результате итерационный процесс схождения к корню реализуется
рекуррентной формулой
(4.6)
Процесс поиска продолжаем до тех пор, пока не выполнится условие:
(4.7)
Упростим условие (4.7), исходя из (4.6). Получим:
(4.8)
Метод обеспечивает быструю сходимость, если выполняется условие:
(4.9)
т.е. первую касательную рекомендуется проводить в той точке
интервала [a,b], где знаки функции f(x0) и ее кривизны f"(x0) совпадают.
Схема алгоритма уточнения корня метод Ньютона приведена на рис.
4.9
32
Рис. 4.9. Схема алгоритма уточнения корня методом Ньютона
4.4.
Модифицированный метод Ньютона (метод секущих)
В этом методе для вычисления производных на каждом шаге поиска
используется численное дифференцирование по формуле:
Тогда рекуррентная формула (4.6) будет иметь вид:
(4.10)
где
33
4.5.
Метод хорд
Метод основан на замене функции f(x) на каждом шаге поиска
хордой, пересечение которой с осью Х дает приближение корня.
При этом в процессе поиска семейство хорд может строиться:
а) при фиксированном левом конце хорд, т.е. z=a, тогда начальная
точка х0=b (рис. 4.10а);
б) при фиксированном правом конце хорд, т.е. z=b, тогда начальная
точка х0=a (рис. 4.10б);
Рис. 4.10. Метод хорд
В результате итерационный процесс схождения к корню реализуется
рекуррентной формулой:
для случая а)
(4.11)
для случая б)
(4.12)
Процесс поиска продолжается до тех пор, пока не выполнится
условие
(4.13)
Метод обеспечивает быструю сходимость, если f(z)f"(z) > 0, т.е.
хорды фиксируются в том конце интервала [a,b], где знаки функции f(z) и
ее кривизны f"(z) совпадают.
34
Схема алгоритма уточнения корня методом хорд представлена на
рис. 4.11.
Рис. 4.11. Схема алгоритма уточнения корня методом хорд
Вопросы для самопроверки
1.
Дайте определение трансцендентного уравнения.
2.
В чем заключается метод половинного деления?
3.
В чем заключается метод простых итераций?
4.
В чем заключается метод Ньютона (метод касательных)?
35
5.
В чем заключается модифицированный метод Ньютона (метод
секущих)?
6.
В чем заключается метод хорд?
36
Тема 5
Компьютерное имитационное моделирование. Статистическое
имитационное моделирование
Компьютерное
моделирование
как
новый
метод
научных
исследований основывается на:
- построении математических моделей для описания изучаемых
процессов;
- использовании новейших вычислительных машин, обладающих
высоким быстродействием (миллионы операций в секунду) и способных
вести диалог с человеком.
Суть компьютерного моделирования состоит в следующем: на
основе математической модели с помощью ЭВМ проводится серия
вычислительных экспериментов, т.е. исследуются свойства объектов или
процессов, находятся их оптимальные параметры и режимы работы,
уточняется модель. Например, располагая уравнением, описывающим
протекание того или иного процесса, можно изменяя его коэффициенты,
начальные и граничные условия, исследовать, как при этом будет вести
себя объект. Имитационные модели - это проводимые на ЭВМ
вычислительные
эксперименты
с
математическими
моделями,
имитирующими поведение реальных объектов, процессов или систем.
Реальные процессы и системы можно исследовать с помощью двух
типов математических моделей: аналитических и имитационных.
В аналитических моделях поведение реальных процессов и систем
(РПС) задается в виде явных функциональных зависимостей (уравнений
линейных или нелинейных, дифференциальных или интегральных, систем
этих уравнений). Однако получить эти зависимости удается только для
сравнительно простых РПС. Когда явления сложны и многообразны
исследователю приходится идти на упрощенные представления сложных
РПС. В результате аналитическая модель становится слишком грубым
приближением к действительности. Если все же для сложных РПС удается
37
получить аналитические модели, то зачастую они превращаются в трудно
разрешимую
проблему.
Поэтому
исследователь
вынужден
часто
использовать имитационное моделирование.
Имитационное моделирование представляет собой численный метод
проведения на ЭВМ вычислительных экспериментов с математическими
моделями, имитирующими поведение реальных объектов, процессов и
систем
во
времени
функционирование
в
течении
РПС
заданного
разбивается
на
периода.
При
элементарные
этом
явления,
подсистемы и модули. Функционирование этих элементарных явлений,
подсистем и
модулей
описывается набором алгоритмов, которые
имитируют элементарные явления с сохранением их логической структуры
и последовательности протекания во времени.
Имитационное
моделирование
-
это
совокупность
методов
алгоритмизации функционирования объектов исследований, программной
реализации алгоритмических описаний, организации, планирования и
выполнения на ЭВМ вычислительных экспериментов с математическими
моделями, имитирующими функционирование РПС в течении заданного
периода.
Под
алгоритмизацией
функционирования
РПС
понимается
пооперационное описание работы всех ее функциональных подсистем
отдельных модулей с уровнем детализации, соответствующем комплексу
требований к модели.
"Имитационное
моделирование"
(ИМ)-
это
двойной
термин.
"Имитация" и "моделирование" - это синонимы. Фактически все области
науки и техники являются моделями реальных процессов. Чтобы отличить
математические модели друг от друга, исследователи стали давать им
дополнительные
названия.
Термин
"имитационное
моделирование"
означает, что мы имеем дело с такими математическими моделями, с
помощью которых нельзя заранее вычислить или предсказать поведение
системы,
а
для
предсказания
поведения
системы
необходим
38
вычислительный эксперимент (имитация) на математической модели при
заданных исходных данных.
Основное достоинство ИМ:
- возможность описания поведения компонент (элементов) процессов
или систем на высоком уровне детализации;
- отсутствие ограничений между параметрами ИМ и состоянием
внешней среды РПС;
- возможность исследования динамики взаимодействия компонент во
времени и пространстве параметров системы;
Эти достоинства обеспечивают имитационному методу широкое
распространение.
Рекомендуется
использовать
имитационное
моделирование
в
следующих случаях:
1.
Если
исследования
не
и
существует
идет
процесс
законченной
познания
постановки
объекта
задачи
моделирования.
Имитационная модель служит средством изучения явления.
2.
Если аналитические методы имеются, но математические
процессы сложны и трудоемки, и имитационное моделирование дает более
простой способ решения задачи.
3.
Когда кроме оценки влияния параметров (переменных)
процесса или системы желательно осуществить наблюдение за поведением
компонент
(элементов)
процесса
или
системы
(ПС)
в
течение
определенного периода.
4.
Когда
единственным
имитационное
способом
моделирование
исследования
сложной
оказывается
системы
из-за
невозможности наблюдения явлений в реальных условиях (реакции
термоядерного синтеза, исследования космического пространства).
5.
Когда необходимо контролировать протекание процессов или
поведение систем путем замедления или ускорения явлений в ходе
имитации.
39
6.
При подготовке специалистов новой техники, когда на
имитационных
моделях
обеспечивается
возможность
приобретения
навыков в эксплуатации новой техники.
7.
Когда изучаются новые ситуации в РПС. В этом случае
имитация служит для проверки новых стратегий и правил проведения
натурных экспериментов.
8.
Когда особое значение имеет последовательность событий в
проектируемых ПС и модель используется для предсказания узких мест в
функционировании РПС.
Однако ИМ наряду с достоинствами имеет и недостатки:
1.
Разработка хорошей ИМ часто обходится дороже создания
аналитической модели и требует больших временных затрат.
2.
Может оказаться, что ИМ неточна (что бывает часто), и мы не
в состоянии измерить степень этой неточности.
3.
Зачастую исследователи обращаются к ИМ, не представляя тех
трудностей , с которыми они встретятся и совершают при этом ряд ошибок
методологического характера.
И тем не менее ИМ является одним из наиболее широко
используемых методов при решении задач синтеза и анализа сложных
процессов и систем.
Одним
из
видов
статистическое
воспроизводить
имитационного
имитационное
на
ЭВМ
моделирования
моделирование,
функционирование
сложных
является
позволяющее
случайных
процессов.
При исследовании сложных систем, подверженных случайным
возмущениям используются вероятностные аналитические модели и
вероятностные имитационные модели.
В вероятностных аналитических моделях влияние случайных
факторов учитывается с помощью задания вероятностных характеристик
случайных процессов (законы распределения вероятностей, спектральные
40
плотности
или
корреляционные
функции).
При
этом
построение
вероятностных аналитических моделей представляет собой сложную
вычислительную
задачу.
Поэтому
вероятностное
аналитическое
моделирование используют для изучения сравнительно простых систем.
Подмечено, что введение случайных возмущений в имитационные
модели не вносит принципиальных усложнений, поэтому исследование
сложных случайных процессов проводится в настоящее время, как правило,
на имитационных моделях.
В вероятностном имитационном моделировании оперируют не с
характеристиками случайных процессов, а с конкретными случайными
числовыми значениями параметров ПС. При этом результаты, полученные
при
воспроизведении
на
имитационной
модели
рассматриваемого
процесса, являются случайными реализациями. Поэтому для нахождения
объективных и устойчивых характеристик процесса требуется его
многократное
воспроизведение,
с
последующей
статистической
обработкой полученных данных. Именно поэтому исследование сложных
процессов и систем, подверженных случайным возмущениям, с помощью
имитационного
моделирования
принято
называть
статистическим
моделированием.
Статистическая модель случайного процесса - это алгоритм, с
помощью которого имитируют работу сложной системы, подверженной
случайным возмущениям; имитируют взаимодействие элементов системы,
носящих вероятностный характер.
Вопросы для самопроверки
1.
Что такое аналитические и имитационные модели?
2.
Перечислите достоинства и недостатки имитационных моделей.
3.
Дайте определение вероятностным имитационным моделям.
4.
Дайте определение понятию «статистическая модель».
41
Тема 6
Компьютерное моделирование и решение линейных и нелинейных
многомерных систем
При моделировании задач может быть положена гипотеза линейного
представления реального мира. Математические модели таких задач
представляются линейными уравнениями. Если задача многомерна, то ее
математическая модель представляется системой линейных уравнений.
Линейные
математические
модели
также
используются
в
нелинейных системах при условии, если эта нелинейная система условно
линеаризирована.
В общем виде система линейных уравнений имеет вид:
где
aij- коэффициенты при неизвестных системы,
bi- свободные члены,
xj- неизвестные системы,
- номер строки,
- номер столбца,
n - порядок системы.
В матричной форме система линейных уравнений имеет вид:
где
42
Численные методы решения систем линейных уравнений (СЛУ)
можно разделить на две группы:
- точные или прямые методы,
- приближенные методы.
Приближенные методы реализуют на ЭВМ нахождение корней с
заданной точностью и являются итерационными методами.
Точные методы позволяют получить решение системы за конечное
число итераций. К точным методам относятся:
 метод Гаусса,
 метод прогонки.
6.1.
Решение систем линейных уравнений методом Гаусса
Метод Гаусса является точным методом. Он позволяет получить
решение системы за конечное число арифметических действий. В основе
метода лежит идея последовательного исключения неизвестных. Метод
состоит из двух этапов. На первом этапе (прямой ход) система при помощи
последовательного исключения неизвестных приводится к треугольному
виду. На втором этапе (обратный ход) из системы треугольного вида
последовательно, в обратном порядке, начиная c n-го уравнения, находятся
неизвестные системы.
В качестве примера возьмем систему 4 порядка.
43
(6.1)
Прямой ход. На первом шаге прямого хода (к=1) находим x1 из
первого уравнения системы (6.1).
- ведущий элемент первой строки.
Если
, то
(6.2)
Обозначим:
(6.3)
Подставляя (6.3) в (6.2), получим
(6.4)
где
Подставляем (6.4) во 2, 3 и 4 уравнение системы (6.1), получим:
Обозначив коэффициенты при неизвестных полученной системы
через
, а свободные члены через
перепишем полученную систему:
(6.5)
где
44
Таким образом, в результате выполнения первого шага прямого хода
исходная система (6.1) n-го порядка преобразована к совокупности
уравнения (9.4) и системы линейных уравнений (6.5), порядок которой
равен n-1.
На втором шаге прямого хода (к=2) из первого уравнения системы
(6.5) находим x2.
-ведущий элемент первой строки системы (6.5).
Если
, то из первого уравнения системы (6.5) имеем:
(6.6)
где
Подставив выражение (6.6) во второе и третье уравнения системы
(6.5), получим новую систему линейных уравнений, порядок которой равен
n-2.
(6.7)
где
Таким образом, в результате выполнения второго шага прямого хода
исходная система (6.1) преобразована к совокупности уравнений (6.4), (6.6)
и системы линейных уравнений (6.7),порядок которой равен n-2.
На третьем шаге прямого хода (к=3) из системы (6.7) находим x3.
- ведущий элемент системы (6.7).
45
Если
, то из первого уравнения системы (6.7) имеем:
(6.8)
где
Подставив выражение (9.8) для x3 во второе уравнение системы (6.7)
получим:
(6.9)
где
На последнем шаге прямого хода, если
, то из уравнения (6.9)
имеем:
(6.10)
где
(6.11)
В результате выполнения всех шагов прямого хода исходная система
(6.1) приводится к системе треугольного вида, полученной объединением
уравнений (6.4), (6.6), (6.8), (6.10):
(6.12)
При построении алгоритма прямого хода вычисление организуем в
цикле по шагам, т.е.
.
Последний n-й шаг прямого хода выведем из цикла т.к. здесь
реализуется только одно вычисление
46
(6.13)
В процессе выполнения всех шагов прямого хода все преобразования
коэффициентов и свободных членов проводим по полученным ранее
рекуррентным формулам:
(6.14)
где
– номер шага прямого хода,
- номер уравнения систем (6.5), (6.7)
В процессе обратного хода из системы (6.12) неизвестные находятся
в обратном порядке. Значение корня х4 находят из последнего уравнения
системы (6.12). Далее х4 используется для отыскания корня х3 из 3-го
уравнения, далее х3 и х4 используются отыскания х2 из 2-го уравнения
системы (6.12), и, наконец, х2, х3 и х4 используются для отыскания х1 из 1го уравнения системы (6.12).
Все вычисления обратного хода проводим в цикле по i, где
по рекуррентным формулам:
xi= bi.
Рассмотренный
называемый
схемой
выше
простейший
единственного
вариант
деления,
метода
обладает
Гаусса,
следующим
недостатком: если ведущий элемент akk какой-либо строки окажется
равным нулю, то этот метод формально непригоден, хотя система может
иметь единственное решение. Из этих соображений в схеме алгоритма
добавлен поиск ненулевого ведущего элемента.
47
На рисунке 6.1 представлена укрупнённая схема алгоритма (блоксхема) метода Гаусса.
Рис. 6.1. Укрупнённая схема алгоритма (блок-схема) метода Гаусса
Вопросы для самопроверки
1.
Что такое прямой ход метода Гаусса?
2.
Что такое обратный ход метода Гаусса?
3.
Почему метод Гаусса является точным?
4.
В каком случае можно для описания энергетической системы
использовать систему линейных уравнений?
48
5.
Что дает построение схемы алгоритма математического метода?
49
Тема 7
Моделирование многомерных нелинейных систем
В задачах проектирования и исследования поведения реальных
объектов, процессов и систем (ОПС) математические модели должны
отображать реальные физические нелинейные процессы. При этом эти
процессы зависят, как правило, от многих переменных.
В результате математические модели реальных ОПС описываются
системами нелинейных уравнений.
7.1.
Решение систем нелинейных уравнений
Дана система нелинейных уравнений
(7.1)
или
Необходимо
решить
эту
систему,
т.е.
найти
вектор
, удовлетворяющий систему (10.1) с точностью .
Вектор
т.е.
определяет точку в n-мерном Евклидовом пространстве,
этому пространству и удовлетворяет всем уравнениям системы
(7.1).
В отличие от систем линейных уравнений для систем нелинейных
уравнений неизвестны прямые методы решения. При решении систем
нелинейных
уравнений
используются
итерационные
методы.
Эффективность всех итерационных методов зависит от выбора начального
приближения (начальной точки), т.е. вектора
Область, в которой начальное приближение
решению,
называется
областью
сходимости
.
сходится к искомому
G.
Если
начальное
50
приближение
лежит за пределами G, то решение системы получить не
удается.
Выбор начальной точки
во многом определяется интуицией и
опытом специалиста.
7.2.
Метод простых итераций
Для применения этого метода исходная система (7.1) должна быть
преобразована к виду
(7.2)
или
Далее, выбрав начальное приближение
и используя
систему (10.2), строим итерационный процесс поиска по схеме:
т.е. на каждом k-ом шаге поиска вектор переменных
находим,
используя значения переменных, полученных на шаге (k-1).
Итерационный процесс поиска прекращается как только выполнится
условие
(7.3)
При этом условие (7.3) должно выполняться одновременно по всем
переменным.
Метод простых итераций используется для решения таких систем
линейных уравнений, в которых выполняется условие сходимости
итерационного процесса поиска, а именно:
(7.4)
51
т.е. сумма абсолютных величин частных производных всех
преобразованных уравнений системы (7.2) по j-ой переменной меньше
единицы.
На рисунке 7.1 представлена схема алгоритма решения систем
нелинейных уравнений методом простых итераций.
Рис. 10.1. Схема алгоритма метода простых итераций
Рассмотрим пример.
Дана система нелинейных уравнений:
Необходимо определить область сходимости системы, выбрать
начальную точку и найти одно из решений системы.
Строим графики функций:
52
Рис. 7.2. График функций
Преобразуем систему для решения методом итераций
Проверяем условие сходимости (7.4). Для заданной системы оно
имеет вид:
Находим:
В результате условие (7.4) будет иметь вид:
Определяем область сходимости G.
Граница области сходимости определится при решении системы,
Отсюда х1=0,5;
.
53
В результате область сходимости определится при
и
На графике функций строим область сходимости G:
Рис. 7.3. Область сходимости
Выбираем начальную точку
области
сходимости
G.
Используя
, принадлежащую
выбранную
начальную
точку
решаем заданную систему нелинейных уравнений.
7.3.
Решение систем нелинейных уравнений методом Ньютона
Дана система нелинейных уравнений
(7.5)
или
Необходимо решить эту систему, т.е. найти вектор
,
удовлетворяющий систему (7.5) с точностью .
Метод Ньютона наиболее распространенный метод решения систем
нелинейных уравнений. Он обеспечивает более быструю сходимость по
сравнению с методом итераций.
54
В
основе
метода
Ньютона
лежит
идея
линеаризации
всех
нелинейных уравнений системы (7.5). Сообщим всей системе (7.5) малые
приращения hj и разложим каждое уравнение системы (7.5) в ряд Тейлора:
(7.6
)
где
hj- приращение по каждой xj;
Ri - остаточные нелинейные члены второго и более высоких
порядков каждого ряда Тейлора.
Если приращения hj таковы, что переменные xj принимают значения
близкие к корню, то будем считать, что левые части уравнений системы
(7.6) обращаются в нули. Тогда отбросив Ri сведем задачу решения
системы нелинейных уравнений (7.5) к решению системы линейных
уравнений, в которой неизвестными являются приращения hj,
(7.7)
Система (7.7) – система линейных уравнений с неизвестными hj,
. Запишем (7.7) в матричной форме
где
55
Матрица
А,
составленная
из
частных
производных
; называется матрицей Якоби или Якобианом.
Метод Ньютона состоит из двух этапов:
На первом этапе реализации метода Ньютона необходимо построить
систему (8.3).
На втором этапе, начиная с начальной точки
, необходимо решать
систему (8.3) на каждом шаге итерационного процесса поиска методом
Гаусса. Найденные значения приращений hj используются как поправки к
решению, полученному на предыдущем шаге поиска, т.е.
(7.8)
или
Итерационный процесс прекращается, как только выполнится
условие
(7.9)
по всем приращениям одновременно.
56
7.4.
Определение матрицы Якоби
В методе Ньютона на каждом шаге итерационного процесса поиска
необходимо формировать матрицу Якоби, при этом каждый элемент
матрицы можно определить:
- аналитически, как частную производную
-
методом
численного
,
дифференцирования,
приращения функции к приращению аргумента, т.е.
В результате частная производная
как
отношение
.
по первой координате х1
определится как
а частная производная
где
по координате хj определится как
.
Метод Ньютона имеет преимущества по сравнению с другими
методами. Но для метода Ньютона так же существует проблема
сходимости, с увеличением числа неизвестных область сходимости
уменьшается, а в случае больших систем, сходимость обеспечивается если
начальная точка близка к искомому решению.
На рисунке 7.4 представлена укрупнённая схема алгоритма (блоксхема) метода Ньютона. На рисунках 7.5 и 7.6 представлены схемы
алгоритмов метода Ньютона с различными способами определения
матрицы Якоби.
57
Рис. 7.4. Блок-схема алгоритма метода Ньютона
58
Рис. 7.5. Схема алгоритма метода Ньютона (аналитическое определение
матрицы Якоби)
59
Рис. 7.6. Схема алгоритма метода Ньютона (определение матрицы Якоби с
помощью численного дифференцирования)
Вопросы для самопроверки
1.
В каких случаях для описания систем и объектов используется
система нелинейных уравнений?
2.
В чем заключается метод простых итераций?
3.
В чем заключается метод Ньютона?
4.
Как осуществляется формирование матрицы Якоби?
60
Тема 8
Компьютерное моделирование при обработке опытных данных
Любому специалисту в своей практической деятельности приходится
изучать зависимости между различными параметрами исследуемых
объектов, процессов и систем.
Например: зависимость числа оборотов двигателя от нагрузки, т.е.
n=f(Мкр.);
зависимость
силы
резания
при
обработке
детали
на
металлорежущем станке от глубины резания, т.е. P=f(t), и т.д.
Из всех способов задания зависимостей наиболее удобным является
аналитический способ задания зависимости в виде функции n=f(М кр.),
P=f(t), y=f(t).
Однако на практике специалист чаще всего получает зависимости
между исследуемыми параметрами экспериментально. В этом случае
ставится натурный эксперимент, изменяются значения параметров на
входе системы, измеряются значения параметров на выходе системы.
Результаты измерений заносятся в таблицу.
Таким образом, в результате проведения натурного эксперимента
получаем зависимости между исследуемыми параметрами в виде таблицы,
т.е. получаем, так называемую, табличную функцию.
Далее с этой табличной функцией необходимо вести научноисследовательские расчеты. Например, необходимо проинтегрировать или
продифференцировать табличную функцию и т.д.
Рассмотрим две задачи по обработке опытных данных:
 задачу интерполирования,
 задачу аппроксимации.
8.1.
Интерполяции и экстраполяция
Дана табличная функция, т.е. дана таблица, в которой для некоторых
дискретных значений аргумента xi, расположенных в порядке возрастания,
заданы соответствующие значения функции уi:
61
i
x
y
0
x0
y0
1
x1
y1
2
x2
y2
...
...
...
i
xi
yi
...
...
..
n
xn
yn
(8.1)
Точки с координатами (xi, yi) называются узловыми точками или
узлами.
Количество узлов в табличной функции равно
N=n+1.
На графике табличная функция представляется в виде совокупности
узловых точек (рис. 8.1).
Рис. 8.1. Табличная функция
Длина участка [x0, xn] равна (xn - x0).
В расчетной практике инженера часто возникают задачи найти
значение функции для аргументов, которые отсутствуют в таблице. Такие
задачи называются задачами интерполирования или экстраполирования.
62
Задача интерполирования функции (или задача интерполяции)
состоит в том, чтобы найти значения yk табличной функции в любой
промежуточной точке хк, расположенной внутри интервала [x0, xn], т.е.
и
Задача экстраполирования функции (или задача экстраполяции)
состоит в том, чтобы найти значения yl табличной функции в точке хl,
которая не входит в интервал [x0, xn], т.е.
Такую задачу часто называют задачей прогноза.
Обе эти задачи решаются при помощи нахождения аналитического
выражения некоторой вспомогательной функции F(x), которая приближала
бы заданную табличную функцию, т.е. в узловых точках принимала бы
значение табличных функций
Для определенности задачи искомую функцию F(x) будем искать из
класса алгебраических многочленов:
(8.2)
Этот многочлен должен пройти через все узловые точки, т.е.
(8.3)
Поэтому степень многочлена n зависит от количества узловых точек
N и равна количеству узловых точек минус один, т.е. n=N-1.
Многочлен вида (8.2), который проходит через все узловые точки
табличной функции называется интерполяционным многочленом.
Интерполирование
с
помощью
алгебраических
многочленов
называется параболическим интерполированием.
63
Таким образом, для решения задачи интерполирования прежде всего
необходимо решить задачу, которую можно сформулировать следующим
образом:
для
функции
, заданной
таблично,
построить интерполяционный многочлен степени n, который проходит
через все узловые точки таблицы:
где n-степень многочлена, равная количеству узловых точек N минус
один,т.е. n=N-1.
В
результате,
расположенной
в
любой
другой
промежуточной
внутри
отрезка
[x0,xn]
выполняется
точке
хk,
приближенное
равенство Pn(xk) = f(xk) = yk. (рис.8.2):
Рис. 8.2. Интерполяционный многочлен
8.2.
Для
Построение интерполяционного многочлена в явном виде
построения
интерполяционного
многочлена
вида
(8.2)
необходимо определить его коэффициенты a0, a1, :, an, т.е. ai i=0,1,2,:,n.
Количество неизвестных коэффициентов равно
n+1=N,
где:
n-степень многочлена (8.2),
N-количество узловых точек табличной функции (8.1).
Для
нахождения
коэффициентов,
используем
свойство
(8.3)
интерполяционного многочлена (8.2). На основании этого свойства
64
интерполяционный многочлен должен пройти через каждую узловую
точку (xi, yi) таблицы (8.1), т.е.,
(8.4)
Подставляя в (8.4) каждую узловую точку таблицы (8.1) получаем
систему линейных уравнений:
(8.5)
Неизвестными системы (8.5) являются a0, a1, a2, :, an т.е.
коэффициенты многочлена (8.2). Коэффициенты при неизвестных системы
легко
(8.5)
могут
быть
определены на основании данных таблицы (8.1).
8.3.
Интерполяция по Лагранжу
Интерполяционный многочлен может быть построен при помощи
специальных интерполяционных формул Лагранжа, Ньютона, Стерлинга,
Бесселя и др.
Интерполяционный многочлен по формуле Лагранжа имеет вид:
(8.6)
Докажем, что многочлен Лагранжа является интерполяционным
многочленом, проходящим через все узловые точки, т.е. в узлах
интерполирования xi выполняется условие Ln(xi) = yi. Для этого будем
последовательно подставлять значения координат узловых точек таблицы
(8.1) в многочлен (8.6). В результате получим:
если x=x0, то Ln(x0) = y0,
если x=x1, то Ln(x1) = y1,
65
:::::
если x=xn, то Ln(xn) = yn.
Это достигнуто за счет того, что в числителе каждой дроби при
соответствующем значении уj, j=0,1,2,:,n отсутствует сомножитель (x-xi), в
котором i=j, а знаменатель каждой дроби получен заменой переменной х
на соответствующее значение хj.
Таким образом, интерполяционный многочлен Лагранжа приближает
заданную табличную функцию, т.е. Ln(xi) = yi и мы можем использовать
его
в
качестве
вспомогательной
интерполирования, т.е.
функции
для
решения
задач
.
Чем больше узлов интерполирования на отрезке [x 0,xn], тем точнее
интерполяционный многочлен приближает заданную табличную функцию
(8.1), т.е. тем точнее равенство:
Однако с увеличением числа узлов интерполирования возрастает
степень интерполяционного многочлена n и в результате значительно
возрастает объем вычислительной работы. Поэтому при большом числе
узлов необходимо применять ЭВМ. В этом случае удобно находить
значения функции в промежуточных точках, не получая многочлен в
явном виде.
При решении задачи экстраполирования функции с помощью
интерполяционного
многочлена
вычисление
значения
функции
за
пределами отрезка [x0,xn] обычно производят не далее, чем на один шаг h,
равный наименьшей величине
так как за пределами отрезка [x0,xn] погрешности, как правило,
увеличиваются.
8.4.
Программирование формулы Лагранжа
Свернем формулу Лагранжа (8.6). В результате получим
66
где
но при этом обязательно выполнение условия
.
При построении алгоритма используют конструкцию из двух
включенных циклов:
Внешним циклом накапливаем сумму
.
Внутренним циклом накапливаем произведение
Алгоритм
(рис.8.3)
не
предусматривает
.
получение
интерполяционного многочлена в явном виде, а сразу решает задачу
интерполирования функции в заданной точке, x=D.
Обозначения в алгоритме:
n - степень интерполяционного многочлена Лагранжа (8.6), равная
количеству узловых точек N минус один, т.е. n=N-1.
D - значение аргумента в точке, для которой решается задача
интерполирования табличной функции (8.1).
L - значение многочлена (8.6).
67
Рис. 8.3. Схема алгоритма интерполяции по Лагранжу
8.5.
Интерполяция по Ньютону
Дана табличная функция:
i
0
1
2
...
n
xi
x0
x1
x2
...
xn
yi
y0
y1
y2
...
yn
68
или
Точки с координатами (xi, yi) называются узловыми точками или
узлами.
Количество узлов в табличной функции равно
N=n+1.
Необходимо найти значение этой функции в промежуточной точке,
например, x=D, причем
.
Для решения задачи строим интерполяционный многочлен.
Интерполяционный многочлен по формуле Ньютона имеет вид:
(8.7)
где
n - степень многочлена,
-
разделенные
разности 0-го, 1-го, 2-го,:., n-го порядка, соответственно.
8.6.
Разделенные разности
Значения f(x0), f(x1), : , f(xn) , т.е. значения табличной функции в
узлах, называются разделенными разностями нулевого порядка (k=0).
Отношение
называется
разделенной
разностью первого порядка (k=1) на участке [x0, x1] и равно разности
разделенных разностей нулевого порядка на концах участка [x0, x1],
разделенной на длину этого участка.
Для произвольного участка [xi, xi+1] разделенная разность первого
порядка (k=1) равна
69
Отношение
называется разделенной
разностью второго порядка (k=2) на участке [x0, x2] и равно разности
разделенных разностей первого порядка, разделенной на длину участка [x0,
x2].
Для произвольного участка [xi, xi+2] разделенная разность второго
порядка (k=2) равна
Таким образом, разделенная разность k-го порядка на участке [xi, xi+k]
может быть определена через разделенные разности (k-1)-го порядка по
рекуррентной формуле:
(8.8)
где
n - степень многочлена.
Максимальное значение k равно n. Тогда i =0 и разделенная разность
порядка
n-го
на
участке
[x0,xn]
,
т.е.
равна
равна
разности
разделенных разностей (n-1)-го порядка, разделенной на длину участка
[x0,xn].
Разделенные разности
являются вполне определенными числами, поэтому выражение (8.7)
действительно является алгебраическим многочленом n-й степени. При
этом в многочлене (8.7) все разделенные разности определены для
участков [x0, x0+k],
.
Лемма: алгебраический многочлен (8.7), построенный по формулам
Ньютона, действительно является интерполяционным многочленом, т.е.
70
значение многочлена в узловых точках равно значению табличной
функции
Докажем это. Пусть х=х0 , тогда многочлен (8.7) равен
Пусть х=х1, тогда многочлен (8.7) равен
Пусть х=х2, тогда многочлен (8.7) равен
Заметим, что решение задачи интерполяции по Ньютону имеет
некоторые преимущества по сравнению с решением задачи интерполяции
по Лагранжу. Каждое слагаемое интерполяционного многочлена Лагранжа
зависит от всех значений табличной функции yi, i=0,1,:n. Поэтому при
изменении количества узловых точек N и степени многочлена n (n=N-1)
интерполяционный многочлен Лагранжа требуется строить заново. В
многочлене Ньютона при изменении количества узловых точек N и
степени многочлена n требуется только добавить или отбросить
соответствующее число стандартных слагаемых в формуле Ньютона (8.7).
Это удобно на практике и ускоряет процесс вычислений.
8.7.
Программирование формулы Ньютона
Для построения многочлена Ньютона по формуле (8.7) организуем
циклический вычислительный процесс по
. При этом на каждом
шаге поиска находим разделенные разности k-го порядка. Будем помещать
разделенные разности на каждом шаге в массив Y.
Тогда рекуррентная формула (8.8) будет иметь вид:
71
(8.9)
В формуле Ньютона (8.7) используются разделенные разности k-го
порядка, подсчитанные только для участков [x0, x0+k], т.е. разделенные
разности k-го порядка для i=0. Обозначим эти разделенные разности k-го
порядка как у0. А разделенные разности, подсчитанные для I > 0,
используются для расчетов разделенных разностей более высоких
порядков.
Используя (8.9), свернем формулу (8.7). В результате получим
(8.10)
где
у0 - значение табличной функции (8.1) для x=x0.
- разделенная разность k-го порядка для участка [x0, x0+k].
Для вычисления Р удобно использовать рекуррентную формулу P =
P(x - xk-1) внутри цикла по k.
Схема алгоритма интерполяции по Ньютону представлена на рис.8.4.
72
Рис. 8.4. Схема алгоритма интерполяции по Ньютону
8.8.
Пример интерполяции по Ньютону
Дана табличная функция:
i
xi
yi
0
2
0,693147
1
3
1,098613
2
4
1,
986295
3
5
1,609438
73
Вычислить разделенные разности 1-го, 2-го, 3-го порядков (n=3) и
занести их в диагональную таблицу.
Разделенные разности первого порядка:
Разделенные разности второго порядка:
Разделенная разность третьего порядка:
Таблица 8.1. Диагональная таблица разделенных разностей
i
xi
0-го порядка
Разделенная разность
1-го порядка 2-го порядка
0
2
0,693147
1
3
1,098613
0,405466
-0,058892
2
4
1,386295
0,287682
-0,0322695
3
5
1,60943
0,223143
3-го порядка
0,00887416
Интерполяционный многочлен Ньютона для заданной табличной
функции имеет вид:
Далее полученный интерполяционный многочлен Ньютона можно
привести к нормальному виду
и использовать его для решения задач интерполирования или
прогноза.
74
8.9.
Сплайны
стали
Сплайн-интерполяция
широко
использоваться
в
вычислительной
математике сравнительно недавно. В машиностроительном черчении они
применяются уже давно, так как сплайны - это лекала или гибкие линейки,
деформация которых позволяет провести кривую через заданные точки (x i,
уi).
Используя теорию изгиба бруса при малых деформациях, можно
показать, что сплайн - это группа кубических многочленов, в местах
сопряжения которых первая и вторая производные непрерывны. Такие
функции называются кубическими сплайнами. Для их построения
необходимо задать коэффициенты, которые единственным образом
определяют многочлен в промежутке между данными точками.
Например, для некоторых функций (рис.8.5) необходимо задать все
кубические функции q1(x), q2(x), :qn(x).
В наиболее общем случае эти многочлены имеют вид:
где kij - коэффициенты, определяемые описанными ранее условиями,
количество которых равно 4n. Для определения коэффициентов k ij
необходимо построить и решить систему порядка 4n.
Рис. 8.5. Функция
75
Первые 2n условий требуют, чтобы сплайны соприкасались в
заданных точках:
Следующие
(2n-2)
условий
требуют,
чтобы
в
местах
соприкосновения сплайнов были равны первые и вторые производные:
Система алгебраических уравнений имеет решение, если число
уравнений соответствует числу неизвестных. Для этого необходимо ввести
еще два уравнения. Обычно используются следующие условия:
При построении алгоритма метода первые и вторые производные
удобно аппроксимировать разделенными разностями соответствующих
порядков.
Полученный таким образом сплайн называется естественным
кубическим сплайном. Найдя коэффициенты сплайна, используют эту
кусочно-гладкую полиноминальную функцию для представления данных
при интерполяции.
8.10. Аппроксимация опытных данных
В
результате
проведения
натурного
эксперимента
получена
табличная функция:
i
X
Y
0
xo
yo
1
x1
y1
2
x2
y2
3
x3
y3
:
:
:
n
xn
yn
76
где
N-количество узловых точек в таблице,
n=N-1.
Задача аппроксимации заключается в отыскании аналитической
зависимости y=f(x) полученной табличной функции.
В настоящее время существует 2 способа аппроксимации опытных
данных:
Первый способ. Этот способ требует, чтобы аппроксимирующая
кривая F(x), аналитический вид которой необходимо найти, проходила
через все узловые точки таблицы. Эту задачу можно решить с помощью
построения интерполяционного многочлена степени n:
(8.12)
Однако этот способ аппроксимации опытных данных имеет
недостатки:
1.
Точность аппроксимации гарантируется в небольшом интервале [x0,
xn] при количестве узловых точек не более 7-8.
2.
Значения табличной функции в узловых точках должны быть заданы
с большой точностью.
Известно, что как бы точно не проводился эксперимент, результаты
эксперимента содержат погрешности. Дело в том, что на самом деле
исследуемая величина зависит не только от одного аргумента Х, но и от
других случайных факторов, которые от опыта к опыту колеблются по
своим собственным случайным законам. Этим самым обуславливается
случайная колеблемость исследуемой функции.
В результате аппроксимировать опытные данные с помощью
интерполяционного многочлена, который проходил бы через все узловые
точки таблицы, не всегда удается. Более того, стремясь пройти через все
узловые точки таблицы и увеличивая порядок многочлена, мы тем самым
начинаем воспроизводить не только закономерные изменения снимаемой
функции, но и ее случайные помехи.
77
Второй способ. На практике нашел применение другой способ
аппроксимации опытных данных - сглаживание опытных данных.
Сущность
этого
метода
состоит
в том,
что
табличные
данные
аппроксимируют кривой F(x), которая не обязательно должна пройти через
все узловые точки, а должна как бы сгладить все случайные помехи
табличной функции.
8.11. Сглаживание опытных данных методом наименьших квадратов
В
этом
методе
при
сглаживании
опытных
данных
аппроксимирующей кривую F(x) стремятся провести так, чтобы ее
отклонения
от табличных данных (уклонения) по всем узловым точкам
были минимальными (рис 8.6), т.е.
(8.6)
Рис. 8.6. Аппроксимирующая кривая
Избавимся от знака уклонения. Тогда условие (8.6) будет иметь вид:
(8.7)
Суть метода наименьших квадратов заключается в следующем: для
табличных данных, полученных в результате эксперимента, отыскать
аналитическую зависимость F(x), сумма квадратов уклонений которой от
табличных данных по всем узловым точкам была бы минимальной, т.е.
(8.8)
78
Для определенности задачи искомую функцию F(x) будем выбирать
из класса алгебраических многочленов степени m:
(8.9)
Назовем
многочлен
(8.9)
аппроксимирующим
многочленом.
Аппроксимирующий многочлен не проходит через все узловые точки
таблицы. Поэтому его степень m не зависит от числа узловых точек. При
этом всегда m < n. Степень m может меняться в пределах
Если m=1, то мы аппроксимируем табличную функцию прямой
линией. Такая задача называется линейной регрессией.
Если
m=2,
квадратичной
то
мы
параболой.
аппроксимируем
Такая
задача
табличную
называется
функцию
квадратичной
аппроксимацией.
Если m=3, то мы аппроксимируем табличную функцию кубической
параболой. Такая задача называется кубической аппроксимацией.
Уточним метод наименьших квадратов: для табличной функции,
полученной в результате эксперимента, построить аппроксимирующий
многочлен (8.9) степени m, для которого сумма квадратов уклонений по
всем узловым точкам минимальна, т.е.
(8.10)
Изменим вид многочлена Pm. Поставим на последнее место
слагаемые, содержащие xm. На предпоследнее - слагаемые, содержащие xm1
и т.д. В результате получим:
(8.11)
или
При этом изменим индексы коэффициентов многочлена. Тогда
условие (11.8) будет иметь вид:
79
где
xi и yi- координаты узловых точек таблицы,
aj ,
-неизвестные коэффициенты многочлена (8.11).
Необходимым условием существования минимума функции S
является равенство нулю ее частных производных по каждой aj.
В результате получили систему линейных уравнений. Раскрывая
скобки и перенося свободные члены в правой части уравнений, получим в
нормальной форме систему линейных уравнений:
(8.12)
где
aj- неизвестные системы линейных уравнений (8.12),
- коэффициенты системы линейных уравнений
(8.12),
-
свободные
члены
системы
линейных
уравнений (8.12),
Порядок системы равен m+1.
При ручном счете коэффициенты ck и свободные члены dj удобно
определять, пользуясь таблицей 8.2:
80
i
x i0
0
1
1
1
2
1
...
...
N
1
c0
x i1
x i2
...
xi2m
xi0 yi
xi1 yi
...
x im
c1
c2
...
c2m
d0
d1
...
dm
8.12. Программирование метода наименьших квадратов (МНК)
Изменим индексацию в системе (8.12). В результате получим:
(8.13)
где
- неизвестные системы линейных уравнений (8.13),
-
коэффициенты
системы линейных уравнений (8.13);
- свободные члены системы линейных
уравнений (8.13);
(xi, yi) - координаты узловых точек табличной функции,
;
N - количество узловых точек;
m - степень аппроксимирующего многочлена вида:
(8.14)
Алгоритм задачи:
1.
Строим систему линейных уравнений (8.13). Определяем
коэффициенты ck,j и свободные члены dk. Т.к. система (8.13) симметрична
81
относительно главной диагонали, то достаточно определить только
наддиагональные элементы системы.
Решаем
2.
систему
(8.13)
методом
Гаусса.
Находим
коэффициенты aj многочлена (8.14).
Строим аппроксимирующий многочлен (8.14) и определяем его
3.
значение в каждой узловой точке Pi = Pm(xi).
4.
Находим уклонение каждой узловой точки
5.
Находим сумму квадратов уклонений по всем узловым точкам
.
.
6.
Находим остаточную дисперсию
.
Для построения аппроксимирующего многочлена (8.11) и вычисления
его значения в каждой узловой точке используем рациональную форму
многочлена:
(8.15)
Тогда
для
вычисления
значения
многочлена
(8.15)
удобно
пользоваться схемой Горнера. Рекуррентная формула по схеме Горнера
имеет вид:
Укрупненная схема алгоритма МНК представлена на рис.8.7. Схемы
алгоритмов основных блоков представлены на рисунках 8.8-8.10.
82
Рис. 8.7. Укрупненная схема алгоритма аппроксимации методом
наименьших квадратов
Обозначения в блоке 2:
m - степень аппроксимирующего многочлена,
N - количество узловых точек таблицы (11.2),
X, Y - массивы значений x и y таблицы (11.2).
83
Рис. 8.8. Схема алгоритма блока 3. Определение коэффициентов системы
(8.13)
Рис. 8.9. Схема алгоритма блока 4. Определение свободных членов
системы (8.13)
84
Рис. 8.10. Схема алгоритма блока 6. Схема Горнера
Вопросы для самопроверки
1.
Дайте определение интерполяции и экстраполяции данных.
2.
Что такое интерполяционный многочлен?
3.
В чем заключается интерполяция по Лагранжу?
4.
В чем заключается интерполяция по Ньютону?
5.
Что такое разделенные разности?
6.
Что включает в себя сплайн-интерполяция?
7.
Каким образом происходит аппроксимация опытных данных?
8.
Что включает в себя сглаживание данных?
85
Тема 9
Компьютерное моделирование и решение нелинейных уравнений
Динамические системы - это системы, в которых входные
переменные являются функциями от времени или каких-либо других
параметров.
Описываются
эти
системы
дифференциальными
и
интегральными уравнениями. Например, большая часть законов механики,
электротехники, теории упругости, теории управления и т.д. описываются
с помощью дифференциальных уравнений.
На практике динамические системы встречаются очень часто.
Моделирование систем, связанных с движением тел, с расчетом потоков
энергии, с расчетом потоков материальных ресурсов, с расчетом оборотов
денежных средств и т.д. в конечном счете, сводится к построению и
решению дифференциальных уравнений (как правило, II-го порядка).
Прямолинейное
движение тела,
переменной силы
движущегося
под
действием
,где S=S(t), описывается дифференциальным
уравнением второго порядка в форме уравнения Ньютона:
,
где:
m - масса тела,
S - перемещение тела,
-линейная скорость,
-линейное ускорение.
При этом задаваемые начальные условия
имеют четкий физический смысл. Это - начальное положение тела и его
начальная скорость.
Вращательное движение тела под действием крутящего момента
где
, описывается аналогично
86
где:
Iр - полярный момент инерции тела,
-угол поворота,
- угловая скорость,
- угловое ускорение.
При
построении
математических
моделей
систем,
машин,
механизмов с учетом колебаний, возникающих в них, также необходимо
построить и решить дифференциальное уравнение, т.к. все виды колебаний
(свободные
гармонические,
вынужденные)
также
описываются
дифференциальными уравнениями.
На практике лишь небольшое число дифференциальных уравнений
допускает интегрирование в квадратурах. Еще реже удается получить
решение в элементарных функциях. Поэтому большое распространение
при решении математических моделей с помощью ЭВМ получили
численные методы решения дифференциальных уравнений.
Нахождение определенного интеграла в процессе моделирования
объектов процессов или систем может применяться в следующих задачах:
1. Определение пути при переменной скорости:
2. Нахождение скорости при переменном ускорении:
3. Определение моментов инерции тел:
4. Нахождение работы переменной силы:
5. При решении дифференциальных уравнений.
Итак, дана функция y=f(x).
Найти интеграл этой функции на участке [a, b], т.е. найти
87
Если подынтегральная функция f(x) задана в аналитическом виде;
если функция f(x) непрерывна на отрезке [a, b], если известна ее
первообразная, т.е.
то интеграл может быть вычислен по формуле Ньютона-Лейбница как
приращение первообразной на участке [a, b], т.е.
Но на практике формула Ньютона-Лейбница для вычисления
интеграла используется
редко. Численные методы интегрирования
применяются в следующих случаях:
- подынтегральная функция f(x) задана таблично на участке [a, b];
- подынтегральная функция f(x) задана аналитически, но ее
первообразная не выражается через элементарные функции;
- подынтегральная функция f(x) задана аналитически, имеет
первообразную, но ее определение слишком сложно.
В численных методах интегрирования не используется нахождение
первообразной. Основу алгоритма численных методов интегрирования
составляет геометрический смысл определенного интеграла. Интеграл
численно равен площади S криволинейной трапеции, расположенной под
подынтегральной кривой f(x) на участке [a,b] (рис.9.1).
88
Рис. 9.1. Геометрический смысл определенного интеграла
Суть
всех
численных
методов
интегрирования
состоит
в
приближенном вычислении указанной площади. Поэтому все численные
методы являются приближенными.
При
вычислении
интеграла
подынтегральная
функция
f(x)
аппроксимируется интерполяционным многочленом. На практике чтобы
не иметь дело с многочленами высоких степеней, весь участок [a, b] делят
на части и интерполяционные многочлены строят для каждой части
деления.
Порядок вычисления интеграла численными методами следующий
(рис.9.2):
1.
Весь участок [a,b] делим на n равных частей с шагом h=(b-a)/n.
2.
В каждой части деления подынтегральную функцию f(x)
аппроксимируем интерполяционным многочленом. Степень многочлена n
= 0,1,2…
3.
Для каждой части деления определяем площадь частичной
криволинейной трапеции.
4.
Суммируем эти площади. Приближенное значение интеграла I
равно сумме площадей частичных трапеций
.
89
Рис. 9.2. Вычисление определенного интеграла
Нахождение
приближенного
значения
интеграла
называется
квадратурой, а формулы для приближенного вычисления интеграла квадратурными формулами или квадратурными суммами.
Разность R между точным значением интеграла и приближенным
значением
называется
остаточным
членом
или
погрешностью
квадратурной формулы, т.е.
Если в каждой из частей деления интервала [a,b] подынтегральная
функция аппроксимируется многочленом нулевой степени, т.е. прямой,
параллельной оси OX, то квадратурная формула называется формулой
прямоугольников, а метод - методом прямоугольников.
Если в каждой из частей деления интервала [a,b] подынтегральная
функция аппроксимируется многочленом первой степени, т.е. прямой,
соединяющей две соседние узловые точки, то квадратурная формула
называется формулой трапеций, а метод - методом трапеций.
Если в каждой из частей деления интервала [a,b] подынтегральная
функция аппроксимируется многочленом второй степени, то квадратурная
формула называется формулой Симпсона, а метод - методом Симпсона.
9.1.
Метод прямоугольников
Словесный алгоритм метода прямоугольников:
90
1.
Весь участок [a,b] делим на n равных частей с шагом h=(b-a)/n.
2.
Определяем значение yi подынтегральной функции f(x) в
каждой части деления, т.е.
3.
В каждой части деления подынтегральную функцию f(x)
аппроксимируем интерполяцион-ным многочленом степени n = 0, т.е.
прямой, параллельной оси OX. В результате вся подынтегральная функция
на участке [a,b] аппроксимируется ломаной линией.
4.
Для каждой части деления определяем площадь Si частичного
прямоугольника.
5.
Суммируем эти площади. Приближенное значение интеграла I
равно сумме площадей частичных прямоугольников.
Если высота каждого частичного прямоугольника равна значению
подынтегральной функции в левых концах каждого шага, то метод
называется методом левых прямоугольников (рис.9.3). Тогда квадратурная
формула имеет вид
Рис. 9.3. Метод левых прямоугольников
Если высота каждого частичного прямоугольника равна значению
подынтегральной функции в правых концах каждого шага, то метод
называется
методом
правых
прямоугольников
(рис.9.4).
Тогда
квадратурная формула имеет вид
91
Рис. 9.4. Метод правых прямоугольников
Точность каждого метода прямоугольников имеет порядок h.
Алгоритм вычисления интеграла построим в виде итерационного
процесса поиска с автоматическим выбором шага. На каждом шаге будем
уменьшать шаг в два раза, то есть увеличивать число шагов n в два раза.
Выход из процесса поиска организуем по точности вычисления интеграла.
Начальное число шагов n=2.Схема алгоритма методов прямоугольников
представлена на рис.9.5.
Рис. 9.5. Схема алгоритма метода прямоугольников (с автоматическим
выбором шага)
92
Условные обозначения:
a,b - концы интервала,
- заданная точность,
с=0 - метод левых прямоугольников,
с=1 - метод правых прямоугольников,
S1 - значение интеграла на предыдущем шаге,
S - значение интеграла на текущем шаге.
9.2.
Метод трапеций
Словесный алгоритм метода трапеций:
1.
Интервал [a,b] делим на n равных частей с шагом h=(b-a)/n.
2.
Вычисляем значение подынтегральной функции в каждой
узловой точке
3.
На
каждом
шаге
подынтегральную
функцию
f(x)
аппроксимируем прямой, соединяющей две соседние узловые точки. В
результате вся подынтегральная функция на участке [a,b] заменяется
ломаной линией проходящей через все узловые точки.
4.
Вычисляем площадь каждой частичной трапеции.
5.
Приближенное значение интеграла равно сумме площадей
частичных трапеций, т.е.
.
Найдем площади Si частичных трапеций:
Приближенное значение интеграла равно
Точность метода трапеций имеет порядок h2.
93
Схема алгоритма метода трапеций представлена на рис.9.6.
Рис. 9.6. Схема алгоритма метода трапеций (с автоматическим выбором
шага)
9.3.
Метод Симпсона
В методе Симпсона в каждой части деления подынтегральная
функция аппроксимируется квадратичной параболой a0x2+a1x+a2. В
результате вся кривая подынтегральной функции на участке [a,b]
заменяется
кусочно-непрерывной
линией,
состоящей
из
отрезков
квадратичных парабол. Приближенное значение интеграла I равно сумме
площадей под квадратичными параболами.
Т.к. для построения квадратичной параболы необходимо иметь три
точки, то каждая часть деления в методе Симпсона включает два шага, т.е.
Lk=2h.
94
В результате количество частей деления N2=n/2. Тогда n в методе
Симпсона всегда четное число.
Определим площадь S1 на участке [x0, x2] (рис.9.2).
Исходя из геометрического смысла определенного интеграла,
площадь S1 равна определенному интегралу от квадратичной параболы на
участке [x0, x2]:
Неизвестные коэффициенты квадратичной параболы а0 , а1, а2
определяем из условия прохождения параболой через три узловых точки с
координатами (x0y0), (x1x1), (x2y2).
На основании этого условия строим систему линейных уравнений:
Решая эту систему, найдем коэффициенты параболы.
В результате имеем:
.
Для участка [x2, x4]:
.
:::::::::::::::::::
Для участка [xi-1, xi+1]:
,
где
Суммируя все площади S1 под квадратичными параболами, получим
квадратурную формулу по методу Симпсона:
где
N2 - количество частей деления.
Точность метода Симпсона имеет порядок (h3/h4).
Схема алгоритма метода Симпсона представлена на рис.9.7.
95
Рис. 9.7. Схема алгоритма Симпсона (с автоматическим выбором шага)
9.4.
Численные методы решения дифференциальных уравнений
первого порядка
Общий вид дифференциального уравнения
(9.1)
Нормальная форма дифференциального уравнения
(9.2)
где
y=y(x) -неизвестная функция, подлежащая определению,
f(x,y) - правая часть дифференциального уравнения в нормальной
форме, равная первой производной функции y(x). В функцию f(x,y)
помимо аргумента x входит и сама неизвестная функция y(x).
96
Пример:
- общий вид дифференциального уравнения
первого порядка,
- нормальная форма этого же уравнения.
Если неизвестная функция у зависит от одного аргумента x, то
дифференциальное уравнение вида
называется обыкновенным дифференциальным уравнением.
Если функция у зависит от нескольких аргументов, то такое
дифференциальное уравнение называется дифференциальным уравнением
в частных производных.
Общим решением обыкновенного дифференциального уравнения
является семейство функций у=у(х,с) (рис 9.8):
Рис. 9.8. Семейство функций
При
решении
прикладных
задач
ищут
частные
решения
дифференциальных уравнений. Выделение частного решения из семейства
общих решений осуществляется с помощью задания начальных условий:
(9.3)
т.е. начальной точки с координатами (х0, у0).
Нахождение частного решения дифференциального уравнения
(9.2)
удовлетворяющего начальному условию
(9.3)
называется задачей Коши.
97
В численных методах задача Коши ставится следующим образом:
найти табличную функцию
которая удовлетворяет
заданному дифференциальному уравнению (9.2) и начальному условию
(9.3) на отрезке [a, b] с шагом h, то есть найти таблицу:
i
x
y
0
x0
y0
1
x1
y1
2
x2
y2
3
x3
y3
...
...
...
n
xn
yn
Здесь
h - шаг интегрирования дифференциального уравнения,
a=x0 - начало участка интегрирования уравнения,
b=xn - конец участка,
n=(b-a)/h - число шагов интегрирования уравнения.
На графике (рис 9.9) решение задачи Коши численными методами
представляется в виде совокупности узловых точек с координатами (xi ,yi),
.
Рис. 9.9. Решение задачи Коши
9.5.
Наиболее
Методы Рунге - Кутта
эффективными
и
часто
встречаемыми
методами
решениями задачи Коши являются методы Рунге - Кутта. Они основаны
98
на аппроксимации искомой функции у(х) в пределах каждого шага
многочленом, который получен при помощи разложения функции у(х) в
окрестности шага h каждой i-ой точки в ряд Тейлора:
(9.4)
Усекая ряд Тейлора в различных точках и отбрасывая правые члены
ряда, Рунге и Кутт получали различные методы для определения значений
функции у(х) в каждой узловой точке. Точность каждого метода
определяется отброшенными членами ряда.
Метод Рунге - Кутта 1-го порядка (метод Эйлера)
Отбросим в (12.4) члены ряда, содержащие h2, h3, h4: .
Тогда
Так как
Получим формулу Эйлера:
(9.5)
Так
как
точность
методов
Рунге-Кутта
определяется
отброшенными членами ряда (9.4), то точность метода Эйлера на каждом
шаге составляет
Алгоритм
.
метода
Эйлера
можно
построить
в
виде
двух
программных модулей: основной программы и подпрограммы ELER,
реализующей метод.
99
Рис. 9.10. Схема алгоритма метода Эйлера
Здесь
(x,y)-при вводе начальная точка, далее текущие значения табличной
функции,
h-шаг интегрирования дифференциального уравнения,
b-конец интервала интегрирования.
Рассмотрим геометрический смысл метода Эйлера.
Формула Эйлера имеет вид:
где
Тогда формула Эйлера принимает вид:
где
100
- тангенс угла наклона касательной к искомой функции у(x) в
начальной точке каждого шага.
Рис. 9.11. Геометрический смысл метода Эйлера
В результате в методе Эйлера на графике (рис 9.10) вся искомая
функция y(x) на участке [a, b] аппроксимируется ломаной линией, каждый
отрезок которой на шаге h линейно аппроксимирует искомую функцию.
Поэтому метод Эйлера получил еще название метода ломаных.
В методе Эйлера наклон касательной в пределах каждого шага
считается постоянным и равным значению производной в начальной точке
шага xi. В действительности производная, а, значит, и тангенс угла наклона
касательной к кривой y(x) в пределах каждого шага меняется. Поэтому в
точке xi+h наклон касательной не должен быть равен наклону в точке xi.
Следовательно, на каждом шаге вносится погрешность.
Первый
отрезок
ломаной
действительно
касается
искомой
интегральной кривой y(x) в точке (x0,y0). На последовательных же шагах
касательные проводятся из точек (xi,yi), подсчитанных с погрешностью. В
результате с каждым шагом ошибки накапливаются.
101
Основной недостаток метода Эйлера - систематическое накопление
ошибок. Поэтому метод Эйлера рекомендуется применять для решения
дифференциальных уравнений при малых значениях шага интегрирования
h.
9.6. Метод Рунге - Кутта 2-го порядка (модифицированный метод Эйлера)
Отбросим в (9.4) члены ряда, содержащие h3, h4, h5:.
Тогда
(9.6)
Чтобы сохранить член ряда, содержащий h2, надо определить вторую
производную y"(xi).Ее можно аппроксимировать разделенной разностью 2го порядка
Подставляя это выражение в (12.6), получим
Окончательно, модифицированная или уточненная формула Эйлера
имеет вид:
(9.7)
Как видно, для определения функции y(x) в точке i+1 необходимо
знать значение правой части дифференциального уравнения f(x i+1, yi+1) в
этой точке, для определения которой необходимо знать предварительное
значение yi+1.
Для определения предварительного значения yi+1 воспользуемся
формулой
Эйлера.
Тогда
все
вычисления
на
каждом
шаге
по
модифицированной или уточненной формуле Эйлера будем выполнять в
два этапа:
На первом этапе вычисляем предварительное значение
по
формуле Эйлера
102
На втором этапе уточняем значение y=i+1 по модифицированной или
уточненной формуле Эйлера
Точность метода определяется отброшенными членами ряда Тейлора
(9.4), т.е. точность уточненного или модифицированного метода Эйлера на
каждом шаге
.
Рассмотрим геометрический смысл модифицированного метода
Эйлера.
Так как
то модифицированную формулу Эйлера можно представить в виде:
где
- тангенс угла наклона касательной к искомой функции у(х) в
начальной точке каждого шага,
- тангенс угла наклона касательной к искомой функции у(х) в
конечной точке каждого шага.
103
Рис. 9.12. Геометрический смысл модифицированного метода Эйлера
Здесь:
P1 - накопленная ошибка в (i+1)й точке по методу Эйлера,
P2 - накопленная ошибка в (i+1)й точке по модифицированному
методу Эйлера.
Как видно из рис.9.11, в первой половине каждого шага, то есть на
участке [xi, xi+h/2], искомая функция y(x) аппроксимируется прямой,
которая выходит из точки (xi, yi) под углом, тангенс которого
Во второй половине этого же шага, т.е. на участке [xi + h/2,xi + h],
искомая функция y(x) аппроксимируется прямой, которая выходит из
точки с координатами
под углом, тангенс которого
В результате в модифицированном методе Эйлера функция у(х) на
каждом шаге аппроксимируется не одной прямой, а двумя.
104
Алгоритм модифицированного метода Эйлера можно построить в
виде двух программных модулей: основной программы и подпрограммы
МELER, реализующей метод (рис. 9.13).
Рис. 9.13. Схема алгоритма модифицированного метода Эйлера
Здесь
(x,y)-при вводе начальная точка, далее текущие значения табличной
функции,
h-шаг интегрирования дифференциального уравнения,
b-конец интервала интегрирования.
9.7.
Метод Рунге - Кутта 4-го порядка
Самое большое распространение из всех численных методов
решения дифференциальных уравнений с помощью ЭВМ получил метод
Рунге-Кутта 4-го порядка. В литературе он известен как метод Рунге-Кутта.
В этом методе на каждом шаге интегрирования дифференциальных
уравнений искомая функция y(x) аппроксимируется рядом Тейлора (9.4),
содержащим члены ряда с h4:
105
В результате ошибка на каждом шаге имеет порядок h5.
Для сохранения членов ряда, содержащих h2,h3,h4 необходимо
определить вторую y", третью y"' и четвертую y(4) производные функции
y(x). Эти производные аппроксимируем разделенными разностями второго,
третьего и четвертого порядков соответственно.
В результате для получения значения функции yi+1 по методу РунгеКутта выполняется следующая последовательность вычислительных
операций:
Вывод формулы не приведен. Предоставляется возможность вывод
формул выполнить самостоятельно.
Алгоритм метода Рунге-Кутта (4-го порядка) можно построить в
виде двух программных модулей: основной программы и подпрограммы
Rk4, реализующей метод (рис 9.14).
106
Рис. 9.14. Схема алгоритма метода Рунге-Кутта 4-го порядка.
Здесь
(x,y)-при вводе начальная точка, далее текущие значения табличной
функции,
h-шаг интегрирования дифференциального уравнения,
b-конец интервала интегрирования.
9.8.
Решение дифференциальных уравнений высоких порядков
Методы Рунге-Кутта можно использовать не только для решения
дифференциальных уравнений первого порядка
но и для решения дифференциальных уравнений более высоких
порядков
Любое дифференциальное уравнение m-го порядка
(9.8)
можно свести к системе, состоящей из m уравнений первого порядка
при помощи замен.
Заменим:
В результате дифференциальное уравнение m-го порядка (9.8)
сводится к системе, состоящей из m дифференциальных уравнений
первого порядка:
107
(9.9)
Решением системы (9.2), а значит и дифференциального уравнения
порядка
m-го
(9.1)
является
m
табличных
функций
.
9.9.
Решение дифференциальных уравнений второго порядка
В задачах моделирования динамических систем наиболее часто
приходится решать дифференциальные уравнения второго порядка.
Общий вид дифференциальных уравнений второго порядка:
(9.10)
Нормальная форма дифференциальных уравнений второго порядка:
(9.11)
Пример
Уравнение в общем виде
Его нормальная форма
(9.12)
Дифференциальное уравнение второго порядка (9.11) можно свести к
системе, состоящей из двух дифференциальных уравнений первого
порядка при помощи замен.
Заменим y1=y',
Тогда y'1=y".
В результате уравнение (9.11) сводится к системе, состоящей из двух
дифференциальных уравнений первого порядка:
108
Для примера (12.12) эта система имеет вид:
(9.13)
Решением этой системы являются две функции y(x) и y1(x),
где
Сформулируем задачу Коши для системы, состоящей из двух
дифференциальных уравнений второго порядка.
Дана система
(9.14)
Даны два начальных условия:
Необходимо проинтегрировать систему на участке [a, b] с шагом h.
В численных методах задача Коши для системы (9.14) ставится
следующим образом:
Найти табличные функции
и
т.е. найти таблицу
i
x
y
y1
0
x0
y0
y10
1
x1
y1
y11
2
x2
y2
y12
3
x3
y3
y13
...
...
...
...
n
Здесь
xn
yn
y1n
h - шаг интегрирования дифференциального уравнения,
a=x0 - начало участка интегрирования уравнения,
b=xn - конец участка,
n=(b-a)/h - число шагов интегрирования уравнения.
109
На графике решением задачи Коши для системы, состоящей из двух
дифференциальных уравнений первого порядка, является совокупность
узловых точек (рис. 9.15).
При этом на каждом шаге, т.е. для каждого значения xi решением
являются две узловые точки с координатами (xi, yi), (xi, (y1)i).
Рис. 9.15.
Для решения системы дифференциальных уравнений используем те
же методы, что и для решения одного дифференциального уравнения
первого порядка. При этом необходимо соблюдать условие: на каждом
шаге интегрирования, т. е. в точках с координатами х1 , х2 , х3 , : , хn все
уравнения системы надо решать параллельно
Для
вычисления
правых
частей
уравнений
системы
(9.14)
необходимо сформировать подпрограмму PRAV.
Вернемся к примеру (9.13). Здесь на каждом шаге в подпрограмме
PRAV будем вычислять правые части каждого уравнения системы:
Схема алгоритма решения системы (9.13) представлена на рис 9.16.
110
Рис. 9.16. Схема алгоритма решения системы (12.6)
Здесь
h - шаг интегрирования дифференциального уравнения,
b - конец участка,
n - число шагов интегрирования уравнения,
x, y, y1 - при вводе начальные значения, далее - текущие значения
табличной функции.
9.10. Решение дифференциальных уравнений m-го порядка методом
Рунге-Кутта (4-го порядка)
Как уже было сказано, любое дифференциальное уравнение m-го
порядка
(9.15)
сводится к системе, состоящей из m дифференциальных уравнений
1-го порядка
111
(9.6)
Численным решением системы (9.9), а значит и дифференциального
уравнения m-го порядка (9.8) является m табличных функций
т.е. функция y(x) и все ее производные, включая производную (m-1)го порядка.
При
этом
каждая
из
табличных
функций
определяется
на
промежутке [a, b] с шагом h и включает n узловых точек. Таким образом,
численным решением уравнения (9.8) или системы (9.9) является матрица
порядка
, (табл. 9.8)
i
x
y
y1=y',
y1=y''1,
:
y_m-1=y^(m-1)
0
x0
y0
(y1)0
(y2)0
:
(ym-1)0
1
x1
y1
(y1)1
(y2)1
:
(ym-1)1
2
x2
y2
(y1)2
(y2)2
:
(ym-1)2
3
x3
y3
(y1)3
(y2)3
:
(ym-1)3
:
:
:
:
:
:
:
n
xn yn
где
(y1)n
(y2)n
:
(ym-1)n
m - порядок дифференциального уравнения, равен количеству
столбцов матрицы,
n = (b-a)/h - количество шагов интегрирования, равно количеству
строк матрицы.
Каждый j-й столбец матрицы - это массив решений одной j-й
табличной функции по всем n шагам интегрирования.
Каждая i-ая строка матрицы - это массив решений m табличных
функций на одном i-ом шаге интегрирования.
112
На графике решением дифференциального уравнения m-го порядка
(9.8) является совокупность
узловых точек. При этом каждому шагу
интегрирования, т.е. каждому значению xi,
, соответствуют m
узловых точек скоординатами
При построении алгоритма задачи будем как и ранее расчет вести по
шагам интегрирования, т.е. в цикле по
. При этом, как и ранее, на
каждом i-ом шаге цикла будем рассчитывать решение дифференциального
уравнения и тут же его печатать. Тогда нет необходимости формировать
матрицу решений, а можно ограничиться формированием массива
решений (9.15), который соответствует одной i-й строке матрицы:
(9.17)
где
(9.18)
Тогда при построении системы дифференциальных уравнений
изменится индексация.
Рассмотрим пример (9.19).
Дано дифференциальное уравнение второго порядка
(9.19)
С учетом обозначений (9.18) имеем:
Тогда дифференциальное уравнение (9.19) сводится к системе:
(9.20)
113
Вычисление правых частей уравнений системы (9.20) будем
выполнять в подпрограмме PRAV. При этом подпрограмма PRAV будет
иметь вид
Обращение к подпрограмме
PRAV(m, x, Y, F),
где
m-порядок системы,
x- значение x на i-м шаге интегрирования,
Y=[y(1), y(2), y(3), : , y(m)] - входной массив длиной m,
F=[f(1), f(2),:, f(m)] - результат, массив значений правых частей
уравнений системы (9.10) длиной m.
Программу
решения
системы
дифференциальных
уравнений
реализуем в виде 3-х программных модулей:
- основной программы, в которой организуем циклический процесс
по всем шагам интегрирования,
;
- подпрограммы RGK, в которой на каждом i-м шаге реализуется
метод Рунге Кутта (4-го порядка) для системы дифференциальных
уравнений m-го порядка. Здесь на каждом шаге интегрирования
вычисляется
массив
решений
Y
длиной
подпрограммы RGK организуем циклы по j, где
m.
Для
этого
внутри
;
- подпрограммы PRAV, обращение к которой осуществляется из
подпрограммы RGK для вычисления массива F длиной m - значений
правых частей уравнений системы.
Схема алгоритма основной программы представлена на рис.9.17.
114
Рис. 9.17. Схема алгоритма основной программы
Здесь
m-порядок системы,
h-шаг интегрирования,
n-количество шагов интегрирования,
x-начальное и далее - текущее значение x,
Y-массив длинной m, куда заносим начальные и далее - текущие
значения решений системы на одном шаге интегрирования.
В подпрограмме RGK для вычисления элементов массива Y,
используем те же формулы, что и для решения одного дифференциального
уравнения 1-го порядка методом Рунге-Кутта (4-го порядка), но с учетом
поправки на массивы.
Тогда
115
Здесь
Y- массив решений длиной m,
Y1 - рабочий массив длиной m,
T - рабочая матрица порядка (
).
Для вычисления значений fj правых частей дифференциальных
уравнений системы перед вычислением каждого элемента матрицы Т на
каждом j-ом шаге необходимо выполнить обращение к подпрограмме
PRAV.
Схема алгоритма подпрограммы RGK представлена на рис.9.18
116
Рис. 9.18. Схема алгоритма подпрограммы RGK
Вопросы для самопроверки
1. Дайте определение динамическим системам.
2. В чем заключается метод прямоугольников?
3. В чем заключается метод трапеций?
4. В чем заключается метод Симпсона?
5. В каких случаях для описания объектов используется задача Коши?
6. Расскажите о методе Рунге-Кутта 1-го порядка.
7. Расскажите о методе Рунге-Кутта 2-го порядка.
8. асскажите о методе Рунге-Кутта 4-го порядка.
117
Download