Сергей Поршнев
Допущено учебно-методическим объединением вузов по университетскому
политехническому образованию в качестве учебного пособия
для студентов высших учебных заведений
Санкт-Петербург
«БХВ-Петербург»
2004
УДК 681.3.06+519.6
ББК 32.973Я73
П59
Поршнев С. В.
П59 Вычислительная математика. Курс лекций. — СПб.: БХВ-Петербург, 2004. — 320 с.: ил.
ISBN 5-94157-400-2 Книга представляет собой расширенный вариант лекций по курсу «Вычислительная математика», прочитанных автором в Нижнетагильском технологическом институте Уральского государственного технического университета для специальности «Информатика и вычислительная техника». Материал укладывается в перечень требований обязательного минимума содержания Государственного образовательного стандарта высшего профессионального образования по специальности 654600 «Информатика и вычислительная техника» дисциплины «Вычислительная математика». Основная особенность курса — прикладная направленность. Для каждого описанного в книге вычислительного метода приведены его программные реализации, а также соответствующие функции математического пакета MATLAB. Выбранный подход позволяет сформировать понимание математического содержания конкретного метода (границы его применимости, погрешности метода и т. д.) и умение использовать современные программные средства.
Для студентов и преподавателей профильных специальностей УДК 681.3.06+519. ББК 32.973Я Группа подготовки издания:
Главный редактор Екатерина Кондукова Зам. главного редактора Людмила Еремеевская Зав. редакцией Григорий Добин Редактор Екатерина Капалыгина Компьютерная верстка Екатерины Трубниковой Корректор Виктория Голуб Дизайн обложки Игоря Цырульникова Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 23.10.03.
Формат 70 1001/16. Печать офсетная. Усл. печ. л. 25,8.
Тираж 3000 экз. Заказ № "-Петербург", 198005, Санкт-Петербург, Измайловский пр., 29.
Гигиеническое заключение на продукцию, товар № 77.99.02.953.Д.001537.03. от 13.03.2002 г. выдано Департаментом ГСЭН Минздрава России.
Отпечатано с готовых диапозитивов в Академической типографии "Наука" РАН 199034, Санкт-Петербург, 9 линия, 12.
ISBN 5-94157-400-2 © Поршнев С. В., © Оформление, издательство "БХВ-Петербург", Содержание Лекция 1. Теория погрешностей
1.1. Общие сведения об источниках погрешностей, их классификация
1.1.1. Виды погрешностей
1.2. Абсолютная и относительная погрешности. Формы записи данных
1.3. Вычислительная погрешность
1.4. Понятия о погрешности машинных вычислений
Лекция 2. Решение уравнений с одной переменной
2.1. Общие сведения и основные определения
2.2. Отделение корней
2.3. Метод половинного деления
2.4. Метод простой итерации
2.5. Преобразование уравнения к итерационному виду
Лекция 3. Методы решения систем линейных алгебраических уравнений................ 3.1. Общие сведения и основные определения
3.2. Метод Гаусса и его реализация в пакете MATLAB
3.3. Вычисление определителей
3.4. Решение систем линейных уравнений методом простой итерации
3.5. Метод Зейделя
3.6. Решение систем линейных уравнений средствами пакета MATLAB
Лекция 4. Методы решения систем нелинейных уравнений
4.1. Векторная запись нелинейных систем. Метод простых итераций
4.2. Метод Ньютона решения систем нелинейных уравнений
4.3. Решение нелинейных систем методами спуска
4.3.1. Метод Ньютона
4.4. Решение систем нелинейных уравнений средствами пакета MATLAB
Лекция 5. Интерполирование функций
5.1. Постановка задачи
5.2. Интерполяционный полином Лагранжа
5.3. Интерполяционный полином Ньютона для равноотстоящих узлов
IV Содержание 5.3.1. Конечные разности
5.3.2. Первая интерполяционная формула Ньютона
5.3.3. Вторая интерполяционная формула Ньютона
5.4. Погрешность интерполяции
5.5. Сплайн-интерполяция
5.6. Решение задачи одномерной интерполяции средствами пакета MATLAB............ Лекция 6. Численное дифференцирование и интегрирование
6.1. Численное дифференцирование функций, заданных аналитически
6.2. Особенности задачи численного дифференцирования функций, заданных таблицей
6.3. Интегрирование функций, заданных аналитически
6.4. Погрешность численного интегрирования
6.5. Вычисление интегралов методом Монте-Карло
Лекция 7. Методы обработки экспериментальных данных
7.1. Метод наименьших квадратов
7.2. Нахождение приближающей функции в виде линейной функции и квадратичного трехчлена
7.3. Аппроксимация функцией произвольного вида
Лекция 8. Преобразование Фурье
8.1. Разложение периодических функций в ряд Фурье
8.2. Эффект Гиббса
8.3. Спектральный анализ дискретных функций конечной длительности
8.4. Быстрое преобразование Фурье
Лекция 9. Численные методы решения обыкновенных дифференциальных уравнений
9.1. Общие сведения и определения
9.2. Метод Пикара
9.3. Метод Эйлера
9.4. Метод Рунге-Кутта
9.5. Средства пакета MATLAB для решения обыкновенных дифференциальных уравнений
Лекция 10. Численные методы решения дифференциальных уравнений в частных производных
10.1. Общие сведения и классификация уравнений в частных производных................ 10.2. Численные методы решения эллиптических уравнений
10.3. Явные разностные схемы для уравнений параболического и эллиптического типов
10.4. Неявная разностная схема для уравнения параболического типа
10.5. Решение уравнений с частными производными методом Монте-Карло.............. Лекция 11. Численные методы решения интегральных уравнений
11.1. Общие сведения об интегральных уравнениях
11.2. Квадратурный метод решения интегральных уравнений Фредгольма................. 11.3. Квадратурный метод решения интегральных уравнений Вольтерра
Приложение 1. Основные приемы работы c пакетом matlab
П1.1. Работа в командном окне
П1.1.1. Вход в систему MATLAB
П1.1.2. Интерактивный доступ к справочной информации и документации............ П1.1.2.1. Команда help
П1.1.2.2. Команда lookfor
П1.1.2.3. Меню Help
П1.1.3. Редактирование и повторный вызов командной строки
П1.1.4. Формат вывода
П1.1.5. Копия протокола текущей сессии
П1.2. Создание матриц
П1.2.1. Явное задание матриц
П1.2.2. Подматрицы и использование двоеточия
П1.2.3. Функции построения матриц
П1.3. Операции, выражения и переменные
П1.3.1. Правила записи операторов
П1.3.2. Матричные операции
П1.3.3. Операции с массивами
П1.3.4. Сохранение данных из рабочей области
П1.4. Операторы for, while, if, case и операторы отношения
П1.4.1. Цикл for
П1.4.2. Цикл while
П1.4.3. Условный оператор if
П1.4.4. Оператор переключения case
П1.4.5. Условия (операторы отношения)
П1.5. Функции MATLAB
П1.5.1. Скалярные функции
П1.5.2. Векторные функции
П1.5.3. Матричные функции
П1.6. M-файлы
П1.6.1. Файлы-программы
П1.6.2. Файлы-функции
П1.6.3. Текстовые строки, сообщения об ошибках
П.1.6.4. Работа с m-файлами
П1.6.5. Список путей доступа
П1.6.5.1. Работа со списком путей доступа
П1.6.5.2. Текущий каталог
П1.6.5.3. Средство просмотра и редактирования путей доступа Path Browser..... П1.6.5.4. Использование редактора/отладчика
П.1.6.6. Отладка m-файлов
Приложение 2. Точные методы решения дифференциальных уравнений в частных производных
П2.1. Метод разделения переменных
П2.2. Метод интегральных преобразований
П2.2.1. Общие сведения об интегральных преобразованиях
П2.2.2. Решение краевой задачи УЧП с использованием синус-преобразования.... П2.2.2.3. Решение краевой задачи уравнения в частных производных с использованием преобразования Фурье
П2.2.2.4. Решение краевой задачи УЧП методом преобразования Лапласа............. П2.3. Метод преобразования зависимых переменных
П2.4. Метод преобразования координат
П2.5. Метод разложения по собственным функциям
П2.6. Метод функций Грина
П2.7. Метод интегральных уравнений
Приложение 3. Приближенные методы решения дифференциальных уравнений в частных производных
П3.1. Вариационный метод
П3.2. Методы теории возмущений
П3.2.1. Применение метода последовательных приближений к решению обыкновенных нелинейных дифференциальных уравнений
П3.2.1. Обычная формула теории возмущений для решения нелинейных дифференциальных уравнений
Приложение 4. Метод обратной задачи рассеивания
Литература
· ¤·µ··» } °m« °} m °® m m©°« ° ® °® °® ° ° } ° °° « ®°m© ° m « } mm° « }® ° ··· µ··» j°} m}m« ° ° « «m « °« X ° °} °« m °° ° « X ° ° « m} « X }« ° ® } µ··» s°« ° °° m °® X ° °m® ° « °m© © m« m °} ° X ° «m« ®°« °°m °m°m« °} °« ® ®°m° ° °}® i« m©°« ° ° ° °® « °m} c « ° «°« }} ° m m° °© m© °® ° °m« ° °° « °m® °}® | «m«°« m © °® °}® ® }® °m° °© ®© ® ° °© m }©m°« m° °m« } °® m« °} m« |° °°m } ° }} °® °m® {©°« ° ° }® °m ° m©« °} ° °© }°m «m m°« «® m©°® c°° °® ° ® °© m© °® °m °« m« «} ° m }® °« °} }« «} m} 4 m «} © m}m« °® m ® © X c« ° « m° °}° m« «} X i« « m« °} « °« °m °©® m°°m m} ° X {©°« ° m} « m°°m }® ° °m« ° m } · µ·¦ m° } ° ® ° « ©m } m D m° | |°® ° « ©m } m / D } m° |° ° ° m© m | ~ ° ©m m° © m ° « ° m® m® °m A^_kv pbnju aZibkZggu_ dmjkb\hf agZqZsb_ | ~ ©m m® ° ° ° m° © « °m°m ® A^_kv pbnju aZibkZggu_ dmjkb\hf \_jgu_ | ° ° ° m° m© ° m ° °m© } m© © j «°« ° m© ° «® °© m°« ° m© ° «® m® © °® m® © im ° « }® m °« « °©m © ° }m© ° }m ° « ® } }} © ° °m« ° { ° ° D D © °} °}} « © ° D D ° m © «m«°« © ° ° ® ° ' D « } °©m m m « °©m ° }m© ° }m ° «® «m«°« © ° °® ° / D °©m m m ·µ· i « }}° ° ° ° H ° ° G ° « ° ° « ° ° « ° k © « } ° ® °® °® « }® m°« Q © µ· ·» i« °m« ° m « } « m °° X v }°m® «® X v m ® «® ° m °m °®°m © © °} °®°m U °®m© °°«® ©m© ° } °®°m °m°« m °m°m }m } °m N °m } ° °m }°m°« } «© © « °} °m m } « © ° °© ° U U U® °°© °°« m ° ~° m °®°m « © ° °«m °« m ° © °« ° °°« «« « } ° ° ° }°m ® «® } «© U m °m« °°© °° « N }°m «m m© ° ° }©m°« }°m O «m m©«© ° ° } m°m ° D °m« ° ® m U® °° °} °} °« }® °m° m m° « ° U U U U U U ° « ° °m« ° } m© D D m°«« °° } « k° « ° °m« m°m© ° ° } °m® «® }m m ® ° { m« °« ° °m« ° °« c°° °®°m ° }°m® « ® °°« N m U U r ° }°m «m m©«© ° ° } ° m °®°m m m ° } «m« °« °}® °}® m m°° m© ° «® °«°« } © ° « ° °m« ° D }©m°« }m® |°© ° °m« ° m °®°m © }°« ° v} °m °®°m ° m ® « ® °m ° |°« °« ° }m m ® « | ® °}° c°° °®°m °°« N °m «m m©«© ° O } «} ° «®} ~ ° m °m« ° m ® «® { °®°m ° ° qx nlxzjksntqn ·qxns j j x wsjkjnp ojwzvp k° © ° ° m© |°© ° ° m© · ····» »···» °m °m© © } « } ® ®© m® ° °m°m © © ° °m °m°m }® } 0$7/$% ··· ···· s ® m ® m« }« ) [ ©m } °} m >D E@ | {°«} ° [>DE@ } )[ m ©m°« } m« | ° [ ©m°« } N® }° ° [ [ m° ° }® )[ m© m© N «} m} | |}©® } ©m°« °© | m« )[ *[ ©m °« m°© }mm© ° °m ® © m® °m s®© m« ° ® ® « °« °} °© | m ©m°« °} ° }« )[ «m«°« °}® °} m® m°«} °} m « m m }°}® D D DQ ®°m© }© m« [ m° j © m° m°«} °} m }® ® m°m©® m }}° °«© }« | m ©m°« °© ° } « )[ «m«°« °}® | c m °m m } | ° }® m« s® « }® m« ° ® ° ····» | | }® « }m }© m } { °m °m }® m° °} i« ° ° } } )[ } }© }« } } °« ° ° °°° { °© °« °} }® }« m©°« °m ° m X ° ©m« }« } } >D E@ ·µ·· ° m } >D E@ °m©® } }« )[ } ©m ° m© m °« n}« )[ « } } >D F@ n}« )[ « } } >F E@ « °° m « ® °} } ° } m« qx vi~xtntq unzvlj wvsvkqttvmv lnsntq v® ® )XQFP ° °® ° } µ ¦» )XQFP IXQFWLRQ ] )XQF[ ] [A [A[A[ v® ® 'LYP ° °® ° } µ ¦» 'LYP IXQFWLRQ ] 'LYI[[HSV I bfy PnZceZ kh^_j`Zs_]h hibkZgb_ nmgdpbb I [ e_\Zy ]jZgbpZ hlj_adZ gZ dhlhjhf ijhba\h^blky ihbkd j_r_gby mjZ\g_gby ijZ\Zy ]jZgbpZ hlj_adZ gZ dhlhjhf ijhba\h^blky ihbkd j_r_gby mjZ\g_gby lhqghklv j_r_gby / [[ ZKLOH /!HSV F [[ LI IHYDOIF IHYDOI[ hi_jZlhj \uqbke_gby \ lhqd_ [ F agZq_gby nmgdpbb hibkZgb_ dhlhjhc gZoh^blky \ khhl\_lkl\mxs_f nZce_ Bfy nZceZ ojZgblky \ kljhdh\hc i_j_f_gghc I / [[ HQG H[jZsZ_f \gbfZgb_ qblZl_ey qlh \ iZd_l_ kms_kl\m_l [md\u kmlv dhlhjhc khklhbl \ lhf qlh dh^ kljhqghc [md\u jmkkdh]h Ze nZ\blZ jZkkfZljb\Z_lky iZd_lhf dZd dh^ dhfZg^u Ihwlhfm h[gZ jm`_gb_ ijhibkghc [md\u \ dhff_glZjbb ijb\h^bl d hklZgh\m \uihegy_ fh]h nZceZ b ihy\e_gbx khh[s_gby h[ hrb[d_ wlZiZ bkiheg_gby >ey ij_^hl\jZs_gby hibkZgghc kblmZpbb ke_^m_l bkihevah\Zlv \ dhff_glZjbyo lhevdh kljhqgmx [md\m °® } } m > @ ° m©m m } } } 0$7/$% ° °m° !! [ !! [ !! G[ A !! [ [G[[ !! SORW[)XQF[ JULG RQ {©° « }« m« [[A DQV m }« !! )XQFDQV DQV H i« °°« °° « }« m« m } ° }« } m©°® © ° m°° « }« i m ° ® 'LY,P ° ° } mm °« } m « µ ¦» 'LY,P IXQFWLRQ >]]@ 'LYI[[HSV / [[ gZqZevgZy ^ebgZ hlj_adZ F [[ gZqZevgh_ agZq_gb_ dhjgy ZKLOH /N!HSV LI IHYDOIFN IHYDOI[ FN [[ /N [[ HQG ] F ] / s } °° m©° « }« [[A {® m°° « }« °° ° {® m°° © } } °« qx djkqxquvxz lsqt vznorj tj rvzvvuqnzx otj·ntqn rvt ·»· ~ m m°© m ° [ } m« [ m } } [ °m«« [ m m ° m« ° ©m ® °m° °}« « °m ° j« °m° m m« © }} °« ®°« } °«®°« «°« m } I [ °°« °m° «m«°« } m« i®°m ° [ of [ ® } m m°m °m °° °° «°« ° ® i° °m °° °° m©© °m« i}°m ° °m° m ° c°° « v°m °© °© « ® °m° vm « ° « m°« °m°m °« }} °} ©m « °}« °°« T ° m vm « °°« °« ° F m© °m® |© ° }« m« ® °® « m m vm ° °} « ©m« } s }} °m } © ··· · °° ° « °® °« } 0k7/$% µ ¦» )XQFP IXQFWLRQ ] )XQF[ ] [A [A[A[ µ ¦» )XQFP IXQFWLRQ ] )XQF[PI ] [P IHYDOI[ µ ¦» )XQFP IXQFWLRQ ] )XQF[PI G[ A [ [G[ WPS [P IHYDOI[ WPS [P IHYDOI[ ] DEVWPSWPSG[ !! G[ A !! [ [ !! [ [G[[ !! P !! KROG RQ !! JULG RQ v® ® 0\B,WHUP ° }©® °©m } µ ¦ 0\B,WHUP IXQFWLRQ ] 0\B,WHUI[HSVTP [ [ ZKLOH DEV[L)XQF[LPI!TT HSV [L )XQF[LPI HQG ~® © °° !! T !! HSV A {©° « }« m« } [HSVTP {® ©® °° ° {©m }« !! 1L OHQJWK] !! ]1L DQV {©m « } !! )XQF]1L DQV H i« m©°« ® }® m°« ® ® m } 0$7/$% ° °« }« I]HUR « m m°° m } © m « °} ® }m® « | } ® } ° ® m [ I]HURIXQ[RSWLRQV33 >[IYDOH[LWIODJRXWSXW@ I]HUR ~° IXQ °}m« « °« « ® RSWLRQV © ° °° °m« m m©°® ) IHYDO)81;33 « m« I[ H[LWIODJ « } }® °m°m }« m H[LWIODJ } °°m RXWSXW « m } }« I]HUR mm m °m « « }« m« °} }« } > @ >@ °} }« ° ° m©m } }« ° m°m « } } °°