j
П. Н. Вабищевич
Численны е
МЕТОЛЫ
ВЫЧИСЛИТЕЛЬНЫЙ
ПРАКТИКУМ
. -01
1б1
(4 « в ° е к
?2*
Практическое применение
численных методов
при использоватщк
алгоритмического
Python URSS
П. Н. Вабищевич
ЧИСЛЕННЫЕ МЕТОДЫ
Вычислительный практикум
URSS
МОСКВА
ББК 22. 19
Вабищевич Петр Николаевич
Численные методы: Вычислительный практикум. — М. : Книжный дом
«ЛИБРОКОМ», 2010. — 320 с. Настоящая книга посвящена отработке навыков практического применения
численных методов при использовании алгоритмического языка Python. Рассматри
ваются прямые и итерационные методы линейной алгебры, спектральные задачи,
системы нелинейных уравнений, задачи минимизации функций, задачи интерполи
рования функций, численного интегрирования, интегральные уравнения, краевые
задачи и задачи с начальными данными для обыкновенных уравнений и уравнений
с частными производными. На уровне пользователя применяются специализирован
ные математические пакеты, на уровне разработчика проводится программирование
базовых алгоритмов численного анализа. Часть материала посвящена информации
о программном обеспечении, кратко описаны основные элементы языка Python
и Используемые пакеты. Книга рассчитана на студентов вузов, обучающихся по специальности «При
кладная математика», и специалистов по вычислительной математике и математиче
скому моделированию. Издательство «Книжный дом “ЛИБРОКОМ”».
117312, Москва, пр-т Шестидесятилетия Октября, 9. Формат 60x90/16. Печ. л. 20. Зак. № 3625. Отпечатано в ООО «ЛЕНАНД».
117312, Москва, пр-т Шестидесятилетия Октября, НА, стр. 11. Никакая часть настоящей книги не может быть воспроизведена или
передана в какой бы то ни было форме и какими бы то ни было средствами, будь то элек
тронные или механические, включая фотокопирование и запись на магнитный носитель,
а такж е размещ ение в Интернете, если на то нет письменного разрешения владельца. Содержание
Предисловие... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
1 Программное обеспечение... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
1. 1 Установка Python... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
1. 2 Работа в IDLE... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 10
1. 3 Net Beans IDE для Python... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 13
2 Элементы я зы к а... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 20
2. 1 Общая характеристика языка Python... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 20
2. 2 Типы данных... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23
2. 3 Инструкции... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 29
2. 4 Функции... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 36
2. 5 Модули... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 39
3 Математический Python... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 43
3. 1 Встроенные функции и стандартная библиотека... ... ... ... ... ... ... ... ... ... ... ... . . 43
3. 2 Пакет NumPy... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 48
3. 3 Пакет Matplotlib... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 65
3. 4 Пакет SciPy... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 92
3. 5 Другие математические пакеты... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 132
4 Прямые методы линейной алгебры ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 159
4. 1 Задачи решения систем линейных уравнений... ... ... ... ... ... ... ... ... ... ... ... ... ... . 159
4. 2 Алгоритмы решения систем линейных уравнений... ... ... ... ... ... ... ... ... ... ... ... . 160
4. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 163
4. 4 Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 169
5 Итерационные методы линейной алгебры ... ... ... ... ... ... ... ... ... ... ... ... ... . 172
5. 1 Итерационное решение систем линейных уравнений... ... ... ... ... ... ... ... ... ... . . 172
шие
Итерационные алгоритмы линейной алгебры... ... ... ... ... ... ... ... 174
Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 179
Задачи ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 183
Спектральные задачи линейной алгебры ... ... ... ... ... ... ... . 184
Собственные значения и собственные вектора матриц... ... ... 184
Численные методы решения задач на собственные значения 185
Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 190
Задачи ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 195
Нелинейные уравнения и системы ... ... ... ... ... ... ... ... ... ... ... ... 196
Решение нелинейных уравнений и систем... ... ... ... ... ... ... ... ... . . 196
Итерационные методы решения нелинейных уравнений... ... 197
Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 200
Задачи... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 204
Задачи минимизации ф ун кций ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 205
Поиск минимума функции многих переменных... ... ... ... ... ... ... 205
Методы решения задач оптимизации... ... ... ... ... ... ... ... ... ... ... ... . 206
Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 210
Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 215
Интерполирование и приближение ф у н к ц и й ... ... ... ... ... 216
Задачи интерполяции и приближения функций ... ... ... ... . 216
Алгоритмы интерполяции и приближения функций... ... ... ... . 217
Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 220
Задачи ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 225
Численное интегрирование... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 227
Задачи приближенного вычисления интегралов... ... ... ... ... ... . 227
Алгоритмы приближенного вычисления интегралов... ... ... ... . 228
У п р а ж н е н и я ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 230
Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 236
Интегральные уравнени я... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 238
З а д а ч и дл я интегральны х у р а в н ен и й ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 238
М етоды реш ения интегральны х у р а в н ен и й ... ... ... ... ... ... ... ... ... ... ... . . 240
Содержание___________________________________________________________5
11. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 244
11. 4 Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 250
12 Задача Коши для дифференциальных уравнений... ... ... ... ... ... ... . . 251
12. 1 Задачи с начальными условиями для систем обыкновенных
дифференциальных уравнений... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 251
12. 2 Численные методы решения задачи Коши... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 252
12. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 257
12. 4 Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 261
13 Краевые задачи для дифференциальных уравнений... ... ... ... ... ... 264
13. 1 Краевые задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 265
13. 2 Численные методы решения краевых задач... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 266
13. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 274
13. 4 Задачи... ... ... ... . 279
14 Краевые задачи для эллиптический уравнений... ... ... ... ... ... ... ... ... . 281
14. 1 Двумерные краевые задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 282
14. 2 Численное решение краевых задач... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 282
14. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 290
14. 4 Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 296
15 Нестационарные задачи математической ф и зи к и ... ... ... ... ... ... ... ... . 298
15. 1 Нестационарные краевые задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 299
15. 2 Разностные методы решения нестационарных задач... ... ... ... ... ... ... ... ... . . 300
15. 3 Упражнения... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 309
15. 4 Задачи... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 316
Список литературы... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 318
Предисловие
Современные научные вычисления проводятся на основе использования чис
ленных методов.