Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями. Учебное пособие
.pdf
x
x
x
x
8. ОСНОВНЫЕ МЕТОДЫ
ОБЩЕГО НАЗНАЧЕНИЯ
При рассмотрении методов численного решения задачи Коши были
упомянуты разные методы общего назначения (например, метод простой итерации). Вообще, при имитационном моделировании неизбежно возникает необходимость применения множества разнообразных
методов общего назначения. Перечислим наиболее общие (и при этом
достаточно полезные) методы.
ИНТЕРПОЛЯЦИЯ И СГЛАЖИВАНИЕ
Часто исходные данные или промежуточные результаты представлены недостаточно подробно или не удовлетворяют каким-либо требованиям (часто – требованию гладкости). В этом случае применяют интерполяцию и, если требуется, сглаживание. Какой именно метод лучше применить, зависит от того, в каком виде представлены данные и
какие требования необходимо удовлетворить.
Если данные
виде аргумент – значение: [
интерполяции является построение интерполянта с помощью интер-
поляционных полиномов Лагранжа. В зависимости от требований к
точности интерполяции часто применяются линейные, квадратичные
или кубические полиномы Лагранжа. Возможно применение полиномов и более высоких степеней, но, как правило, в этом нет смысла, так
как при этом теряется самая сильная
номов Лагранжа – простота построения, к тому же полиномы высоких
порядков могут давать «странные» осцилляции. Полиномы Лагранжа
удобны для интерполяции и сглаживания на отдельных подотрезках
(
,...,
i
ikx
ряющего каким-либо требованиям на всем отрезке
(функция) представлены таблично (набор значений в
y
,
], 1...in
i
i
), то простейшим способом
сторона интерполяционных поли-
)
. Если же требуется построение интерполянта, удовлетво-
(
,...,
1
)
n
, то
41

лучше использовать сплайны. Сплайны могут быть интерполяционны-
x
x
ми (проходить через все точки [
ся уклонение интерполянта от исходных точек [
y
,
]) и сглаживающими (допускает-
i
i
y
,
]). Сплайны
i
i
строятся из условия минимизации некоторого функционала, являющегося, по сути, суммой слагаемых, каждое из которых выражает штраф
за нарушение интерполянтом соответствующего условия. Например
минимизация второй производной сплайна приведет к тому, что
сплайн не будет иметь резких осцилляций.
Для интерполяции многомерных функций также удобно использовать сплайны (базисные функции сплайна
становятся многомерными).
В качестве базисных функций удобно использовать финитные базисные функции. Такие функции имеют ненулевые значения только в некоторых, связанных с соответствующими функциями, подобластями.
Вне соответствующей подобласти значение финитной функции тождественно равно нулю. Следовательно, суммы и интегралы от этих
функций необходимо вычислять лишь в соответствующей подобласти.
ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
Для вычисления одномерных интегралов таблично заданных функций при невысоких требованиях к точности интегрирования используют метод Прямоугольника, метод Трапеций или метод Симпсона.
Для более точного интегрирования разумно применение квадратурных
формул Гаусса. В многомерном случае также удобно использовать
формулы Гаусса или (если получаемая точность удовлетворительна)
аналог метода центрального Прямоугольника, когда значение
мого интегральной суммы вычисляется как произведение значения
подынтегральной функции, вычисленного в некоторой средней точке
подобласти, на меру этой подобласти.
слагае-
ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ
Для вычисления производной функции как в одномерном, так и в
многомерном случае можно использовать простейшие разностные
схемы. Однако, если исходная функция недостаточно гладкая или зашумлена, это может приводить к большой ошибке в вычисленных значениях производной. Более устойчивым методом является построение
и дифференцирование достаточно гладкого интерполянта функции.
42

РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ
АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
Множество методов приводит к необходимости решения систем
линейных алгебраических уравнений (СЛАУ). При выборе метода решения СЛАУ учитывают ее размер, портрет и свойства матрицы системы. Для систем небольших размеров удобно использовать прямые
методы. Для самых маленьких систем прост и эффективен метод
Гаусса с выбором ведущего элемента. Эквивалентным (но иногда го
раздо более удобным) методом является LU-факторизация матрицы,
где L и U – треугольные матрицы. Если матрица системы симметричная, то можно применить LL
T
-факторизацию (требует хранения только
матрицы L). Для хранения факторизованных матриц можно использовать профильный формат. Если размеры матрицы достигают десятков
тысяч или сотен неизвестных, а сами матрицы весьма разряжены, то
можно использовать MKL PARDISO. Для разряженных матриц больших размеров (сотни и тысячи неизвестных) более эффективными становятся итерационные методы. Если матрица
системы симметрична и
положительно определена, хорошим выбором будет метод сопряжен-
ных градиентов (CGM). Для несимметричных матриц можно использовать локально оптимальную схему (ЛОС), метод бисопряженных
градиентов (BiCG) и метод обобщенных минимальных невязок
(GMRES).
РЕШЕНИЕ НЕЛИНЕЙНЫХ СИСТЕМ
-
Для решения нелинейных систем используют метод простых ите-
раций или метод Ньютона. Метод простых итераций прост в реализа-
ции, но, как правило, менее эффективен и более требователен к свойствам системы, чем метод Ньютона. Сходимость обоих методов в общем случае не гарантирована. Тем не менее для большинства практически полезных
ситуаций оба метода оказываются применимы. Часто
для более устойчивой сходимости на итерациях используется релакса-
ция новых значений. Если уравнение одно, то применимо множество
методов, самым простым из которых является метод половинного де-
ления (бисекций).
43

9. ТЕСТОВЫЕ ПРИМЕРЫ
В этой главе приведены результаты интегрирования различными
tt
методами уравнения
ем
(0) 1y ,
0, 4t
го уравнения является функция
лен на рис. 10.
() cos(4) 4 sin(4)
yt e t e t
с начальным услови-
для трех сеток с h = 0.2, 0.1 и 0.05. Решением это-
t
() cos(4)
yt e t
, ее график представ-
Рис. 10. График тестовой функции
Ниже на графиках показана разность между численным
()
yt
ным
решением. В таблицах приведены точное значение и соот-
i
y
и точ-
i
ветствующие разности для пяти значений: t = 0.8, 1.6, 2.4, 3.2 и 4.0,
а также максимум абсолютной погрешности по всем
44
t
.
i

1. Явный метод Эйлера
Рис. 11. График разности ()
Результаты численного интегрирования
yyt для трех сеток
ii
Таблица 2
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –1.3519205 –1.7935147 –2.0094781
1.6 4.9192771 4.9691656 4.9845366 4.9630737
2.4 –10. 854388 –7.2662993 –9.0466112 –9.9458552
3.2 23. 866044 24.508872 24.553343 24.315089
4.0 –52. 286436 –38.008667 –44.909147 –48.515634
Max | ( ) |
yyt
ii
21.88 11.61 6.09
45

2. Неявный метод Эйлера
Рис. 12. График разности ()
Результаты численного интегрирования
yyt для трех сеток
ii
Таблица 3
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –3.0084200 –2.6313970 –2.4294986
1.6 4.9192771 4.4636026 4.7538544 4.8505265
2.4 –10. 854388 –14.579797 –12.703223 –11.773554
3.2 23. 866044 19.125527 22.184628 23.170384
4.0 –52. 286436 –70. 268237 –60.551720 –56.276749
Max | ( |–)
yyt
ii
–29.73 13.71 –6.61
46

3. Метод Трапеций
Рис. 13. График разности ()
Результаты численного интегрирования
yyt для трех сеток
ii
Таблица 4
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –2.1101202 –2.1939821 –2.2147454
1.6 4.9192771 4.8749408 4.9082117 4.9165304
2.4 –10. 854388 –10.193157 –10.692103 –10.813698
3.2 23. 866044 23.437872 23.759083 23.839501
4.0 –52. 286436 –48.501256 –51.366645 –52.056774
Max |(|–)
yyt
ii
3.79 0.92 0.23
47

4. Модифицированный метод Эйлера
Рис. 14. График разности ()
yyt для трех сеток
ii
Результаты численного интегрирования
Таблица 5
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –1.9474992 –2.1522955 –2.2042584
1.6 4.9192771 4.9158032 4.9191258 4.9193048
2.4 –10.854388 –9.5053651 –10.512084 –10.768184
3.2 23.866044 23.852425 23.869762 23.867630
4.0 –52.286436 –45. 696422 –50.610885 –51.864409
Max |(|–)
yyt
ii
6.59 1.68 0.42
48

5. Усовершенствованный метод Эйлера
Рис. 15. График разности ()
yyt для трех сеток
ii
Результаты численного интегрирования
Таблица 6
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –2.2591251 –2.2331765 –2.2249277
1.6 4.9192771 4.9374896 4.9242303 4.9205723
2.4 –10.854388 –11.077782 –10.921671 –10.872957
3.2 23.866044 24.042727 23.914003 23.878570
4.0 –52.286436 –53.572849 –52.669701 –52.391556
Max |(|–)
yyt
ii
–1.27 –0.38 –0.11
49

6. Метод Рунге–Кутты 4-го порядка
Рис. 16. График разности ()
yyt для трех сеток
ii
Результаты численного интегрирования
Таблица 7
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –2.2222715 –2.2217785 –2.2217479
1.6 4.9192771 4.9192904 4.9192781 4.9192772
2.4 –10.854388 –10. 857012 –10. 854551 –10. 854398
3.2 23.866044 23.866136 23.866052 23.866045
4.0 –52.286436 –52.299444 –52.287247 –52 286487
Max | ( |–)
yyt
ii
–0.013 –8.11e–4 –5.10e–5
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
