Text
                    БАКАЛАВР. АКАДЕМИЧЕСКИЙ КУРС
Под редакцией У. Г. Пирумова
ЧИСЛЕННЫЕ
МЕТОДЫ
Учебник и практикум. 5-е издание
МО рекомендует
biblio-online.ru

JS МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ЧИСЛЕННЫЕ МЕТОДЫ УЧЕБНИК И ПРАКТИКУМ ДЛЯ АКАДЕМИЧЕСКОГО БАКАЛАВРИАТА 5-е издание, переработанное и дополненное Под редакцией У. Г. Пирумова Рекомендовано Учебно-методическим отделом высшего образования в качестве учебника для студентов высших учебных заведений, обучающихся по физико-математическим направлениям и специальностям Допущено Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки «Математика. Прикладная математика» Книга доступна в электронной библиотечной системе biblio-online.ru Москва Юрайт 2014
УДК 51 ББК 22.193я73 ПЗЗ Авторы-. Пирумов Ульян Гайкович — доктор технических наук, член-корреспон- дент РАН, заведующий кафедрой вычислительной математики и программи- рования МАИ (НИУ), дважды лауреат Государственной премии; Гидаспов Владимир Юрьевич — кандидат физико-математических наук, старший научный сотрудник, заместитель заведующего кафедрой вычислитель- ной математики и программирования МАИ (НИУ); Иванов Игорь Эдуардович — кандидат физико-математических наук, старший научный сотрудник кафедры вычислительной математики и про- граммирования МАИ (НИУ); Ревизников Дмитрий Леонидович — доктор физико-математических наук, профессор кафедры вычислительной математики и программирования МАИ (НИУ); Стрельцов Вячеслав Юльевич — кандидат физико-математических наук, доцент кафедры вычислительной математики и программирования МАИ (НИУ); Формален Владимир Федорович — доктор физико-математических наук, профессор кафедры вычислительной математики и программирования МАИ (НИУ). Рецензенты-. Карташов Э. М. — доктор технических наук, профессор, заведующий кафе- дрой высшей и прикладной математики Московского государственного уни- верситета тонких химических технологий им. М. В. Ломоносова, заслуженный деятель науки РФ; Миносцев В. Б. — доктор физико-математических наук, профессор, заведу- ющий кафедрой общей и прикладной математики Московского государствен- ного индустриального университета; Пасконов В. М. — доктор физико-математических наук, профессор Москов- ского государственного университета им. М. В. Ломоносова; Яламов Ю. И. — доктор физико-математических наук, профессор, действи- тельный член РАЕН. Пирумов, У. Г. ПЗЗ Численные методы : учебник и практикум для академического бакалав- риата / У. Г. Пирумов [и др.] ; под ред. У. Г. Пирумова, — 5-е изд., перераб. и доп. — М.: Издательство Юрайт, 2014. — 421 с. — Серия: Бакалавр. Академи- ческий курс. ISBN 978-5-9916-4211-8 Учебное пособие содержит все традиционные разделы, предусмотренные программой по данной дисциплине. Материал дается по единой схеме, вклю- чающей в себя постановку задачи, описание алгоритма решения, детально разобранные типовые примеры и тщательно подобранный комплекс задач для самостоятельного решения. Соответствует Федеральному государственному образовательному стан- дарту высшего образования четвертого поколения. Для студентов технических вузов, аспирантов и преподавателей, а также инженеров, использующих в практической деятельности численные методы. УДК 51 ББК 22.193я73 © Коллектив авторов, 1998 © Коллектив авторов, 2012, с изменениями ISBN 978-5-9916-4211-8 © ООО «Издательство Юрайт», 2014
Предисловие В учебном пособии изложены основные численные методы решения прикладных задач. Материал соответствует государ- ственному образовательному стандарту по направлению «При- кладная математика». В некоторых разделах пособия, помимо традиционных, рассматриваются численные методы, развитые авторским коллективом. Книга содержит четыре главы. Первая глава посвящена чис- ленным методам алгебры. В отличие от 1-го издания (М., 1998), она дополнена материалом по численным методам оптимизации для функций многих переменных и разделом по линейному про- граммированию. Во второй главе описаны приближения функ- ций, численное дифференцирование и интегрирование, а также добавлено изложение метода статистических испытаний. Третья глава посвящена численным методам решения обыкновенных дифференциальных уравнений. В нее дополнительно включен параграф по интегральным уравнениям. В четвертой главе приве- дены численные методы решения уравнений в частных произво- дных. Каждая глава сопровождается введением, в котором дается краткое содержание главы, а также приводятся сведения из раз- делов высшей математики, необходимые для лучшего усвоения материала. Авторы считают своим долгом выразить глубокую признатель- ность рецензентам: профессорам В. Б. Миносцеву, Э. М. Карта- шову, В. М. Пасконову и Ю. И. Яламову. Авторы выражают бла- годарность за подготовку рукописи к изданию В. Н. Камзолову, Ал. А. Пярнпуу, В. В. Сеницкой.
Введение В настоящее время численные методы являются мощным мате- матическим средством решения многих научно-технических проблем. Это связано как с невозможностью в большинстве слу- чаев получить точное аналитическое решение, так и со стреми- тельным развитием компьютерной техники. Существуют много- численные стандартные программы и объектно ориентированные пакеты прикладных программ. Однако научным и инженер- но-техническим работникам важно понимать сущность основных численных методов и алгоритмов, поскольку зачастую интерпре- тация результатов расчетов нетривиальна и требует специальных знаний особенностей применяемых методов. Поэтому необходи- мо уделять большое внимание структуре погрешностей при реше- нии конкретных задач и корректности вычислений. СТРУКТУРА ПОГРЕШНОСТИ. Существует четыре источника погрешностей, полученных в результате численного решения: математическая и физическая модели, исходные данные, при- ближенность метода и ошибки округления. Первые два источника погрешностей приводят к так на- зываемой неустранимой погрешности. Эта погрешность может присутствовать, даже если решение сформулированной задачи найдено точно. Погрешность метода возникает из-за того, что точный оператор и исходные данные, в частности начальные и краевые условия, заменяются по определенным правилам при- ближенными. Так, производные заменяются их разностными аналогами, интегралы — суммами, функции — специальными многочленами; а при решении многих задач строятся бесконеч- ные итерационные процессы, которые естественным образом пре- кращаются после конечного числа итераций. Как правило, по- грешность метода может быть оценена и поддается контролю. Для некоторых методов такая оценка будет представлена. Погрешность метода следует выбирать так, чтобы она была не более чем на порядок меньше неустранимой погрешности. Погрешность округления возникает в связи с тем, что вычис- ления производятся с конечным числом значащих цифр. Округ-
Введение 5 ления производятся по следующему правилу: если в старшем из отбрасываемых разрядов стоит цифра меньше пяти, то содержи- мое сохраняемых разрядов не изменяется. В противном случае в младший сохраняемый разряд добавляется единица с тем же зна- ком, что и у самого числа. Очевидно, что погрешность, возникаю- щая при округлении, не превышает младшего оставляемого раз- ряда. Повторное округление проводить не следует, так как оно может привести к увеличению погрешности. Различают абсолют- ную и относительную погрешность. Пусть а — точное, вообще го- воря, неизвестное числовое значение некоторой величины, а а — известное приближенное числовое значение этой величины, тог- да число Д(а) = |а - а| называют абсолютной погрешностью числа а, а величину 5(a) = |а| — его относительной погрешностью. Нетрудно показать, что при сложении и вычитании складываются абсолютные погрешности, а при делении и умножении — относительные погрешности. Оче- видно, что абсолютная погрешность характеризуется числом вер- ных цифр после запятой, а относительная погрешность — числом верных значащих цифр. Поскольку на современных компьютерах число записывает- ся, как правило, с 10—12 десятичными знаками, то погрешность 5 единичного округления порядка 10"10—10-12 обычно пренебре- жимо мала по сравнению с неустранимой погрешностью и по- грешностью метода. При решении больших задач производятся миллиарды операций и легко предположить, что ошибки могут заметно накапливаться, однако, поскольку они носят случайный характер, может происходить их взаимная компенсация. Зачас- тую строятся специальные алгоритмы, в частности итерацион- ные, которые малочувствительны к ошибкам округления. КОРРЕКТНОСТЬ. При численном решении основных задач не- обходимо знать какие-либо входные (исходные) данные — на- чальные, краевые (граничные) значения искомой функции, ко- эффициенты и правые части уравнения и т. д. Очевидно, что для исследователя важно установить, существует ли решение задачи, единственно ли оно и как оно зависит от входных данных. Говорят, что задача поставлена корректно, если она разреши- ма при любых допустимых входных данных, когда имеется един- ственное решение и это решение непрерывно зависит от входных
6 Введение данных, т. е. малому их изменению соответствует малое измене- ние решения. Тогда говорят, что задача устойчива. Задача поставлена некорректно, если ее решение неустойчи- во относительно входных данных, т. е. малому их изменению мо- гут соответствовать большие изменения решения. Известно, что задача численного интегрирования корректна, а задача диффе- ренцирования некорректна. Классическим примером некорректной задачи является зада- ча Коши для уравнения Лапласа. Эта некорректность исходной задачи проявляется и при ее численном решении. В настоящее время развиты методы решения некорректных задач. К числу их относятся так называемые методы регуляриза- ции, которые сводят решение исходной задачи к решению близ- кой к ней вспомогательной с некоторым малым параметром Е так, что при при е —> О решение вспомогательной задачи должно стремиться к решению исходной задачи. Далее для некоторых численных методов будут формулироваться условия корректнос- ти и устойчивости.
Глава 1 ЧИСЛЕННЫЕ МЕТОДЫ АЛГЕБРЫ Методы, приведенные в главе, в значительной степени объединяет система понятий и идентичность подходов к решению задач. Сначала приводятся численные методы решения систем линейных алгебраических уравнений. В линейной алгебре эту задачу называют первой основной задачей. К ней при- мыкают задачи вычисления определителей и элементов об- ратной матрицы, которые иногда называют второй и третьей основными задачами линейной алгебры. Далее излагаются численные методы уточнения корней не- линейных уравнений. В общем случае такие уравнения не имеют аналитических формул для своих корней или эти формулы слишком громоздки и неудобны для практиче- ского использования. В частности, в начале XIX века было доказано, что нелинейные уравнения выше четвертой сте- пени неразрешимы в радикалах даже при использовании радикалов произвольной степени. Используемые числен- ные методы уточнения корней нелинейных уравнений можно условно разделить на две группы. К первой группе относятся методы, которые назовем универсальными в том смысле, что в принципе они пригодны для отыскания кор- ней уравнений любого вида. Эти методы носят итерацион- ный характер. Подробно рассмотрены метод дихотомии (деления пополам), метод простой итерации, метод Ньюто- на и две его модификации: метод секущих и метод Ньюто- на с постоянным значением производной. Кратко дан ме- тод парабол. Для системы нелинейных уравнений приведено обобще- ние методов простой итерации, метода итераций Зейделя и метода Ньютона в приложении к одному нелинейному уравнению. В последней теме главы освещается задача нахождения собственных значений и собственных векторов. Рассмот- рены два метода отыскания всех собственных значений: итерационный метод вращения и метод интерполяции. Дополнительные сведения о методах решения полной проблемы собственных значений содержатся в разделе, посвященном методу Данилевского.
8 Глава 1. Численные методы алгебры 1.1. Основные понятия линейной алгебры Приведем некоторые сведения из линейной алгебры, которые по- требуются в дальнейшем. Рассмотрим прямоугольную матрицу “11 “12 ••• “1п U , д _ ... д ml m2 тп Две матрицы А = [а{.] и В = [&{ ] размерности т х п равны друг ДРУгу, если atj = btj для всех i и j. Сумма двух матриц А и В размерности т х п есть матрица размерности т х п: А + В = [га..] + [&у] = Произведение матрицы А на скаляр а есть матрица размер- ности тп х га: а А = а [га;.] = [а ау]. п Введем обозначение cik = X aifijk- Произведение матрицы А размерности тп х га на матрицу В размерности га х г есть матрица С размерности тп х г: C=AB^[aJ[bjk] = [cikl Таким образом, элемент cik матрицы С есть сумма произведений i-й строки матрицы А на соответствующие элементы k-ro столбца матрицы В, при этом число столбцов матрицы А должно равнять- ся числу строк матрицы В. Из существования произведения АВ вовсе не следует существование произведения ВА. Для квадрат- ных матриц (тп = га) одного порядка существуют матрицы АВ и ВА, но, вообще говоря, АВ ВА. ОПРЕДЕЛИТЕЛЬ (ДЕТЕРМИНАНТ) квадратной матрицы будем обозначать det А: “11 “12 “1„ det А = д , д п д п! п2 1
1.1. Основные понятия линейной алгебры 9 Определитель квадратной матрицы с п2 элементами (действи- тельными или комплексными числами а1у) есть сумма п! членов вида(-1)Ла1уа2.г... detA= Ха.А-, где А,-— алгебраическое дополнение элемента а... Отметим, что (det А)2 < ПП 1а,;12 (неравенство Адамара). Важным частным случаем квадратной матрицы является ДИАГОНАЛЬНАЯ МАТРИЦА “п 0 О а22 о о О о а пп При «и = а22 = ... = апп = 1 МАТРИЦА называется ЕДИНИЧ- НОЙ и обозначается через Е. Другим частным случаем квадрат- ной матрицы является ТРЕХДИАГОНАЛЬНАЯ МАТРИЦА ап “12 0 0 0 “21 “22 “23 0 0 А = 0 0 0 “n l.n l “п - 1, п 0 0 0 “п, п-1 “пп С такими матрицами часто приходится иметь дело при ре- шении дифференциальных уравнений. Матрица называется АДАМАР ЖАК САЛОМОН (Hadamard Jacques Salomon; 1865—1963) — французский математик. Его основные ра- боты относятся к теории дифференциальных уравнений с частными производными, теории функций комплексного переменного и теории чисел. Им написан известный учеб- ник геометрии. В курсе математического анализа известны теорема Адамара — Коши о радиусе сходимости степенного ряда, а в теории определителей — неравенства Адамара для абсолютной величины определителя. Идеи Адамара оказали большое влияние на создание функционального анализа.
10 Глава 1. Численные методы алгебры НИЖНЕЙ ТРЕУГОЛЬНОЙ, если все ее элементы, расположенные выше главной диагонали, равны нулю: ап 0 ... О О а21 а22 "• О О Л , ••• d 1 СТ П4 п, п — 1 ПП. Аналогично определяется ВЕРХНЯЯ ТРЕУГОЛЬНАЯ матри- ца. Квадратная матрица называется СИММЕТРИЧНОЙ, если ее элементы удовлетворяют соотношению atj = (i = 1, ..., га, j = 1, ..., га). Если в матрице поменять строки со столбцами, то по- лучим транспонированную матрицу га11 га21 ... гап1 “12 а22 ••• ап2 Чп ... ч L In 2n I Квадратная матрица А симметрична, если А = Аг. Обозначим через х вектор-столбец и через хт — вектор-строку. Матрица называется ПОЛОЖИТЕЛЬНО ОПРЕДЕЛЕННОЙ, если хгАх >0. _ Матрица А называется КОМПЛЕКСНО СОПРЯЖЕННОЙ с мат- рицей А, если ее элементы суть комплексно сопряженные с эле- ментами матрицы А. Матрица А* = Аг называется сопряженной с матрицей А. Если матрица А вещественная, то А* = Аг. Матрица А-1 называется ОБРАТНОЙ матрице А, если АА1 = Е. Необходимым и достаточным условием существования обратной матрицы А-1 является условие det А 0. Говорят, что в этом случае матрица А несобственная, или невырожденная. МИНОРОМ порядка k матрицы А называется определитель /г-го порядка, составленный из элементов, которые находятся на пересечении k строк и k столбцов матрицы А. РАНГОМ матрицы А называется число г такое, что все миноры порядка г + 1 и выше равны нулю. ХАРАКТЕРИСТИЧЕСКИМ УРАВНЕНИЕМ матрицы А называет- ся уравнение det а12 «21 а22 ~ ап1 ап2 = 0 “ш а2п .. а - X пп
1.1. Основные понятия линейной алгебры 11 Корни Л; этого уравнения называются СОБСТВЕННЫМИ ЧИСЛАМИ матрицы А. Левая часть уравнения det (А - У.Е) называется ха- рактеристическим полиномом. СОБСТВЕННЫМ ВЕКТОРОМ мат- рицы А называется отличный от нуля вектор, удовлетворяющий условию Ах = У.х. Две квадратные матрицы А и В называются ПОДОБНЫМИ, если В = S~\AS, где S — невырожденная матрица и А = SBS1. Подобные матрицы имеют одинаковые характеристические мно- гочлены и, следовательно, одинаковые собственные значения и п определители, так как det А = Собственные векторы матри- 1-1 цы А связаны с собственными векторами матрицы В соотношени- ем г = By. Матрица А невырожденная, если все отличны от 0. Все собственные числа симметричной матрицы действительны. Действительная матрица называется ОРТОГОНАЛЬНОЙ, если ее транспонированная матрица совпадает с обратной, т. е. Ат = А-1 или ААГ = АГА = Е. Все собственные значения ортогональной матрицы по модулю равны единице. Строки (столбцы) ортого- нальной матрицы попарно ортогональны, суммы квадратов эле- ментов каждой строки (столбца) ортогональной матрицы равны единице, определитель ортогональной матрицы равен ±1; если матрица А ортогональна, то и матрица А-1 тоже ортогональна. Всякая симметричная действительная матрица может быть приведена к диагональному виду подобным преобразованием А= UAU\ где U — ортогональная матрица, А — диагональная матрица. Из свойств ортогональной матрицы следует, что А = U~lAU. В дальнейшем зачастую рассматриваются множества, эле- ментами которых являются числа, векторы, матрицы, функции. Сами множества обычно являются линейными нормированными пространствами, ибо в них определены операции сложения эле- ментов и их умножения на число и введена норма каждого эле- мента ||х||. НОРМОЙ называется вещественное неотрицательное число, удовлетворяющее следующим условиям: • ||х|| > 0 при х * 0, ||х|| = 0 при х = 0. • IM = Ы 1И1- .Цг + г/1|<М + |Ы|. Рассмотрим нормы в некоторых множествах. В множестве действительных чисел ||х|| = |х|. В множестве функций x(t), опре-
12 Глава 1. Численные методы алгебры деленных и непрерывных при О < t < 1 (пространство С), опре- делена чебышевская норма ||х||с = max |r(t)|. В конечномерном пространстве, элементами которого являются группы из п чисел х = {хр х2, ..., хп} (их можно считать координатами векторов), норма определена следующим образом: 1 Между разными нормами существует соотношение hili < 1М2 < Wk < >/п ||х)|2 < п||х||р где |)х||с = sup |х(.| по аналогии с пространством С. Поэтому из схо- димости в одной из норм следует сходимость в остальных. В пространстве квадратных матриц порядка п наиболее упо- требительны следующие нормы: ||А||С = max X \ац\ > ЦА^ = max £|а.;.| , П 1 1/2 VI/7 |2 Норма ||А|]С — максимальное число среди сумм модулей эле- ментов строк матрицы, норма ЦА^ — максимальное число среди сумм модулей элементов столбцов матрицы. Эти нормы не имеют специального названия, норма ||A||M называется максимальной, а ||А||„ — сферической или евклидовой. Необходимо отметить, что ||А + В||< ||А|| + ||В||; ||АВ|| < ||А|| ||В||. Интересна связь между нормами матриц и векторов, на кото- рые матрицы действуют. Норма матрицы называется согласован- ной с нормой вектора, если ||Ах|| < ||А|| • ||х||. Сферическая норма согласована с ||х||2, а максимальная согласована со всеми рассмот- ренными выше нормами. Введем понятие предела векторов и матриц. Рассмотрим последовательность векторов х(1), х(2), ... с компонентами х^, ..., х^, х{2\ ..., х(п2>, ... . Если существуют пределы lim x|ft) (i = 1, 2, ..., га), то говорят, что вектор с компонентами хр х2, ..., хп является пределом последовательности х(1), х(2), .... Аналогично определяется предел последовательности матриц. Необходимым и достаточным условием сходимости векторов х(А) к х является условие ||х<*> - х|| -» 0, при этом ||х(А)|| -» ||х||. Аналогичное утверж- дение справедливо для матриц.
1.2. Основные трудности решения систем линейных уравнений.. 13 1.2. Основные трудности решения систем линейных уравнений. Классификация методов решения Требуется найти решение системы линейных уравнений Ах = Ъ, (1.1) где А = (ai;.) — квадратная матрица коэффициентов при неизвест- ных; х = (х;.) — вектор-столбец неизвестных; b = (Ь.) — век- тор-столбец правых частей системы. С точки зрения классиче- ской теории линейных алгебраических систем их решение не вы- зывает затруднений. По правилу Крамера система п линейных уравнений с п неизвестными имеет единственное решение, если определитель системы отличен от нуля (det А 0) и значение каждого из неизвестных вычисляется как отношение двух опре- делителей порядка п, т. е. Xj = det A;/det A, j = 1, п. (1-2) Здесь det А;— определитель матрицы, получаемой заменой у'-го столбца матрицы А столбцом правых частей. При непосредствен- ном вычислении определителей как алгебраической суммы га! произведений элементов для отыскания решения системы ли- нейных уравнений по правилу Крамера требуется приблизитель- но га • га! арифметических операций типа умножения*. Будет по- казано, что использование метода исключения Гаусса позволяет уменьшить время, необходимое для решения задачи (1.1), до ве- личины менее одной секунды. Другое важное обстоятельство, связанное с решением систем линейных алгебраических уравнений, состоит в следующем. С точки зрения теории линейных систем различаются два слу- чая: определитель матрицы системы не равен нулю (det А * 0), т. е. система уравнений является невырожденной, либо опреде- литель матрицы системы равен нулю (det А = 0), в этом случае система называется вырожденной. Во втором случае система ли- *Под операциями типа умножения подразумеваются операции умножения, деления и возведения в степень. КРАМЕР ГАБРИЕЛЬ (Cramer Gabriel; 1704—1752) — швейцарский математик. Крамер установил правило реше- ния систем линейных уравнений с буквенными коэффици- ентами (правило Крамера), а также заложил основы теории определителей.
14 Глава 1. Численные методы алгебры бо не имеет решения, либо имеет неединственное решение. С точ- ки зрения практических вычислений существуют «почти невы- рожденные системы» — системы, определитель которых близок к нулю, но отличен от нуля (det А ~ 0). Небольшие изменения ко- эффициентов матрицы системы или правых частей системы в «почти невырожденных системах» могут привести к большим погрешностям решения. Все эти случаи хорошо иллюстрируются на примере решения системы двух линейных уравнений: а11Х1 а12Х2 — ^1’ а21*1 а22Х2 ~ ^2‘ На рис. 1.1 каждому уравнению соответствует прямая на плоскости XjOr2, а точка пересечения этих прямых есть решение системы (1.1). Если det А = 0, то наклоны прямых равны и они либо парал- лельны, либо совпадают. При det А ~ 0 небольшие погрешности в коэффициентах и правых частях могут привести к большим по- грешностям в решении, т. е. к неточному определению положе- ния точки пересечения. Рис. 1.1 Системы такого типа, в которых есть малые погрешности в коэффициентах системы или в правых частях (эти погрешнос- ти могут быть, в частности, результатом округлений при вычис- лениях или записи чисел в память компьютера), называются ПЛОХО ОБУСЛОВЛЕННЫМИ. Плохо обусловленная система геометрически соответству- ет почти параллельным прямым. В теоретических исследова- ниях обусловленность характеризуется числом обусловленности X = ||А || • ||А-11|, при любой норме % > 1. Чем больше это число, тем хуже обусловленность системы; так, при % = 103—104 система уже плохо обусловлена. На практике, однако, ограничиваются проверкой условия det А ~ 0. Системы линейных уравнений можно было бы рассматривать как частный случай нелинейных уравнений. Однако относитель-
1.2. Основные трудности решения систем линейных уравнений.. 15 ная простота линейных систем обусловила появление специаль- ных высокоэффективных методов их решения. По этой же при- чине введение и пояснение основных понятий могут быть выпол- нены относительно просто. Вместе с тем линейные системы пред- ставляют собой большой самостоятельный интерес по двум причинам. Во-первых, к системам линейных уравнений приво- дят многие практические задачи. Во-вторых, важным и неисся- каемым источником систем линейных алгебраических уравне- ний являются практически все разделы вычислительной матема- тики: нахождение решения системы линейных алгебраических уравнений необходимо в задачах уточнения корней систем нели- нейных уравнений, аппроксимации функций, отыскания собст- венных значений и собственных векторов матрицы, решения обыкновенных дифференциальных уравнений, уравнений в част- ных производных и т. д. Методы решения линейных уравнений и метод прогонки используются и для некоторых классов интег- ральных уравнений и интегродифференциальных уравнений. Будут рассмотрены наиболее употребительные прямые и ите- рационные методы. ПРЯМЫЕ МЕТОДЫ дают решение задачи за конечное (точно определяемое для каждого метода) число опера- ций. Здесь намеренно не употребляется термин «точные мето- ды», так как из-за ошибок округления при вычислениях с конеч- ным числом знаков решение всегда получается с погрешностями. Причины этого и способы уменьшения влияния ошибок округле- ния будут обсуждены ниже. Из прямых методов будут рассмотре- ны метод Гаусса, метод Гаусса с выбором главного элемента для системы линейных алгебраических уравнений общего вида и ме- тод прогонки для систем линейных уравнений с трехдиагональ- ной матрицей. ГАУСС КАРЛ ФРИДРИХ (Gau|i Carl Friedrich; 1777— 1855) — великий немецкий математик, которому также принадлежат работы по астрономии, физике, геодезии. Г. доказал основную теорему алгебры о существовании хотя бы одного корня у всякого алгебраического уравнения. Ему принадлежат важные работы по теории чисел, дифферен- циальной геометрии, теории вероятностей, теории беско- нечных рядов. Вычисляя погрешности при измерениях, Г. предложил метод наименьших квадратов. Г. разработал теорию геодезических линий, построил первую квадратич- ную форму, доказал «славную» теорему (theoreme ergerium) об одинаковости меры кривизны (К) соответствующих то- чек поверхностей, совмещаемых путем изгибания. Отличи- тельными чертами творчества Г. являются глубокая орга- ническая связь в его исследованиях между теоретической и прикладной математикой и широта проблематики.
16 Глава 1. Численные методы алгебры ИТЕРАЦИОННЫЕ МЕТОДЫ дают решение как предел беско- нечной последовательности приближенных решений, в которых каждое последующее более точное приближение находится по уже найденному предыдущему решению (или предыдущим реше- ниям). Из итерационных методов решения систем линейных ал- гебраических уравнений рассмотрены метод простой итерации и метод Зейделя. 1.3. Метод исключения Гаусса Систему уравнений (1.1) представим в виде “11*1 + <^2*2 + ” + alnXn bp a21Xl + a22X2 •' '• + a2nXn = b2, anlXl + an2X2 + ’ " + annXn = bn (1-3) ИЛИ Yatjxj = bt’ i =1. •••,«• /-1 Известно большое число схем метода исключения, приспо- собленных для ручного или машинного счета матриц общего или специального вида. Метод Гаусса можно интерпретировать как метод, в котором пер- воначально матрица приводится к верхней треугольной форме (прямой ход), а далее — к единичной (обратный ход). Очевидно, что если матрица единичная, то xt = br Пусть матрица системы (1.3) — верхняя треугольная, поэто- му «у = 0 при i > j, т. е. все элементы ниже главной диагонали равны нулю. Тогда из последнего уравнения сразу определяем хп. Подставляя хп в предпоследнее уравнение, находим хп1 ит. д. Общие формулы имеют вид xk xk h. akk при k = n, при k = n. - 1, n - 2, ..., 1. (1.4) При k > l коэффициенты akl = 0.
1.3. Метод исключения Гаусса 17 Приведем матрицу системы (1.3) к верхней треугольной. Вы- чтем из второго уравнения системы (1.3) первое, умноженное на такое число, при котором коэффициент при хх обратится в нуль. То же проделаем со всеми остальными уравнениями. В результа- те все коэффициенты первого столбца, лежащие ниже главной диагонали, обратятся в нуль. Затем, используя второе уравнение, обратим в нуль соответствующие коэффициенты второго столбца. Последовательно продолжая этот процесс, приведем матрицу системы к верхней треугольной форме. Запишем общие формулы метода Гаусса. Пусть проведено исключение коэффициентов из (k - 1)-го столбца. Тогда оста- нутся уравнения с ненулевыми элементами ниже главной диаго- нали: У ’ху = bf, k < г < п. i~h Умножим k-то строку на число с h = aW/c№, m>kn вычтем с J тк т/г' пп ’ из т-й строки. Первый ненулевой элемент этой строки обратится в нуль, а остальные изменятся по формулам ^Г1) = г’(*)-сmkb™, k < т. Проведя вычисления по этим формулам при всех указанных индексах, обратим в нуль элементы Л-го столбца, лежащие ниже главной диагонали. Аналогичная процедура приводит матрицу системы к верхней треугольной форме, при этом весь процесс приведения называется ПРЯМЫМ ХОДОМ МЕТОДА ГАУССА. Вы- числение неизвестных по формулам (1.4) называют ОБРАТНЫМ ХОДОМ метода. Обратный ход можно совершить иначе, если обратить в нуль и все коэффициенты, лежащие выше главной диагонали. Напри- мер, элементы n-го столбца обращаются в нуль, если умно- жить на / а^) и сложить с соответствующей строкой. Ана- логично обращаются в нуль и все остальные столбцы. Если, кро- ме того, разделить затем каждое уравнение на соответствующий элемент, стоящий на главной диагонали, то матрица системы становится единичной, а неизвестные х; = &-2п), где &-2п) — коэф- фициенты правой части i-ro уравнения после указанных преобра- зований. На некотором шаге прямого хода может оказаться, что коэф- фициент 0, но мал по сравнению с остальными элементами
18 Глава 1. Численные методы алгебры матрицы системы и, в частности, мал по сравнению с элементами первого столбца. Деление коэффициентов системы на малую ве- личину может привести к значительным ошибкам округления. Для уменьшения ошибок округления поступают следующим об- разом. Среди элементов первого столбца каждой промежуточ- ной матрицы выбирают наибольший по модулю (главный) эле- мент и путем перестановки i-й строки со строкой, содержащей главный элемент, добиваются того, что главный элемент стано- вится ведущим. Такая модификация метода исключения Гаусса называется методом Гаусса с выбором главного элемента. Случай появления нулевых элементов обходится при этом сам собой. Для реализации метода требуется примерно га3/3 операций типа умножения и га3/3 операций типа сложения*. Полезно пом- нить, что оценка числа операций определяется в основном опера- циями, затрачиваемыми при выполнении прямого хода метода Гаусса. Обратный ход метода Гаусса требует примерно п2 опера- ций. Следовательно, если требуется решить несколько систем ли- нейных алгебраических уравнений вида Ах = b с одной и той же матрицей и различными правыми частями, то общее число операций при решении S систем будет оцениваться величиной (2/3)га3 + Sn2. В этом случае целесообразно реализовать алгоритм метода Гаусса в виде двух подпрограмм: первая подпрограмма должна реализовывать прямой ход алгоритма и получать на вы- ходе верхнюю треугольную матрицу, а вторая подпрограмма должна, используя полученную матрицу, вычислять решение системы для произвольной правой части. 1.4. Вычисление определителя и обратной матрицы методом исключения Определитель треугольной матрицы равен произведению диаго- нальных элементов. В результате выполнения прямого хода ме- тода исключения система линейных уравнений приводится к верхней треугольной матрице. Следовательно, определитель мат- *Под операциями типа сложения подразумеваются операции сложе- ния, вычитания, взятия модуля, а также отделения целой части.
1.5. Метод прогонки для решения систем линейных уравнений... 19 рицы системы может быть вычислен как произведение диаго- нальных элементов: det А = (-1)*П а-.\ j=i где k — количество перестановок строк при использовании мето- да исключения с выбором главного элемента. Вычисление опре- делителя требует примерно (2/3)га3 операций. Для вычисления обратной матрицы вспомним, что АА~1 = Е, где А1— обратная матрица, а Е —- единичная матрица. Обозна- чим элементы обратной матрицы через а. Тогда соотношение АА-1 = Е можно записать в виде = (1.5) i-1 где 8(/ — символ Кронекера, „ _ f 1 при i = I, [ 0 при i Ф I. Видно, что если рассматривать Z-й столбец обратной матрицы как вектор, то он является решением системы (1.5) с матрицей А со специальной правой частью и вектором правых частей, в кото- ром на Z-м месте стоит единица, а на остальных — нули. Решение этой системы для каждого значения I дает элементы 1-го столбца обратной матрицы. Таким образом, для обращения матрицы не- обходимо решить п систем линейных уравнений га-го порядка с одинаковой матрицей А и различными правыми частями. Так как приведение матрицы А к треугольной выполняется только один раз, то для обращения матрицы с использованием метода исключения требуется примерно 2га3 операций. 1.5. Метод прогонки для решения систем линейных уравнений с трехдиагональной матрицей Системы линейных уравнений с трехдиагональной матрицей ко- эффициентов при неизвестных являются наиболее важным и рас- пространенным случаем систем специального вида. В таких си- стемах отличны от нуля только элементы, лежащие на главной
20 Глава 1. Численные методы алгебры диагонали и на нижней и верхней диагоналях, прилегающих к ней. К системам с трехдиагональными матрицами приводят, на- пример, задачи о сплайн-интерполяции, о решении разностными методами обыкновенных дифференциальных уравнений и урав- нений в частных производных. Метод прогонки принадлежит к числу прямых методов реше- ния систем линейных уравнений и используется в тех случаях, в которых многие коэффициенты матрицы равны нулю. Это обсто- ятельство учтено при реализации метода прогонки, в котором иск- лючаются преобразования с нулевыми элементами. В методе про- гонки применительно к системе линейных уравнений, имеющих трехдиагональную матрицу, можно выделить следующие этапы. • Приведение трехдиагональной матрицы к верхней тре- угольной (прямой ход). В случае трехдиагональной матрицы это означает приведение к двухдиагональной, т. е. приведение ис- ходной системы к системе, содержащей по два неизвестных в каждом уравнении, кроме последнего, в котором содержится только одно неизвестное. • Запись обратного хода в виде xt = Р. + lxi + i + + р так как преобразованная матрица — двухдиагональная. • Вывод рекуррентного соотношения для Р; + х и Qt + х через Рх и Q; и получение соотношения для Р2 и Q2 (Рх = Qr = 0). • Осуществление обратного хода метода прогонки и определе- ние всех неизвестных. Рассматриваемый метод прогонки представляет собой моди- фикацию метода исключения Гаусса, использующую специальный регулярный вид матрицы системы. Запишем систему линейных алгебраических уравнений с трехдиагональной матрицей в виде а.х,_ 1 - Ь,х, + с,х; , - = d„ i = 1, 2, ..., га, I I X II I t т X I rai = cn = °. (1.6) Запись (1.6) представляет собой так называемый КАНОНИЧЕ- СКИЙ ВИД СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДА ПРО- ГОНКИ. При этом матрица системы (1.6) имеет вид А = -&х сх 0 0 ... 0 0 а2 ~Ь2 с2 0 ... 0 0 аз —сз ••• ••• 6 0 0 0 ....... —Ъ . с_ , п ~ 1 п — 1 .0 0 0 ....... а ~Ь . п п
1.5. Метод прогонки для решения систем линейных уравнений... 21 Прямой ход метода прогонки сводится к исключению неиз- вестного xt _ х в каждом уравнении системы. Получаемая в ре- зультате прямого хода система содержит в каждом уравнении только два неизвестных и + р и матрица ее — верхняя тре- угольная с двумя диагоналями. Запишем i-ю строку преобразо- ванной двухдиагональной матрицы в виде =-Р/+ 1х; + 1 + Q; + 1- (1-7) Если система (1.6) приведена к виду (1.7), то обратный ход ме- тода Гаусса очевиден. Однако использование общих алгоритмов прямого и обратного хода нецелесообразно. Построим эффектив- ную вычислительную схему, которая и составляет суть метода про- гонки. Для этого, уменьшив в (1.7) индекс на единицу, запишем ! = Pjxi + Qt. Подставляя х;1 в систему (1.6), получим соотношение at (Pixi + Qz) - bjxi + cjxl + l = dt, из которого нетрудно получить = IA _ а/Л] lcixi + i + 1Д “ “/Р/ГЧа/?; ~ Сравнивая это соотношение с (1.7), можем записать рекуррент- ные соотношения Л + 1 = <№ - a^r1, Qi + х = [аф - ед - (1.8) для вычисления так называемых ПРОГОНОЧНЫХ КОЭФФИЦИЕН- ТОВ. Подчеркнем, что последующие значения прогоночных коэф- фициентов -Р; + х, Q; + J вычисляются только по известным коэффи- циентам системы (1.6) и известным предыдущим значениям про- гоночных коэффициентов Р;, Q;. Для начала прямого хода метода прогонки необходимо задать начальные (стартовые) значения прогоночных коэффициентов, например Рр Qv Отметим, что, вообще говоря, начальные значе- ния коэффициентов Рр в рассмотренной схеме вычислений не требуются, так как значения коэффициентов Р2, Q2 вычисляются только через коэффициенты первого уравнения системы (1.6): при i = 1 из (1.6) получаем соотношение ~b1x1 + crx2 = dv Сравнивая это выражение с (1.7) при i = 1, получаем Р2 = с1/&1; Q2 = ~d1/b1, а значение хг в обратном ходе вычисляем по соотно- шению хх = Р2х2 + ®2' Использование Рр Qj в качестве началь- ных значений целесообразно по двум причинам: сохраняется од- нородность вычислительного алгоритма для всех i = 2, 3, ..., га; упрощается обсуждение и доказательство условия корректности и устойчивости метода прогонки. Из того обстоятельства, что
22 Глава 1. Численные методы алгебры коэффициенты Р2, Q2 не зависят от Pr, Qr (в соотношениях (1.8) при i = 1 коэффициенты Pr, умножаются на а1 = 0), следует, что можно задать любые значения для прогоночных коэффициен- тов Р1г Qr Далее будет ясно, почему удобно положить Рх = Qx = 0. Для начала обратного хода метода прогонки необходимо для вычисления xt = Р. + 1xi + х + Qt + х задать значение хп + г Так как сп = 0, то из первого соотношения (1.8) вытекает, что Рп + х = 0 и, следовательно, можно задать любое значение для хп + г Обычно полагают хп + х = 0, и тогда хп = Qn + г Метод прогонки устойчив, если |Р;| < 1. Метод прогонки корректен, если - aiPi * 0. Отметим, что при устойчивости метода прогонки ошибки ок- ругления не возрастают, а подавляются. Пусть х;, xi + 1 — вычис- ленные с погрешностями значения решения. Пусть при этом ко- эффициенты Р( х, Qi + х вычисляются точно. Тогда по (1.7) Р^ + х(хх + 1 — +1) или е; = х;-х; = Р; + 1е; + 1. Из этой формулы при |Р. J < 1 следует, что в данном случае по- грешность не возрастает. Достаточным условием корректности метода прогонки и ус- тойчивости его к погрешностям является условие преобладания диагональных коэффициентов: IM > N + / = 1,2,..., га. В самом деле, если хотя бы для одного значения i выполняется строгое неравенство |Р;| < 1, то можно записать цепочку нера- венств: I = 1с-1 < N < N < 1 i+li |ь,.-а/р,Г 1Ч-Н1ЛГ N + N-NI-N ’ Было показано, что можно положить |РХ| = 0 и тогда, во-пер- вых, для всех i выполняется |Р(| < 1, что обеспечивает затуха- ние погрешности, и, во-вторых, для всех i выполняется условие \bi ~ aPt\ > |cj > 0 и, таким образом, не возникает ситуации деле- ния на нуль. Так как условие |&.| > |а(| + |с(| является только доста- точным, то невыполнение его не означает нарушения коррект- ности и устойчивости. Для реализации метода требуется примерно 8га операций, из которых Зга составляют операции типа умножения и 5га — опера- ции типа сложения. При численном решении дифференциаль-
1.6. Итерационные методы решения линейных уравнений 23 ных уравнений используются различные варианты метода про- гонки: метод встречных прогонок, потоковая прогонка, матрич- ная прогонка для систем векторных уравнений. Отметим, что detA = П 1=1 Метод прогонки обобщается на случай, при котором в систе- ме (1.6) а;, Ь., с; — квадратные матрицы размерности т х т, а х;, di — векторы размерности т. Тогда соотношения (1.7) и (1.8) ме- тода прогонки, в которых все действия совершаются уже над мат- рицами, а не над скалярами, сохраняются, а [&; - в (1.8) является соответствующей обратной матрицей. Условие устойчивости матричной прогонки выглядит как [det Р.| < 1, а условие корректности и устойчивости имеет вид det (В^С) + det (В;1 А) < 1. 1.6. Итерационные методы решения линейных уравнений В итерационных методах предполагается осуществление трех следующих этапов: построение для вычисления последователь- ных приближений итерационного процесса, сходящегося к точ- ному решению (т. е. построение последовательности векторов х<+>, х(2), ..., х(А), сходящейся к точному решению х*); опреде- ление критерия сходимости этого процесса, позволяющего опре- делить момент достижения требуемой точности; исследование скорости сходимости и оптимизация итерационного процесса с целью уменьшения числа операций, необходимых для достиже- ния требуемой точности. Итерационные методы позволяют получить решение с напе- ред заданной точностью, если доказана сходимость метода. Стро- го точного решения итерационные методы не дают, поскольку оно достигается как предел последовательности векторов. Пря- мой метод, вообще говоря, дает точное решение, но из-за ошибок округления, имеющих место на любых компьютерах, оно не мо- жет быть достигнуто, и a priori даже трудно оценить, насколько это решение отличается от точного. В связи с отмеченным итера- ционные методы иногда позволяют получить решение с большей точностью, чем прямые.
24 Глава 1. Численные методы алгебры Рассмотрим несколько итерационных методов решения ли- нейных уравнений. | Метод простой итерации В методе простой итерации система (1.1) линейных алгебраиче- ских уравнений Ах = b приводится к эквивалентной системе вида х = ах + 0. (1-9) Решение системы (1.9) и, следовательно, решение исходной системы (1.1) ищется как предел последовательности векторов при k —> °°: + D = ах(*> + 0, k = 0,1,2,..., (1.10) где — начальное приближение для вектора решения. Достаточное условие сходимости метода простой итерации определяется следующей теоремой. ТЕОРЕМА 1 . Если какая-либо норма матрицы а, согласо- ванная с рассматриваемой нормой вектора х, меньше единицы (||ct|| < 1), то последовательность в методе простой итерации сходится к точному решению х* системы (1.9) со скоростью, не меньшей скорости гео- метрической прогрессии со знаменателем q < ||а|| при любом начальном приближении х(0). ДОКАЗАТЕЛЬСТВО. Для доказательства теоремы введем по- грешность = х* - xw. Вычитая из соотношения х* = ах* + 0 равенство (1.10), получаем Е(* + О = «£<*>. Переходя к нормам, имеем ||eW|| = ||а*Е(0)|| < ||а*||. ||е(0)|| < ||а||* . ||E(0)||t Отметим, что неравенство ||aM0)|| < ||а*|| ||е(0)|| из предыдуще- го выражения является условием согласованности нормы матри- цы и вектора. Если ||а|| < 1, то при любом векторе начальной по- грешности (или иначе — при любом начальном векторе х(0)) нор- ма погрешности стремится к нулю не медленнее геометри- ческой прогрессии со знаменателем q < ||а||. Если в качестве нормы матрицы выбрать норму Л л |]ос ||с = max J} |а..| или ]|ос 1^ = max У |at.|, то для решения вопроса i j«1 j 1 = 1 о сходимости метода простой итерации можно воспользоваться Верхний индекс k в скобках означает номер итерации, а без ско- бок, как обычно, степень.
1.6. Итерационные методы решения линейных уравнений 25 следствием из теоремы 1: метод простой итерации сходится, если для матрицы а выполняется одно из следующих условий: £|а0.|<1, г = 1,2, £|ау|<1, / = 1, 2,..., га. (1-И) Простейшим и распространенным способом приведения сис- темы Ах = Ь к виду (1.9), удобному для итераций, является выде- ление диагональных элементов, при этом каждое i-e уравнение разрешается относительно i-ro неизвестного: v. £ ачх> ’ aiiXi = i = 1, 2, ..., га, (1.12) и метод простой итерации запишется в виде „ (*4-1) к аих1 = Ь1~ Матрица а при этом имеет вид л Д12 а13 «1П и °п аи а11 а21 л й23 а2п — — и . - — 'ч."" а22 а22 а22 ап1 ап2 ал, п - 1 апп алп алп Элемент этой матрицы можно записать в виде at- = -^[1 “ 5у], где 8tj — символ Кронекера. В этом случае достаточное условие сходимости метода простой итерации может быть сформулирова- но как условие преобладания диагональных элементов матрицы А, что следует из (1.11) и записи матрицы а, т. е. Ы> Ё I-J. /-I./*; 1=1,2, ..., га. КРОНЕКЕР ЛЕОПОЛЬД (Kronecker Leopold; 1823— 1891) — немецкий математик, основные работы которого относятся к алгебре и теории чисел, теории квадратичных форм и теории групп, а также теории эллиптических функ- ций. Большое значение имеют его исследования по арифме- тической теории алгебраических величин.
26 Глава 1. Численные методы алгебры Еще раз подчеркнем, что рассмотренные формы условия схо- димости метода итерации являются лишь достаточными. Их вы- полнение гарантирует сходимость метода, но их невыполнение в общем случае не означает, что метод простой итерации рас- ходится. Необходимым и достаточным условием сходимости ме- тода простой итерации является условие того, что целая часть |Xmax| < 1 (где Хтах — максимальное по модулю собственное значе- ние матрицы А); это условие редко используется в практике вы- числений. Перейдем к вопросу об оценке погрешности решения. Пред- ставляют интерес два соотношения оценки погрешности решения е(Л) _ х* _ x(k). первое связывает норму погрешности с нормой раз- ности двух последовательных приближений ||x(ft) - х(* " || и мо- жет быть использовано для оценки погрешности только в процес- се вычислений; второе связывает норму погрешности с нормами вектора начального приближения ||х(0) || и вектора свободного чле- на ||Р || в системе (1.9). Необходимые соотношения даются следую- щими двумя теоремами. ТЕОРЕМА 2. Если какая-либо норма матрицы а, согласо- ванная с рассматриваемой нормой вектора х, меньше единицы (||а|| < 1), то имеет место следующая оценка погрешности: ll^)ll<IJq^l|x<ft)~r(^1)||. (1.13) ДОКАЗАТЕЛЬСТВО. Вычтем из равенства х* = ах* + Р равенст- во (1.10): х* - xw = а [х* - х(* ' 1>]. Вычитая из обеих частей значение приближения х<* ~ х), преобра- зуем Это соотношение к виду х* - х<-к ~ О = [x(ft> - х(* " х>] + а [х* - х(* - О]. Перейдя к нормам, получим ||E(*-1)||<||xW-x<^1)|| + ||a||-||e(ft'1)ll или [1 - ||а||] • ||е<*- »|1 < ]|х<*> - x<^D||. Так как по условию теоремы [1 - ||а||] > 0, то к^1)11<Гт|Н11^)-х<^1)||.
1.6. Итерационные методы решения линейных уравнений 27 Используя соотношение е,/г) = ое(/г 1), из которого следует, что < ||а|| • ||к(/' 1)||, окончательно получим: ТЕОРЕМА 3. Если какая-либо норма матрицы а, согласо- ванная с рассматриваемой нормой вектора х, меньше единицы (||сс|| < 1), то имеет место следующая оценка погрешности: Сделаем два замечания. Во-первых, соотношение (1.13) мо- жет быть записано в виде позволяющем получить оценку погрешности по результатам двух первых итераций. Во-вторых, при использовании метода итера- ций в качестве оценки погрешности вычислений иногда рекомен- дуется использовать норму разности двух последовательных при- ближений. Из соотношений для погрешности следует, что в об- щем случае это неверно. Если норма ||а|| близка к единице, то ко- эффициент при ||х<*> - х(А " 1>|| может быть достаточно большим. Погрешности последовательных итераций связаны соотно- шением |И^)|| = ||а||-||ЕП т. е. погрешность изменяется на шаге линейно. Говорят, что ме- тод имеет линейную сходимость или первый порядок сходимости. Вместе с тем количество итераций, необходимое для достижения требуемой точности, зависит от значения ||а|| и начального при- ближения х(0>. Итак, на примере метода простой итерации продемонстриро- ваны три этапа итерационных методов: построение последова- тельности векторов, порождаемых формулой (1.10); определение условия сходимости по теореме 1 и оценка скорости сходимости с помощью теорем 2 и 3. | Метод Зейделя В методе простой итерации не используется кажущаяся очевидной возможность улучшения сходимости итерационного процесса — немедленное введение в расчет вновь вычисленных компонент
28 Глава 1. Численные методы алгебры вектора х(А). Эта возможность используется в итерационном мето- де Зейделя. Итерационный процесс для системы (1.9) выполняет- ся при этом по соотношению х^ + 1) = ‘^aijxf + 1)+ £ + 1=1,2, ...,п (1.14) ;-1 /-i + 1 или для системы (1.1) ;-1 j-i + 1 Не вдаваясь в подробности, отметим, что метод итераций Зейделя часто действительно приводит к более быстрой сходи- мости, чем метод простой итерации. Однако возможны случаи, когда метод итераций Зейделя сходится медленнее метода прос- той итерации, и даже случаи, когда метод простой итерации схо- дится, а метод итераций Зейделя расходится. Отметим, что метод Зейделя сходится, если матрица А по- ложительно определенная и симметричная. Покажем, что метод итераций Зейделя эквивалентен некото- рому методу простой итерации со специальным образом постро- енной матрицей а и вектором 3 в соотношении (1.10). Для этого запишем систему (1.14) в виде х<к + = Нх^к + 1( + FxW + Р, где F — верхняя треугольная матрица из коэффициентов матрицы а, а Н = а - F. Перепишем систему в виде (Е - Н)х^к + О = Fx^ + |3, где Е — единичная матрица. Матрица (Е - Н) — нижняя тре- угольная матрица с диагональными элементами, равными едини- це. Следовательно, определитель этой матрицы отличен от нуля (равен единице) и она имеет обратную матрицу (Е - Н)1. Тогда х (* +1) = (£ - #)-i Fx W + (Е - Я) хр. Сопоставляя это соотношение с решением (1.10), можем за- ключить, что действительно метод итераций Зейделя эквивален- тен методу простой итерации в том смысле, что для установления условия и критерия сходимости метода итераций Зейделя можно воспользоваться теоремами, приведенными для метода простой ЗЁЙДЕЛЬ ФИЛИПП ЛЮДВИГ (Seidel Philipp Ludwig; 1821 —1896) — немецкий астроном и математик, основные работы которого относятся к математическому анализу. Од- новременно и независимо от Дж. Г. Стокса 3. ввел понятие равномерной сходимости последовательности и ряда. Им предложен итерационный метод решения системы линей- ных алгебраических уравнений (метод Зейделя).
1.6. Итерационные методы решения линейных уравнений 29 итерации, если положить а = (Е - Н) YF. Итерационный процесс для системы (1.12) записывают и в более общей форме, а именно: + п = wbi + (1 - и) аих^ - (о Г £ ацх? + П L/-1 7-1+1 ' ' J вводя в итерационный процесс для х^+1) значение х^\ которое отсутствует в методе простой итерации и методе Зейделя. Итерационный процесс при о > 1 называют МЕТОДОМ ВЕРХ- НЕЙ РЕЛАКСАЦИИ, при о=1 (метод Зейделя) — методом ПОЛ- НОЙ РЕЛАКСАЦИИ и при (0 < 1 — методом НИЖНЕЙ РЕЛАК- САЦИИ. В простом случае при специально выбранном со можно дать оценку числа итераций N, необходимых для достижения задан- ной точности е. В методе простой итерации = 0,2га21п (1/е), методе Зейделя N = 0,1га21п(1/Е), методе верхней релаксации N = 0,64п1п (1/е). Очевидно, что число итераций тем больше, чем больше порядок системы; при этом имеет место квадратичная за- висимость в первых двух методах и линейная зависимость в ме- тоде верхней релаксации. Очевидно также, что число итераций тем больше, чем меньше е. Представленные оценки не являются универсальными, и хо- тя в обсуждаемом случае самым медленным является метод прос- той итерации, а самым быстрым — метод верхней релаксации, это соотношение в других случаях может изменяться. Можно дать наиболее общую запись итерационного процесса для системы (1.1). Имеем +Ах<*> = Ь, (1.15) где Bk — некоторая матрица, выбираемая для обеспечения быст- рой сходимости метода. Во многом она определяется конкретной системой (1.1) и искусством вычислителя. Говорят, что итераци- онный процесс стационарный, если Bk и не зависят от k\ в дальнейшем индекс k при Вит опускается. Из (1.15) очевидно, что если итерационный процесс сходится, т. е. |х(А + -» О, то он сходится к решению системы (1.1). Пусть матрицы D и L определены следующим образом: ап 0 ... 0 0 0 ... 0 0 п = 0 а22 ... 0 а21 0 ... 0 0 .° 0 - апп. _ ап1 ап2 ап, п-1 0.
30 Глава 1. Численные методы алгебры Тогда метод простой итерации есть частный случай процесса (1.15) при В = D и т = 1, метод Зейделя— частный случай при B = B + L,x=l,a метод релаксации — частный случай при В = D + (t>L, т = го. Матрицу Bk следует выбирать как можно ближе к матрице А, но так, чтобы обращение этой матрицы было более простой зада- чей (матрица В — треугольная, трехдиагональная и т. д.). 1.7. Решение нелинейных уравнений. Два этапа отыскания корня Пусть имеется нелинейное уравнение /(х) = 0. (1.16) Требуется найти корни этого уравнения, т. е. те значения х, кото- рые обращают уравнение (1.16) в тождество. В процессе прибли- женного отыскания корней уравнения (1.16) обычно выделяют два этапа: отделение корня и уточнение корня. Под отделением корня понимается определение промежутка, содержащего один и только один корень уравнения. Одна из то- чек этого промежутка принимается за начальное приближение корня. В зависимости от метода, который предполагается ис- пользовать для уточнения корня, требуется определение тех или иных свойств отделенного корня и поведения функции на отрез- ке отделения. Например, при использовании простейшего метода уточнения корня — метода дихотомии, необходимо и достаточно установить лишь непрерывность функции на отрезке отделения. При использовании других методов может потребоваться выяс- нить, является ли корень действительным, какова кратность корня, установить непрерывность и монотонность функции и ее некоторых низших производных. В общем случае этап отделения корня уравнения (1.16) не мо- жет быть алгоритмизирован. Для некоторых классов уравнений (наиболее известным из которых является класс алгебраических уравнений) разработаны специальные приемы отделения корней, существенно облегчающие такое отделение и позволяющие авто- матизировать этот процесс. Некоторые из этих приемов будут приведены при рассмотрении методов решений алгебраических уравнений. Нередко отделение корней нелинейных уравнений выполняется «вручную» с использованием всей возможной
1.7. Решение нелинейных уравнений. Два этапа отыскания корня 31 Рис. 1.2 (а, б) информации о функции Дх). В ряде случаев приближенное зна- чение корня может быть определено из физических соображе- ний, если речь идет о решении нелинейного уравнения, связанно- го с конкретной прикладной задачей. Успешно применяется гра- фический метод определения действительных корней, обладаю- щий большой наглядностью и позволяющий относительно просто устанавливать возможность существования кратных корней. При графическом отделении корней бывает полезным предста- вить уравнение (1.16) в эквивалентном виде Д(х) = /2(х) и искать точки пересечения функций Д(х) и /2(х). Например, для урав- нения Дх) = х3 - х + 1 вместо построения графика у = f(x) (рис. 1.2, а) проще построить графики функций у = Д(х) = х3 и у = f2(x) = х - 1 (рис. 1.2, б). В ряде случаев может быть полезной теорема, известная из курса математического анализа. ТЕОРЕМА. Если непрерывная на [а, Ь] функция Дх), опреде- ляющая уравнение Дх) = 0, на концах отрезка [а, t>] принимает значения разных знаков, т. е. Да) • Д&) < О, то на этом отрезке содержится по крайней мере один корень уравнения. Если же функция Дх) непрерывна и дифференцируема и ее производная сохраняет знак внутри отрезка [а, Ь], то на этом отрезке находится только один корень х* уравнения.
32 Глава 1. Численные методы алгебры В случае, когда на концах интервала функция имеет одина- ковые знаки, на этом интервале корни либо отсутствуют, либо их четное число. Известно, что интервал, на котором расположены корни хр многочлена га-й степени Рп(х) = £ ах', в том числе и комплекс- но ные, выражается соотношением Кроме того, по правилу знаков Декарта разность между чис- лом перемен знаков последовательности а0, av ап и числом по- ложительных корней является либо положительным числом, либо нулем (в случае действительных корней). Это правило распрост- раняется и на отрицательные корни при замене х на -х. Правило Декарта позволяет также оценить число действительных корней на интервале [а, Ь]. Для этого обозначим х = (а + Ьу)/(1 + у) и при- меним правило знаков к уравнению Р(у) = Рп ( 1 = °- п V 1 + у ) Для отделения корня полезно также использовать теорему Гюа. ТЕОРЕМА ГЮА. Если все корни алгебраического уравне- ния являются действительными числами, то для последовательности коэффициентов а0, аг, .., ап квад- рат каждого некрайнего коэффициента больше про- изведения соседних с ним коэффициентов, т. е. А + рй=1’2> -.п-1. ТЕОРЕМА. Если для каких-либо k выполнено неравенство а^ < ak _ гак + р то многочлен имеет по крайней мере пару комплексных корней. ДЕКАРТ РЕНЕ, латинизированное имя — КАРТЕЗИЙ (Descartes Rene, Cartesius; 1596—1650) — французский фи- лософ, математик, физик и физиолог. В труде «Геометрия» Д. сформулировал метод прямолинейных координат, зало- жив основы аналитической геометрии; одним из первых ввел понятия переменной величины и функции; дал клас- сификацию кривых с подразделением их на алгебраические и трансцендентные. В своих трудах Д. много внимания уде- лил исследованию свойств уравнений и сформулировал правило знаков для определения числа положительных и отрицательных корней (правило Декарта).
1.8. Метод половинного деления 33 На втором этапе уточнения при нахождении корня использу- ют два типа методов: ПРЯМЫЕ и ИТЕРАЦИОННЫЕ. В прямых ме- тодах корень уравнения может быть найден за конечное, заранее известное число операций. Прямыми методами удается решить некоторые простейшие алгебраические и тригонометрические уравнения. В итерационных методах корень х* определяется как предел некоторой последовательности х(0), х(1), ..., х(А) и решение не может быть достигнуто за конечное, заранее известное число операций. Основные методы решения нелинейных уравнений и систем являются итерационными, и к их числу принадлежат метод ди- хотомии (половинного деления), метод простой итерации, метод Ньютона (метод касательных), метод секущих, метод парабол (метод Мюллера), метод Зейделя. Далее эти методы будут рас- смотрены. Важной характеристикой итерационных методов является скорость сходимости процесса. Говорят, что метод имеет га-й по- рядок сходимости, если |х(А + О - х*| = С |х(А) - х*|", где С — посто- янная, не зависящая от п. При п = 1 имеет место сходимость пер- вого порядка, или линейная сходимость, а при п = 2 — второго порядка, или квадратичная. Говорят, что метод является одно- шаговым, если для построения итерационной последовательнос- ти нужно вычислить функцию в одной точке, двушаговым — в двух и т. п. Сравнение различных методов следует проводить по числу операций при реализации одной итерации и по скорости сходи- мости. Изложенные методы решения нелинейных уравнений и сис- тем широко используются в численных методах оптимизации. 1.8. Метод половинного деления Пусть действительный корень уравнения f(x) = 0 отделен и функ- ция /(х) непрерывна на интервале [а, Ь] отделения корня. Построим процесс сужения интервала [а, &] так, чтобы искомый ДЕ ГЮА ДЕ МАЛЬВ ЖАН ПОЛЬ (De Gua de Malves Jean Paul; 1712—1786) — французский математик, аббат, основ- ные труды которого относятся к алгебре и аналитической геометрии. В алгебре Г. занимался общей теорией уравнений, в геометрии — общей теорией кривых высшего порядка.
34 Глава 1. Численные методы алгебры корень всегда находился внутри суженного интервала. Очевидно, что в этом случае погрешность приближенного значения корня не превышает где — граничные точки интер- вала на /г-й итерации. Найдем середину отрезка х(1) = (а + Ь)/2 и вычислим /((<г + &)/2). Составим произведения /(<z) + Ь)/2) и f(b) • f((a + b)/2). Из двух половин отрезков выберем тот, в кото- ром произведение является отрицательной величиной, и обозна- чим новые границы отрезка через а(1), Ь(1). Затем новый отрезок разделим пополам, вновь составим аналогичные произведения и выберем тот из отрезков, в котором произведение — величина от- рицательная. Погрешность метода половинного деления, который также называется МЕТОДОМ ДИХОТОМИИ*, определяется достаточно очевидным соотношением (которое, впрочем, может быть строго доказано) е(Ь) = _ Х(А)| < |^(*) _ а(*)| < - а|/2\ которое указывает на скорость сходимости метода: с увеличени- ем k погрешность стремится к нулю не медленнее геометриче- ской прогрессии со знаменателем q = 1/2. Метод дихотомии прост и надежен, всегда сходится, хотя и медленно, устойчив к ошиб- кам округления. Метод дихотомии, однако, не обобщается на системы уравнений. 1.9. Метод простой итерации нахождения корней нелинейных уравнений При использовании метода простой итерации для уточнения кор- ня уравнение f(x) = 0 заменяется эквивалентным уравнением х = <р(х). (1.17) Это означает, что из f(x*) = 0 следует х* = <р(х*) и наоборот. При- вести уравнение (1.16) к уравнению (1.17) можно многими спосо- бами, например, положив ф(х) = х + y(x)f(x), где (х) — непре- рывная произвольная знакопостоянная функция. * Дихотомия — от греческого слова Si/oTopEd) — разделяю на две части.
1.9. Метод простой итерации нахождения корней нелинейных уравнений 35 Геометрически на интервале отделения корня уравнение (1.17) представляется в виде двух пересе- кающихся линий у = <р(х) и у = х (рис. 1.3). Полагая, что известно начальное приближение х(0) для значения корня х*, построим ите- рационный процесс X (* + !) = <Р (х^), k = 0,1,2,..., (1.18) изображенный на рис. 1.3 ломаной линией со стрелочками, указываю- щими направление движения. Для представленного на рис. 1.3 случая взаимного расположения линий у = х и у = <р(х) неограни- ченное повторение вычислений по соотношению (1.18) позволяет сколь угодно близко подойти к точному значению корня х*. Исследуем сходимость метода. Если <р (х) имеет непрерывную производную, то из теоремы Лагранжа о конечном приращении X + 1) - X* = (р (х(*Д - <р (х*) < (xw - X*) <р'(^) (1-19) следует, что точка £ лежит между точками х(А) и х*. Поэтому если всюду |<р'(*)| < q < 1, то отрезки |х<А) - х*| убывают не медленнее геометрической прогрессии со знаменателем q < 1. Действитель- но, из (1.19), которое можно рассматривать как рекуррентное со- отношение, следует, что | x(ft) - х* | = qk | х(0) - х* | и последователь- ность х<*> сходится при любом нулевом приближении. Итак, условие 1<р'(х)|< 1 (1.20) является достаточным условием сходимости итераций. Если |<р'(х)[ > 1, то итерации могут не сходиться. Если |<р'(х)| < 1, но вдали от корня | <р'(х) | > 1, то итерации сходятся, если начальное приближение выбрано достаточно близко к корню. При произ- вольном начальном приближении сходимости может не быть. Та- ким образом, в методе простой итерации важен выбор начального приближения. Из соотношения (1.19) следует, что если на интер- вале отделения корня выполняется условие |q>'(*)|<q < 1, то погрешность на каждой итерации уменьшается для любого на- чального приближения не медленнее членов геометрической про- грессии со знаменателем q.
36 Глава 1. Численные методы алгебры Рис. 1.4 Четыре случая взаимного расположения линий у = х и у = <р (г) вблизи корня и соответствующие им итерационные про- цессы показаны на рис. 1.4. Рис. 1.4, а и 1.4, б соответствуют случаю | <р'(х) | <1 — процесс итераций сходится. При этом в пер- вом случае <р'(х) > 0 и сходимость носит односторонний характер (рис. 1.4, а), а во втором ф'(х) < 0 и сходимость носит двусторон- ний характер (рис. 1.4, б). Рис. 1.4, в и 1.4, г соответствуют слу- чаю |<р'(х) | >1 — процесс итерации расходится, при этом имеет место односторонняя и двусторонняя расходимость. Подчеркнем, что условие (1.20) сходимости метода итераций является лишь достаточным. При этом все приближения должны попадать в отрезок отделения корня. Выполнение условия (1.20) гарантирует сходимость процесса (1.18), но невыполнение усло- вия (1.20) в общем случае не означает, что итерационный процесс окажется расходящимся. Например, для случая, проиллюстриро- ванного рис. 1.5, условие (1.20) на интервале [г, х(0)] не выполня- ется, но метод итераций сходится.
1.9. Метод простой итерации нахождения корней нелинейных уравнений 37 Используя соотношения (1.19) и (1.20), можно записать I X* - х (* + = = е 1 < q Е = q | х* - |, где q = max |<р'(х)|, х <= [а, Ь]. Из этого соотношения следует, что скорость сходимости метода ите- рации зависит от величины q: чем меньше q, тем быстрее сходится метод. Исходное уравнение Дх) = 0 ?ис- может быть преобразовано к виду х = <р(х) многими способами, и, очевидно, для метода итерации целесообразно брать то уравнение х = <р (х), для которого q имеет наименьшее значение. Для пояснения рассмотрим классический пример вычис- ления квадратного корня. Исходное уравнение /(х) = х2 - а = 0 (а > 0) преобразуем к виду х = <р(х) тремя способами, приведен- ными в табл. 1.1 в первом столбце. Таблица 1.1 <р(х) ф'(х) Поведение |ф'(х)| Сходимость метода а X 1 ^1 ч |<р'(х)| -> 1 при х —> ±Ja не сходится х2 + х - а 2х + 1 |ф'(х)| < 1 при х е (-1, 0), |q/(x)l > 1 при х t (-1, 0) сходится в ограничен- ном интервале к отри- цательному значению корня (х + а/х) 2 (х - а/х2) 2 |ф'(х)Н° при х —i±Ja сходится, и очень быстро Анализ поведения | ср'(х) I вблизи корня (третий столбец таблицы) показывает, что при удачном выборе представления х = <р(х) мож- но обеспечить высокую скорость сходимости итерационного про- цесса без ограничения диапазона параметра а. Третье уравнение х = (х + а/х)/2 используется для вычисления квадратного корня на компьютерах. Таким образом, в методе простой итерации ва- жен выбор вида функций <р(х). Отметим, что метод простой ите- рации обобщается на случай систем нелинейных уравнений.
38 Глава 1. Численные методы алгебры 1.10. Метод Ньютона и некоторые его модификации Вновь рассмотрим уравнение (1.16). Полагая, что погрешность е(А) = х* - XW мала, а функция f(x) имеет непрерывную вторую производную, разложим f(x*) в ряд Тейлора: f(X*) = f(X™ + Е<*>) = f(x^) + + (-^ f'U) + где £ е [х(А), х*]. Учитывая, что /(х*) = 0 и оставляя только линей- ную часть разложения в ряд (отсюда и другое название метода — МЕТОД ЛИНЕАРИЗАЦИИ), можем записать приближенное, ли- нейное относительно погрешности, уравнение Дх<*>) + (х<*>) = О, из которого для погрешности имеем Ё<*> = -f(xW)/f'(xW). (1.21) Так как использована лишь линейная часть разложения в ряд, то при подстановке (1.21) в соотношение х* = х(А) + е(а), сле- дующее из соотношения для погрешности, получим вместо х* лишь приближенное уточненное значение корня, которое обозна- чим x(fe + Ч Тогда можем записать основное соотношение метода Ньютона в виде x(* + i) = x(*)_M. (1.22) f (x(ft)) НЬЮТОН ИСААК (Newton Isaac; 1643—1727)— великий английский физик, математик, механик и астроном. Н. сформулировал основные законы классической механи- ки, открыл закон всемирного тяготения и разработал наря- ду с Г. Лейбницем дифференциальное и интегральное ис- числения. Исследования Н. в области механики потребова- ли создания новых математических методов, основанных на введении переменных величин («флюэнт») и скоростей их изменения («флюксий»). Основную идею нового метода: по данной флюэнте найти флюксию и наоборот, т. е. по за- данной функции найти производную и обратно — по произ- водной найти функцию, Н. выразил в письме к Г. Лейбни- цу. Н. предложен метод численного решения алгебраиче- ских уравнений (метод Ньютона) и дано решение задачи о проведении через n + 1 данные точки параболической кри- вой n-го порядка (интерполяционная формула Ньютона).
1.10. Метод Ньютона и некоторые его модификации 39 Это соотношение позволяет по- строить последовательность при- ближений х(/г), k = 0, 1, 2, ... к точ- ному значению корня по заданно- му начальному приближению х(0). Геометрически процесс (1.22) означает замену на каждой итера- ции кривой у — f(x) на касатель- ную к ней в точке [x(fe\ и определение значения х(А + 1( как координаты точки пересечения касательной и оси абсцисс (рис. 1.6). С рассмотренной интерпре- тацией соотношения (1.22) связано еще одно название метода — МЕТОД КАСАТЕЛЬНЫХ. Достаточное условие сходимости метода Ньютона получим из соответствующего условия для метода простой итерации. Сопос- тавляя соотношения (1.17) и (1.22), можно заключить, что метод Ньютона представляет собой специальный случай метода прос- той итерации, в котором ф (х) = х - f(x)/f'(x). Используя условие сходимости метода итераций |ф'(х)| < 1 и выражение <р'(х) = Лх)Г(х) (Г(х)]2 ’ нетрудно получить достаточное условие сходимости метода Нью- тона в форме |/(х)Г(х)| < [Л(Х)]2. (1.23) Поскольку Дх*) = 0, то <р'(х*) = 0, и итерации по соотноше- нию (1.22) сходятся к точному значению корня при произволь- ном начальном приближении, но вдали от корня сходимость мо- жет быть немонотонной. Для оценки скорости сходимости метода Ньютона запишем соотношение х<* 1- X* = <р (х<А)) - ф (х*). ТЕЙЛОР БРУК (Taylor Brook; 1685—1731) — английский математик. В 1712 г. Т. вывел общую формулу для разло- жения функций в степенные ряды. Т. положил начало ма- тематическому изучению задачи о колебаниях струны. Ему принадлежат также заслуги в разработке теории конечных разностей.
40 Глава 1. Численные методы алгебры Далее разложим <р (x(fc)) в ряд Тейлора: <р(х® - х* + х*) = <р(х*) + ф'(х*)(х(А) - х*) + | ф"(х*)(х(/г) - х*)2 + ... Подставляя это разложение в предыдущую формулу и учитывая, что <р'(х) = 0, получаем Е(л + 1)»(1/2)(р"(х)(Е«)2. Из этого соотношения следует, что метод Ньютона имеет вблизи корня второй порядок сходимости: на каждой итерации ошибка меняется пропорционально квадрату ошибки на предыдущей итерации. Достоинства метода Ньютона состоят в его квадра- тичной сходимости, возможности обобщения на случай систем уравнений, а также в том, что он является одношаговым. Однако метод Ньютона расходится в тех областях, где f'(x) = 0. Кроме того, если функция Дх) задана таблично, то вычисление f\x) затруднено. Указанная трудность устраняется в МЕТОДЕ СЕКУЩИХ (ме- тоде хорд). Существует вариант метода Ньютона с постоянным значени- ем производной; значение производной вычисляется только в на- чальной точке х = х(0) (рис. 1.7), и далее для всех итераций значе- ния производных f(x) полагаются постоянными, равными Д(х(0)). Последовательные приближения вычисляются по формуле f(xw) + 1) — %(k)___ Геометрически замена произ- водной на каждой итерации по- стоянным значением означает, что наклон прямой, точка пересе- чения которой с осью абсцисс принимается за новое приближе- ние для корня уравнения, счита- ется постоянным. Часто эта моди- фикация метода Ньютона рекомен- дуется как позволяющая умень- шить объем вычислений за счет отказа от вычисления производ- ной на каждой итерации. Однако следует учитывать, что метод Ньютона с постоянным значением
1.11. Метод секущих 41 производной имеет лишь первый порядок сходимости — вблизи корня соотношение для погрешности имеет вид e(k +1) „ и, следовательно, сходится медленнее, чем метод Ньютона. Это, в конечном счете, нередко приводит к увеличению общего объема вычислений. 1.11. Метод секущих В методе секущих, иначе называемом МЕТОДОМ ХОРД, прибли- женное значение производной f'(x) в формуле (1.22) определяется по двум последовательным приближениям [x(/l ~ Х), f(x,k ~ 1()] и [х<А), /(х<А))] по соотношению /(х<*>) - /(х(* ~ x(k) - xf* * f'(x(k)) ~ (1.24) что приводит к замене касательной в точке [xW, f(x^)] секущей, проведенной через две точки кривой у - /(х) (рис. 1.8) или, что то же самое, — к аппроксимации функции /(х) на этом интервале линейной функцией. Условия сходимости метода секущих аналогичны условиям сходимости метода Ньютона. Порядок сходимости метода секу- щих определяется соотношениями Е<* + 1) ~ а е(А) - 1) ~ а1/р где а = (1/2)П&/Г(Л р = 75/2 = 1,618. К особенностям метода следу- ет отнести следующее: в методе не требуется непосредственного вы- числения производной f'(x) на каждой итерации, которое может привести к существенному умень- шению объема вычислений; ме- тод является двухшаговым, и, в частности, на первой итерации вычислений необходимо знать два начальных значения х(0) и х(1);
42 Глава 1. Численные методы алгебры сходимость метода может быть немонотонной даже в малой ок- рестности корня; в знаменателе формулы для вычисления х(А 1 Ч стоит разность двух величин [/(х(А)) - /(х(А “ х>)], которые имеют вблизи корня малые и близкие значения, что может привести к заметным погрешностям вычислений, особенно для кратных корней. 1.12. Метод парабол Рассмотренный метод секущих можно интерпретировать как ме- тод, в котором на каждой итерации исходная функция аппрокси- мируется линейной функцией (секущей), построенной по двум точ- кам, принадлежащим f(x). Развивая далее идеи аппроксимации, можно для построения итерационных формул использовать инфор- мацию о функции в нескольких точках, предшествующих точке х(А). В методе парабол по трем последовательным приближениям [х<* ~ 2>, /(х<* ~ 2>], [х<*~ D, /(х<* - х>)], [х<*>, /(*<*>)] строится многочлен второй степени (парабола), приближающий исходную функцию. Иначе этот метод называют МЕТОДОМ МЮЛ- ЛЕРА или методом КВАДРАТИЧНОЙ ИНТЕРПОЛЯЦИИ. За новое приближение берется обычно ближайший к х(А) корень соответст- вующего квадратного уравнения. Геометрическая интерпретация метода парабол дана на рис. 1.9. В качестве х(А + выбирается тот из корней квадратного урав- нения, для которого величина |х(А + О - x(ft)| наименьшая. Доказы- вается, что погрешность метода определяется соотношением + 1) ~ g(fe) g(A - 1) g(A - 2) ~ (g(^))P> где р = 1,839. РЕГИОМОНТАНУ С МЮЛЛЕР ИОГАНН (Regiomontanus Muller Johann; 1436—1476) — немецкий астроном и ма- тематик. Р. Родился в г. Кёнигсберге и использовал лати- низированное написание своего имени Кёнигсбергский (Konig — король, Berg — гора). Р. внес большой вклад в тригонометрию и астрономию: составил астрономические таблицы, предложил метод определения географических долгот на море (метод лунных расстояний), занимался пло- ской и сферической тригонометрией. В своих работах Р. использовал алгебраические символы. Ему принадлежат исследования в области решения уравнений, в частности, кубических уравнений.
1.13. Методы нахождения корней систем нелинейных уравнений... 43 Рис. 1.9 Это означает, что, несмотря на привлечение дополнительной информации о функции, метод парабол имеет порядок сходимос- ти, лишь немного превышающий порядок сходимости метода се- кущих. Вместе с тем возникают задачи решения квадратного уравнения, выбора одного из двух корней многочлена и, самое важное, определения области гарантированной сходимости мето- да. Если три приближения для построения многочлена выбраны далеко от корня и содержат погрешности, то возможно самое не- ожиданное поведение решения. Отметим, что метод парабол успешно применяется для отыс- кания корней многочленов, в том числе комплексных; при этом метод обладает тем замечательным свойством, что начальное приближение может быть действительным. Метод парабол явля- ется трехшаговым методом. 1.13. Методы нахождения корней систем нелинейных уравнений. Ускорение сходимости по Эйткену Для уточнения корней систем нелинейных уравнений наиболее часто используют методы итерации (метод простой итерации и метод Зейделя) и метод Ньютона. Как и в случае уточнения кор- ней одного нелинейного уравнения, для систем нелинейных уравнений требуется определение хорошего начального прибли- жения (отделение корня), гарантирующего сходимость метода и высокую скорость сходимости. Для системы двух уравнений это
44 Глава 1. Численные методы алгебры может быть сделано графически, но для систем высоких порядков удовлетворительных методов отделения корней не существует. | Метод простой итерации Систему нелинейных уравнений запишем в векторной форме f(x) = 0, (1.25) где х — (хр х2, ..., хп)т— вектор-столбец неизвестных*, Дх) = = [Д(х), f2(x), ..., fn(x)]r— вектор-столбец функций. В методе простой итерации система (1.25) приводится к эквивалентной системе вида х = <р(х), где <р(х) = [<р1(х), <р2(х), •••> ФП(Х)1Г’ или Х1 = Ф1<Х1’ Х2> •••»*„)» Х2 = Фг(ХР Х2’ •••’ ХпЬ < ............................................... (1.26) . Хп = ФП(*Р Х2> ->ХЛ Полагая известным начальное приближение для корня х<°> = = (х<°>, х20), ..., х(п0))т, построим итерационный процесс х<* + = = <р(х(/,)), Л = 0, 1, 2, ..., или + Ггда *1 Ф1|_Х 1 ’ Х2 ’ Хп J’ ...с-27) «Г ’«?>'. ' »“] Рассмотрим поведение вектора погрешности eW = XW - х* = [х**' - х*, ..., x(„fc)- х*], полагая, что погрешность — величина малая. Для компонент вектора х можем записать Х<*+ Х) = X* - Ер+ х) = Ч\[х* - E(jft).X* - Ед )], i = 1, ..., П. Полагая наличие у функций <р;(х) непрерывных частных про- изводных и используя соотношение х* = <р;(х*), можем (см. (1.19)), используя разложение в ряд, получить ^^уц^ЭфДх) ,= 1........................п (128 1-1 ‘ Эх, *Верхний индекс Т означает операцию транспонирования.
1.13. Методы нахождения корней систем нелинейных уравнений... 45 Из (1.28) следует, что в методе простой итерации вектор по- грешности испытывает линейное преобразование, или, иначе, метод имеет первый порядок сходимости. Если обозначить матрицу производных системы функций <р;(х) для i = 1, ..., п (МАТРИЦУ ЯКОБИ) через дфЦх) 9xj Эф1(х) Эх2 Эф1(х) Эхп Эф„(х) 9xj Эф„(*) Эх2 дфЦх) Эхп . X = X* то систему (1.28) можно переписать в виде ^ + 1=^6*. (1.29) Достаточное условие сходимости итерационного процесса (1.27) формулируется следующим образом: если какая-либо норма мат- рицы Ау, согласованная с рассматриваемой нормой вектора х, меньше единицы, то метод итераций сходится. Условие сходи- мости ||А || < 1 есть обобщение на случай нелинейной системы ус- ловия (1.20) для одного уравнения. | Метод итераций Зейделя Нередко сходимость метода простой итерации можно улучшить, если вновь вычисленные значения компонент вектора неизвест- ных немедленно включить в расчет. В этом случае итерационный процесс имеет вид х<* + ” = ф([х<* + ”, ..., х<* V», х<”, ..., х<”], I = 1, ..., п. Сходимость этого процесса также линейная. Как и при реше- нии систем линейных уравнений, может быть поставлена задача об отыскании оптимальной на каждой итерации последователь- ности уточнения компонент вектора решения. Удовлетворитель- ЯКОБИ КАРЛ ГУСТАВ ЯКОБ (Jacobi Carl Gustav Jacob; 1804—1851) — немецкий математик, один из создателей теории эллиптических функций. Я. принадлежат открытия в области теории чисел, алгебры, вариационного исчисле- ния, интегрального исчисления и теории дифференциаль- ных уравнений. Он ввел в употребление функциональные определители (якобианы) и указал на их роль при замене переменных в кратных интегралах и при решении уравне- ний с частными производными. Я. исследовал класс ортого- нальных многочленов (многочлены Якоби).
46 Глава 1. Численные методы алгебры ных методов построения оптимальной последовательности нет. На практике иногда используется упорядочение неизвестных по убыванию разности их значений на двух последовательных ите- рациях. | Метод Ньютона Основная идея метода Ньютона — решение системы нелинейных уравнений f(x) = 0 сводится к решению последовательности ли- нейных задач, дающих в пределе решение исходной задачи. Ли- нейная задача получается путем выделения из нелинейных урав- нений главной линейной части. Рассмотрим погрешность вычисления корня на fe-й итерации е(А) = х* - x<fe), где е<А) = [е^, е(2А), ..., е^]'. Полагая, что функции Д непрерывны и дифференцируемы в окрестности корня и е*А) (г = = 1, ..., га) — малые величины, разложим ftx*) = f(x^ + ew) = О в ряд Тейлора, сохранив лишь линейную часть разложения. Получим систему уравнений уедаЭД(х) = i = l, ...(П) (1.30) # 1 Эх, X - X линейную относительно компонент вектора погрешностей. Если использовать эту систему для отыскания компонент вектора по- грешностей, то в силу приближенности системы (1.30) — остав- лена лишь линейная часть — найденное значение вектора по- грешности будет лишь приближенным. Тогда при подстановке полученного решения в соотношение х* = е(А) - х(А) будем иметь вместо х* приближенное уточненное значение корня, которое обозначим через х{к + Используя запись системы (1.30) в виде A^E(ft) = где — матрица производных системы функций f. (матрица Якоби), можем записать итерационный процесс для нахождения вектора х: + = k = 0, 1, 2, ..., где [AW]1 — матрица, обратная матрице Якоби. Представленная формула является обобщением формулы (1.22) на случай систем нелинейных уравнений. Уточненное значение вектора может быть вновь использовано для получения следующего приближе- ния к корню, что приводит к итерационному процессу. Заметим, что в большинстве случаев предпочтительным является не вычис- ление обратной матрицы [А^]-1, а получение каким-либо методом
1.13. Методы нахождения корней систем нелинейных уравнений... 47 решения е<А) линейной системы (1.30) и вычисление нового при- ближенного значения по соотношению + Э = + е(Л). Итерационный процесс (1.30) сходится, если определитель матрицы А^ отличен от нуля, т. е. det (А^*) 0. Требуется, одна- ко, хорошее отделение корня, но достаточное условие сходимости метода слишком громоздко, чтобы им можно было воспользо- ваться на практике. На каждой итерации метода Ньютона требуется вычислять матрицу производных А^ и решать систему линейных уравне- ний (1.30). Можно попытаться уменьшить объем вычислений за счет отказа от вычисления матрицы А^ на каждой итерации и использования на всех итерациях постоянного значения А^, вы- численного по начальному приближению. Напомним, что при этом может быть дополнительно существенно уменьшен объем вычислений, если для решения последовательности линейных систем использовать алгоритм, позволяющий выполнить преоб- разование матрицы А^0) к верхней треугольной только один раз. Следует иметь в виду, однако, что, во-первых, указанная моди- фикация метода Ньютона гарантирует лишь линейную сходи- мость итераций (против квадратичной в окрестности корня в ме- тоде Ньютона) и, во-вторых, константа в линейной зависимости погрешности при неудачном выборе начального приближения может оказаться весьма большой и сходимость будет медленной. Таким образом увеличивается число итераций, необходимое для достижения заданной точности, и уменьшение общего объема вы- числений не гарантировано. | Ускорение сходимости по Эйткену Предположим, что отношение (х(А ~ Й - x*)/(r(k) - х*) = q есть ве- личина постоянная и неизменная в процессе итераций. Тогда _ х('г-2)-Х* х<*> _ х* 9 x(k- 1) _ х* • Из этого соотношения следует, что * = Х<*>Х(*~2)- [Х(*-1)]2 х(*) - 2х^к “ ') + Х<А ~ 2) ' ЭЙТКЕН АЛЕКСАНДР КРЭГ (Aitken Alexander Craig; 1895—1967)— английский математик. Основные его тру- ды относятся к численному анализу, статистике и алгебре. В алгебре Э. проводил исследования по теории определите- лей. В области численного анализа ему принадлежит идея об ускорении сходимости численного метода. Э. также раз- работал метод последовательной линейной интерполяции.
48 Глава 1. Численные методы алгебры Полученный таким образом корень х* можно принять за сле- дующее приближенное значение х(А + 1(. Предложенный способ пригоден как для одного нелинейного уравнения, так и для си- стем нелинейных уравнений. Это предположение означает, что метод применим к процессам с линейной сходимостью (простые итерации), но неприменим к методам Ньютона, секущих, пара- бол и т. п. 1.14. Введение в проблему собственных значений Во многих задачах механики, физики, химии и связанных с ними задачах алгебры и вычислительной математики вместе с квадрат- ной матрицей А порядка п приходится рассматривать уравнение det (А - ХЕ) = 0, (1.31) которое называют ХАРАКТЕРИСТИЧЕСКИМ или ВЕКОВЫМ УРАВ- НЕНИЕМ матрицы А, и однородную систему (А-ХЕ)х = 0, (1.32) где Е — единичная матрица порядка п, х — вектор-столбец. Уравнение (1.31) есть алгебраическое уравнение (многочлен) степени п вида (-1)"(X" -Р1Х"-1 -р2Х"-2 - ... -Рп) = (-1)" Р„(Х). (1.33) Корни этого многочлена Х;, i = 1, ..., п называются собствен- ными (характеристическими) значениями (числами) матрицы А. Однородная система (1.32) имеет ненулевое решение лишь в слу- чае, при котором корни X; являются собственными значениями матрицы А. Соответствующие каждому Х; ненулевые решения х системы (1.32) называются собственными векторами матрицы А. С точки зрения линейной алгебры ЗАДАЧА О СОБСТВЕННЫХ ЗНАЧЕНИЯХ и векторах включает в себя составление характерис- тического многочлена (1.33), отыскание корней этого многочлена (собственных значений), решение для каждого X, однородной сис- темы (1.32), т. е. определение собственных векторов матрицы А. Говорят о полной проблеме собственных значений, если тре- буется определить все собственные значения (и собственные век- торы) матрицы А, и о частичных проблемах собственных значе- ний, если требуется найти лишь отдельные собственные значе- ния, например, максимальное или минимальное. Обобщенная проблема собственных значений возникает при решении системы
1.14. Введение в проблему собственных значений 49 Ах = ХВх, а общая — тогда, когда все коэффициенты матрицы А зависят от X. Существуют три группы методов решения второй проблемы линейной алгебры. • В первой группе методов (методы отражения, прямой вра- щения, итерационный вращения и QL-алгоритм) матрица при- водится к какому-либо специальному виду, например диагональ- ному или трехдиагональному, когда вычисление собственных чи- сел — простая задача. • Во второй группе (методы Данилевского, Леверье, Крыло- ва, Ланцоша) матрицы приводятся к такой форме, для которой вычисление коэффициентов характеристического многочлена было бы тривиальным, т. е. производилось бы восстановление ха- рактеристического многочлена. • В третьей группе — методов интерполяции — собственные числа определяются с использованием интерполяционных мно- гочленов. ЛАППО-ДАНИЛЁВСКИЙ ИВАН АЛЕКСАНДРОВИЧ (1896—1931) — математик, основные труды которого отно- сятся к теории функций от матриц и аналитической теории линейных дифференциальных уравнений. ЛЕВЕРЬЕ УРБЕН ЖАН ЖОЗЕФ (Le Verrier Urbain Jean Joseph; 1811—1877)— французский астроном, работы ко- торого посвящены проблемам небесной механики. Изучая неправильности в движении Урана, Л. показал, что причи- ной, их вызывающей, является находящаяся за пределами его орбиты неизвестная планета. Независимо от Дж. Адамса Л. вычислил (1846) положение этой планеты (Нептуна). Составленные им планетные таблицы потребова- ли колоссального вычислительного труда. КРЫЛОВ АЛЕКСЕЙ НИКОЛАЕВИЧ (1863—1945) — кораб- лестроитель, механик и математик. Работы К. по корабле- строению имеют большую ценность для математики и меха- ники. К. занимался вопросами наиболее рациональной орга- низации численных расчетов, разработал способ улучшения сходимости тригонометрических рядов, предложил метод ре- шения векового уравнения. К. построил первую в России ма- шину для интегрирования дифференциальных уравнений. ЛАНЦОШ КОРНЕЛИУС (Lanczos Cornelius; 1893—1974) — американский математик венгерского происхождения. Л. занимался в основном математическим анализом и прибли- женными вычислениями. Известны ленточные алгоритмы Ланцоша, а также блочный метод Ланцоша в алгебре.
50 Глава 1. Численные методы алгебры 1.15. Итерационный метод вращения для нахождения собственных значений Метод предложен в 1846 г. Якоби и позволяет решить полную проблему собственных значений для эрмитовых матриц. Для простоты рассмотрим метод вращений для частного случая эрми- товых матриц — действительных симметрических матриц. В ос- нове метода лежит тот факт, что действительная симметрическая матрица может быть приведена подобным преобразованием к ди- агональному виду. Метод Якоби основан на использовании не- скольких оригинальных идей. • Используется преобразование подобия S^AS, сохраняющее собственные числа. • При этом преобразовании используются ортогональные матрицы, приводящие матрицу А к диагональной матрице Л. От- метим, что a priori соответствующая ортогональная матрица не- известна и цель метода — в конечном итоге ее получить. • Согласно соотношению Л = U~\AU, в качестве ортогональной матрицы в каждой итерации используется матрица вращения. • Итерационный процесс строится таким образом, чтобы пос- ле каждой итерации происходило уменьшение суммы квадратов внедиагональных элементов. • Реализация такого итерационного процесса на каждом эта- пе обращает в нуль максимальный элемент матрицы и определя- ет угол <р в матрице вращения. Матрицей элементарного вращения называется матрица вида 1 0 ..................... О О О 1 ..................... О О О 0 ... cos ф ... -sin ф ... О О О 0 ....... 1 ....... О О О 0 ... sin ф ... -cos ф ... О О О 0 ........................ О 1 ? т
1.15. Итерационный метод вращения для нахождения собственных значений 51 Здесь отмечены i-e и j-e строки и столбцы матрицы; она является ортогональной. Название МАТРИЦА ВРАЩЕНИЯ связано с тем, что в про- странстве (плоскости) R2 матрица является матрицей преобразо- вания декартовых координат при повороте осей на угол <р. Непо- средственным умножением можно убедиться, что U7.1 = UT., ибо, если матрица ^1;(ф) является ортогональной, обратная матрица равна транспонированной. Столь простая возможность получе- ния обратной матрицы, необходимой для выполнения подобного преобразования, весьма ценна с точки зрения эффективности ме- тода. В итерационном методе вращения строится бесконечная по- следовательность подобных преобразований с помощью матриц вращения — такая, что в пределе исходная матрица преобразу- ется к диагональному виду. Рассмотрим алгоритм метода и по- кажем, что он действительно обеспечивает требуемое преобра- зование. Предположим, что на некоторой Л-й итерации построена мат- рица А(А). Выбираем в ней максимальный по модулю внедиа- гональный элемент Так как матрица симметрична, то без ущерба для общности можно считать, что i < j. По индексам i и j строим матрицу вращения Uff и выполняем подобное преобразо- вание над матрицей А<А). В результате получаем матрицу A(k+ 1( = = U^TAWU^\ отличающуюся от матрицы А<*> только элемента- ми i-x и у-х строк и столбцов. Выпишем соотношения для вычисления элементов i-x и у-х строк и столбцов, введя для упрощения промежуточную матрицу В<к> = A^Uff. Учитывая вид матрицы 1Л;.(<р), отметим, что все столбцы матрицы В(А), кроме i-x и у-х, будут такими же, как и у матрицы А(А). Для элементов i-ro и у-го столбцов этой мат- рицы = amiCOS <Р<А) + am;S^n (1-34) b(^ = -a^'sin <pw + a^-cos m = 1, 2, ..., n. Заметим, что для всех m Ф i и m Ф j, т. е. для внедиагональных элементов, можем записать так как последующее ум- ножение матрицы В слева на U Т. не изменяет внедиагональных элементов i-ro и у-го столбцов. Для элементов i-й и у-й строк матрицы А(А + 1( “im+ U = &imC0S <PW + &>sin <PW’ (1.35) = <P<*) + ^jmCOS ф(А)> m = 2, .... П.
52 Глава 1. Численные методы алгебры Матрицу элементарного вращения выбираем таким обра- зом, чтобы обратить максимальный по модулю внедиагональный элемент в нуль. Для этого, используя соотношения (1.34) и (1.35), записываем выражение для а1к + Х): а(А + i) = 1 _ a(k)y sin 2ф(А) -|- cos 2<pW. Приравнивая а^+1) к нулю, получаем выражение для опре- деления угла обеспечивающего при подобном преобразова- нии с помощью матрицы вращения приравнивание к нулю эле- мента матрицы А(А + с индексами i и j и симметричного ему эле- мента. Имеем tg2<pW= - -. (1.36) ’ - а^) Таким образом, подобное преобразование при выборе матри- цы вращения с соотношением (1.36) обращает в нуль элемент с индексами i и J и симметричный ему элемент матрицы А(/г + При этом, однако, в соответствии с соотношениями (1.34) и (1.35) происходит изменение всех остальных элементов г-х и j-x строк и столбцов (и, в частности, тех, которые, может быть, на предыду- щих итерациях были обращены в нуль). Можно показать, что в построенном процессе все внедиагональные элементы матрицы при достаточном числе подобных преобразований (итераций) ста- новятся сколь угодно малыми. Имеет место соотношение t[A(ft + D] = t [А<*>] - 2 [а<*>]2 или f[A<* + 1>] < £ [А<*>]. Можно также показать, что £[A<ft)] < qkt(A), где значение q подчиняется неравенству q < 1 - 2/(n(ra + 1)), т. е. сходимость итерационного метода вращения ухудшается с увеличением п. Собственные векторы являются столбцами матрицы U = к = п U^. Здесь через К обозначено число вращений. В методе *-о 11 вращения для вычисления собственных значений требуется 50п3 операций. В качестве хорошего нулевого приближения к методу Гаусса служит метод вращения Гивенса, применимый к неэрми- товым матрицам.
1.16. Метод Данилевского... 53 1.16. Метод Данилевского для построения характеристического многочлена матрицы В методе Данилевского исходная матрица А с помощью подобных преобразований Ф = S‘AS приводится к так называемой канони- ческой форме Фробениуса (1.37) Разложив определитель матрицы (Ф - ХЕ) по элементам пер- вой строки,получим | Ф - ЛЕ | = (-1)" (Л" - P1V -1 - р2Лп “2 - ... - рп) = (-1)" Р„(Л), т. е. элементы первой строки матрицы (1.37) являются коэффи- циентами характеристического многочлена матрицы Ф, и так как матрица Ф получена подобными преобразованиями матрицы А, то они являются также и коэффициентами характеристиче- ского многочлена исходной матрицы А. Переход от матрицы А к матрице Ф осуществляется за (п - 1) преобразование подобия, последовательно преобразующее строки матрицы А, начиная с последней, в строки матрицы Ф. Рассмот- рим схему преобразований. Пусть после некоторого шага матри- ца А приведена к виду &12 ... Ь1к ... Ь1п ^21 Ь22 ... b2(k_ 1) b2k ... b2^n_^ b2n bkl ^k2 ^kk ••• ^s(n-l) bkn 0 0 ... 0 1 ... 0 0 0 0 ... 0 0 ... 1 0 (здесь и далее индекс шага для сокращения опущен).
54 Глава 1. Численные методы алгебры Приведение k-й строки к строке матрицы Фробениуса осу- ществляется следующим образом. Весь (k - 1)-й столбец делится на bk,k _ Х), так что вместо элемента bk(k _ 1( получаем 1. Далее этот столбец умножается на элемент -bki и складывается с i-м столб- цом, при этом i изменяется от 1 до га (кроме, очевидно, i = (k- 1)). В результате k-я строка принимает форму Фробениуса. Нетрудно показать, что описанная процедура эквивалентна умножению матрицы В справа на матрицу S, имеющую вид 1 0 0 0 0 1 0 0 s = bkl bk2 1 bkn bk<k -1) i) 1) bk(k -1) 0 0 0 1 Непосредственным умножением легко убедиться, что матри- ца S"1, обратная матрице S, имеет вид 1 0 ... О ... О О 1 ... О ... О b/a bk2 ••• bkk ••• bkn О 0 ... О ... 1 При умножении матрицы В на матрицу S справа k-я строка матрицы В принимает требуемый вид, а строки матрицы Фробе- ниуса с (k - 1)-й по га-ю сохраняют свой вид. Однако матрица BS не подобна матрице А, и, чтобы сделать ее подобной, нужно матрицу BS умножить слева на матрицу S'1. Умножение матрицы BS слева на матрицу S-1 не меняет строк с k-й по га-ю этой матрицы. Применив последовательно опи- санный процесс к строкам матрицы А, начиная с последней, по- лучим матрицу Фробениуса (1.37). ФРОБЕНИУС ФЕРДИНАНД ГЕОРГ (Frobenius Ferdinand Georg; 1849—1917) — немецкий математик. Его основные работы относятся к алгебре, в частности, теории матриц, теории конечных групп и их представлений матрицами.
1.17. Метод интерполяции для построения характеристического многочлена 55 1.17. Метод интерполяции для построения характеристического многочлена В основе метода интерполяции для построения характеристиче- ского многочлена лежит известная теорема алгебры о единствен- ности интерполяционного многочлена. Задача об определении коэффициентов pt (i = 1, га) характеристического многочлена степени га сводится к задаче построения интерполяционного мно- гочлена степени га по известным значениям его в узловых точках. Коэффициент при неизвестном в степени га в уравнении (1.33) равен (-1)". Для этого задается га различных значений Л = j = 1, 2, ..., га, и для каждого из этих значений вычисляется зна- чение определителя det (А - ф.Е) = а;-. Значения Р- могут выби- раться произвольно, но для уменьшения влияния ошибок округ- ления желательно узлы интерполяции располагать равномерно внутри интервала (Xmin, Xmax). Для оценки границ интервала мож- но использовать соотношение шах|Л| < ||А ||, где ||А ||— любая норма матрицы А. Для определения pt (i = 1, ..., га) записывается система га ли- нейных уравнений Р;п-= j = l,...,ra. Если выбранные значения различны, то определитель этой системы отличен от нуля и система уравнений имеет единствен- ное решение. В силу теоремы о единственности интерполяцион- ного многочлена построенный таким образом многочлен являет- ся характеристическим многочленом матрицы А. Отметим, что обычно для построения многочлена используются интерполяци- онные формулы, которые будут рассмотрены далее. Одним из существенных достоинств метода интерполяции является его общность: метод может быть использован при по- строении характеристического многочлена для матриц произ- вольной структуры. Вместе с тем общность метода является и его недостатком, так как не все особенности матриц, образующихся в практических задачах, могут быть учтены. Для применения метода интерполяции требуется вычислить га определителей порядка га. Вместе с построением интерполяци- онного многочлена по интерполяционной формуле метод требует примерно га4 операций, что приводит для больших значений га к довольно большому объему вычислений. Однако более серьезным
56 Глава 1. Численные методы алгебры обстоятельством, ограничивающим применение метода интерпо- ляции, является то, что нули многочлена (т. е. искомые собствен- ные значения) могут быть весьма чувствительны к погрешностям коэффициентов многочлена. Неизбежные и, возможно, достаточ- но большие погрешности вычисления коэффициентов Рп в методе интерполяции приводят к существенному снижению точности определения собственных значений при больших п. По этой при- чине метод интерполяции редко используется при га > 10. Последний недостаток метода интерполяции можно устра- нить, если использовать метод ЛОКАЛЬНОЙ ИНТЕРПОЛЯЦИИ. В нем восстанавливается не весь характеристический многочлен, а некоторая его часть вблизи корня. Вычислив det (А - ЛЕ) в трех точках, можно построить в окрестности корня многочлен второй степени и далее, решая квадратное уравнение, определить корни. Для нахождения корня используется метод парабол. Метод ло- кальной интерполяции обладает тем преимуществом, что избав- ляет от необходимости строить многочлен высших степеней. Он пригоден для матриц любых видов и может быть использован для решения частичной, полной, обобщенной и общей проблем. В методах интерполяции, таким образом, решение второй проблемы достигается путем многократного решения первой про- блемы линейной алгебры, имея в виду вычисление определителей. 1.18. Численные методы оптимизации ОПТИМИЗАЦИЯ — процесс НАХОЖДЕНИЯ ЭКСТРЕМУМА (гло- бального максимума или минимума) некоторой ФУНКЦИИ или выбор наилучшего (оптимального) варианта из множества воз- можных. Приведем математическую формулировку задачи. Необходимо найти минимум скалярной функции f(x) векторного аргумента х на множестве X = {х: gt(x) > 0; й;(х) = 0; i = l, ...,#}, где g; и ht также скалярные функции*. *3десь и далее будем говорить о поиске минимума функции f(x), так как поиск максимума f(x) сводится к поиску минимума функции F(x) = -Дх).
1.19. -методы отыскания безусловного экстремума функции одной переменной 57 Функция f(x) называется ЦЕЛЕВОЙ ФУНКЦИЕЙ; множество X — ДОПУСТИМЫМ МНОЖЕСТВОМ, а решение х* задачи оптими- зации — ОПТИМАЛЬНОЙ ТОЧКОЙ. Задачи оптимизации можно разбить на три группы. • Задачи безусловной оптимизации. В этом случае имеется максимум (минимум) целевой функции. Дополнительные огра- ничения не накладываются. • Задачи условной оптимизации линейного программирова- ния. В этом случае целевая функция f(x) и дополнительные усло- вия g/x) и Л;(х) линейны. • Задачи условной оптимизации нелинейного программиро- вания. В этом случае либо целевая функция, либо одно из огра- ничений нелинейны. 1.19. Численные методы отыскания безусловного экстремума функции одной переменной Задача отыскания минимума функции одной переменной неред- ко возникает в практических приложениях. Кроме того, многие численные методы отыскания минимума функции многих пере- менных сводятся к задачам одномерного поиска. Один из подходов к отысканию экстремума функции /(х) вы- текает из известной теоремы анализа и заключается в замене за- дачи на экстремум задачей поиска решений нелинейного уравне- ния или системы нелинейных уравнений f'(x) = 0. (1.38) Различные методы нахождения корней нелинейных уравне- ний описаны в § 1.8—1.13. В этих разделах приведены многие современные методы решения нелинейных уравнений и систем. Такой путь тем не менее имеет тот недостаток, что решение урав- нения (1.38) может быть достаточно сложной задачей и итераци- онный процесс решения уравнения (1.38) может сходиться очень медленно. Однако для поиска экстремума одномерной функции можно не использовать необходимые условия экстремума.
58 Глава 1. Численные методы алгебры Предположим, что функция является УНИМОДАЛЬНОЙ, т. е. имеет на рассматриваемом отрезке [а, Ь] только один локальный минимум*. В этом случае, вычисляя последовательно целевую функцию при возрастающих значениях х, будем получать ее изменяю- щиеся значения, пока не достигнем точки минимума. При этом не требуется дифференцируемости и даже непрерывности функ- ции /(х). Правило выбора последовательности точек х определяет бы- строту отыскания интервала, в котором находится точка мини- мума. Этот интервал значений, в котором находится точка х*, на- зывается ИНТЕРВАЛОМ НЕОПРЕДЕЛЕННОСТИ. | Метод золотого сечения Метод дихотомии имеет тот недостаток, что из каждых трех зна- чений целевой функции, вычисленных в интервале неопределен- ности, в дальнейшем используются только два. Третье, вычис- ленное в точке X = (а + Ь)/2 ± е/2, дополнительной информации не несет и в дальнейших расчетах не используется. В методе золо- того сечения целевая функция вычисляется в точках интервала неопределенности, расположенных таким образом, чтобы одно из значений целевой функции давало новую полезную информацию на следующем шаге. Сущность метода состоит в том, что интер- вал неопределенности X делится на две неравные части zY и г2 так, что отношение длины большего отрезка zY к длине всего ин- тервала неопределенности равно отношению длины меньшего от- резка г2 к длине большего (рис. 1.10). Подобное деление осу- ществлял еще Евклид. Таким образом, «! + Z2 = X, • *Точка х* е [а, б] является точкой локального минимума функции f(x) на [а, Ь], если при некотором достаточно малом е > 0 для всех х * х*, х е [а, Ь], удовлетворяющих условию |х - х*| < Е, выполнено неравенство Дх*) < Дх). ЕВКЛИД, ЭВКЛИД (Eu«Xei5t]<;) — древнегреческий мате- матик. Его научная деятельность протекала в Александрии в начале III в. до н. э. Евклид является автором работ по ма- тематике, астрономии, оптике, музыке. Главный его труд («Начала») содержит изложение планиметрии, стереомет- рии и ряда вопросов теории чисел. В частности, Е. была вы- полнена задача деления отрезка в данном отношении с по- мощью циркуля и линейки.
1.20. ..методы отыскания безусловного экстремума функции многих переменных 59 О а b х О а 0,618 0,382 0,382 0,618 Ъ х Рис. 1.10 Рис. 1.11 Исключая из этих уравнений X, получаем квадратное уравнение относительно z2/2i: (-V + г_1 -1 = 0. (1.39) VZ]/ ?I Решая уравнение (1.39), получаем z2lzY = 0,618. На рис. 1.11 показано деление интервала неопределенности в этом отноше- нии. Первые две точки располагаются симметрично на расстоя- нии 0,618 от концов интервала. В дальнейшем сохраняется один из этих интервалов, в котором располагается одна из точек, и симметрично ей располагается следующая. Таким образом, одно из значений целевой функции, которое требуется вычислить на следующем шаге, уже известно из предыдущего. 1.20. Численные методы отыскания безусловного экстремума функции многих переменных Численные методы поиска экстремума функции многих перемен- ных не только представляют самостоятельный интерес, но и ис- пользуются как этап при поиске экстремума функции с ограни- чениями. Один из подходов к задаче поиска экстремума функции /(г) векторного аргумента размерности N (как и в случае одномерного
60 Глава 1. Численные методы алгебры поиска) заключается в решении системы нелинейных алгебраи- ческих уравнений ^=0, i = l, (1.40) dXi получающейся при использовании необходимого условия экстре- мума. Методы для решения систем нелинейных уравнений, опи- санные в п. 1.14, могут плохо сходиться. Другой_подход заключается в построении такой последова- тельности Х(0), Х(1), ..., для которой значения функции / образу- ют убывающую сходящуюся последовательность. Такие методы называются ПРЯМЫМИ МЕТОДАМИ решения задач_оптимизации. ПОСЛЕДОВАТЕЛЬНОСТЬ ВЕКТОРОВ Х^>, Х*1*, ..., Х<п>, удовлетво- ряющих условию ДХ(0)) > ДХ(1)) > ДХ<">), называется РЕЛАКСА- ЦИОННОЙ, а методы построения этих последовательностей — МЕТОДАМИ СПУСКА. В методах спуска точки релаксационной последовательности вычисляются следующим образом: Х<* + 1> = xw + akPk, (1.41) где Pk — направление спуска от точки Х(А) к точке X(A + a ak — шаг вдоль этого направления. Различные варианты метода спу- ска отличаются друг от друга способами выбора направления спуска и шага вдоль него. Эти методы принято делить на классы в зависимости от поряд- ка используемых в методе производных целевой функции. Если в методе используется значение самой целевой функции, то это ме- тоды нулевого порядка, если значение первой производной — пер- вого порядка и т. д. Методы одномерного поиска, рассмотренные в предыдущем разделе, являются методами нулевого порядка. Методы второго порядка для получения результата с заданной степенью точности требуют наименьшего числа итераций. Одна- ко вычисление вторых производных может потребовать большого количества машинных операций. Поэтому быстрее (в смысле за- трат машинного времени) могут сходиться методы первого и ну- левого порядков. Хотя они и требуют большего количества итера- ций, но каждая итерация может потребовать меньшего количест- ва арифметических операций, так что суммарное количество опе- раций будет меньше. Поэтому с точки зрения затрат машинного времени эти методы могут оказаться предпочтительнее. | Градиентные методы Естественно в формуле (1.41) при поиске минимума f(x) выби- рать в качестве направления спуска то направление, вдоль кото-
1.20. ..методы отыскания безусловного экстремума функции многих переменных 61 рого функция убывает всего скорее. Этим направлением является направление, противоположное градиенту, — АНТИГРАДИЕНТ*. Таким образом, формула (1.41) примет вид ^(k + 1) = ^(Л) _ ak (1.42) где 7Чх(/г)) — градиент функции f в точке х(А). Методы спуска, в которых в качестве направления спуска используется направле- ние, совпадающее с антиградиентом, называются ГРАДИЕНТ- НЫМИ и отличаются друг от друга выбором шага вдоль направ- ления спуска. Эти методы являются МЕТОДАМИ ПЕРВОГО ПОРЯДКА. | Градиентные методы с дроблением шага Шаг спуска при использовании формулы (1.42) выбирается из то- го условия, что значение функции на каждом шаге меньше, чем на предыдущем, т. е. > f(xW - (1.43) При этом возникает проблема с выбором шага ak. Если шаг за- дать очень малым, таким, что условие (1.43) будет заведомо вы- полняться, это может потребовать очень большого числа итера- ций. Но больший шаг может привести к нарушению условия (1.43) либо привести к колебаниям около точки минимума. По- этому итерационный процесс, удовлетворяющий условию (1.43), строится следующим образом. Выбирается шаг а0, и с этим ша- гом, постоянным для нескольких итераций, проводится расчет по формуле (1.42) и для k-й итера- ции проверяется условие (1.42). хЧг----- Если оно выполняется, то с этим / \ шагом проводятся и следующие I \х" итерации. Если условие (1.42) не \ •-*Х\ \ выполняется, то шаг а0 уменыпа- \ \ У ) ется до тех пор, пока условие (1.43) I \ у не будет выполнено. Графическая ________ иллюстрация метода приведена на \ ~Г(х(1)) рис. 1.12. -Д(х(0>) К точке минимума х(*> при- ближается некоторая ломаная Рис. 1.12 *Из курса математического анализа известно, что градиент функ- ции Дх) в точке х(*> направлен в сторону наискорейшего возрастания функции Дх) и ортогонален линии уровня (поверхности постоянного значения функции Дх)), проходящей через точку х<А>.
62 Глава 1. Численные методы алгебры х<°> х(1) ... х(Л), ортогональная в каждой точке соответствующей линии уровня. Эта ломаная называется градиентной кривой и удовлетворяет уравнению | Метод наискорейшего спуска В методе наискорейшего спуска шаг на каждой итерации выби- рается из условия минимума функции /(х) вдоль направления спуска, т. е. Дх(Л) - akf'(x^)) = min f(xw - В этом методе на каждой итерации приходится решать зада- чу одномерной оптимизации, что, безусловно, усложняет алго- ритм и требует дополнительных вычислений. Тем не менее метод дает выигрыш машинного времени, так как движение вдоль на- правления спуска осуществляется с оптимальным шагом. Геометрическая иллюстрация ме- —ч,_____ _ _ тода приведена на рис. 1.13. Здесь каждая последующая точка находит- f \ S'? ся как точка касания антиградиента и I -(D j \ линии минимального уровня в данном k ] направлении. Звенья градиентной — \ \---S кривой в этом случае ортогональны \ \ друг другу‘ v ' Действительно, шаг а на каждой ~f (х<0)) итерации выбирается из условия ми- нимума по а функции Рис. 1.13 ф(а) = ffx^ - Дифференцируя ср по а, получаем . Ада«-айх<*>)1- gg т. е. направления спуска на двух последовательных итерациях ортогональны. | Метод покоординатного спуска Идея метода покоординатного спуска заключается в том, что спуск осуществляется не по всем координатам одновременно, а последовательно по каждой из них следующим образом.
1.20. ..методы отыскания безусловного экстремума функции многих переменных 63 Пусть х(0) - (х<°>, х20).х<°>) — точка начального приближе- ния (здесь нижний индекс — номер координаты). Осуществим спуск по первой координате хг Для этого фиксируем все координа- ты, кроме первой, вычисляем частную производную функции f по первой координате и находим следующее приближение: ох, 1 X - x(i) = В°) - а, где ех = (1, 0, ..., 0) — единичный вектор оси хг Следующая итерация происходит аналогично: фиксируются все координаты, кроме х2, и х(2) вычисляется по формуле х<2) = х<1) - a, it е2, X = где е2 = (0, 1, ..., 0) — единичный вектор оси х2. Таким образом, в методе поко- ординатного спуска на каждой итерации меняется только одна координата, т. е. спуск осуществ- ляется по ломаной, состоящей из отрезков прямых, параллельных осям координат. Геометрическая интерпретация метода для случая функции двух независимых пере- менных изображена на рис. 1.14. Здесь через х* обозначено решение задачи оптимизации. I Сходимость градиентных методов В рассмотренных выше методах последовательность /*Л)(х) схо- дится к точке минимума функции /(х) из любой Точки начально- го приближения х(0). Если функция /(х) ограничена снизу, ее гра- диент удовлетворяет УСЛОВИЮ ЛИПШИЦА (т. е. существует ЛИПШИЦ РУДОЛЬФ ОТТО СИГИЗМУНД (Lipschitz Ru- dolf Otto Sigismund; 1832—1903) — немецкий математик. Ему принадлежат труды в различных областях анализа, тео- рии чисел и многомерной геометрии. Л. установил одно из условий единственности решения задачи Коши для обыкно- венного дифференциального уравнения (условие Липшица).
64 Глава 1. Численные методы алгебры постоянная R такая, что неравенство Ц/Чх) _ f (у) II < #||х - у\\ справедливо для любых х и у, принадлежащих допустимому множеству) и выбор значения шага на каждой итерации произво- дится одним из описанных выше способов. Теорема гарантирует сходимость либо к нижней грани, либо к стационарной точке. Градиентный метод с выбором шага по (1.42) гарантирует сходимость в точку минимума, если f(x) явля- ется сильно выпуклой функцией. Скорость сходимости оценива- ется неравенством 1 М + т 1 (1.44) т. е. итерации сходятся как геометрическая прогрессия со знаме- нателем прогрессии q = (ЛГ - т)/(М + т). В качестве М и т в (1.44) могут, например, быть взяты максимальное и минималь- ное значения собственных чисел матрицы В качестве критерия окончания итерационного процесса обычно берется одно из следующих условий: ||х(*+1>-х(*>||<Е, Э£ Эх <е, ||/’(х(,г + 1>-/,(х(*>Ж е. X = Если величины М и т незначительно отличаются друг от друга, то значение q мало и скорость сходимости метода достаточ- но хорошая. Если же М т, значение q близко к единице и гра- диентные методы сходятся плохо. В этом случае рельеф функции носит так называемый овражный характер, т. е. линии уровня отличаются большой кривизной. ПРИМЕР. Рассмотрим функцию f(x, у) = х2 + 2Sy2. Ее линии уровня сильно вытянуты вдоль оси х. Траектория градиентного спуска для этой функции характеризуется спуском на дно оврага и затем медленным движением вдоль его дна к точке миниму- ма. Изменить рельеф функции можно введением новых перемен- ных, что может изменить характер сходимости итерационного процесса. Так, заменой хт = х; у2 = 2Sy2 сведем приведенную функцию к функции /(хр уг) = х2 + г/^, линиями уровня которой являются окружности и градиент направлен в точку минимума функции. Метод сопряженных градиентов Метод сопряженных градиентов, как и градиентные методы, от- носится к методам первого порядка. Однако по скорости сходи- мости он приближается к методам второго порядка. При этом квадратичная функция п переменных минимизируется таким
1.21. Численные методы отыскания условного экстремума 65 методом за п или менее шагов. Если учесть, что в окрестности точки минимума любая гладкая функция с хорошей степенью точности аппроксимируется квадратичной, то метод сопряжен- ных градиентов имеет хорошую скорость сходимости и для не- квадратичных функций. При этом он становится не конечным, а итерационным. Как и для градиентных методов, алгоритм нахождения по- следовательности х(к> строится по формуле х<к + 1) = xW - ®-кРк, но направление спуска_Р)г выбирается из условия //-сопряжен- ности* векторов Рк и Рк_1- Таким образом, для минимизации квадратичной функции п переменных необходимо определить п взаимно //-сопряженных направлений Рк. Рассмотрим алгоритм одного из методов сопряженных гради- ентов — метода Флетчера — Ривса, в котором выбор //-сопря- женных направлений осуществляется совместно с одномерной оптимизацией f(x) по а. В точке х<°> вычисляется антиградиент /(х). На_А-м шаге решается задача оптимизации функции /(x(k) + ак Рк) по а, в результате этого определяется шаг ак и точка х(к + Ч Если /'(x<k + Р) = 0, то задача определения минимума функции f(x) ре- шена. В ином случае направление спуска Рп + j из точки х(к + Х) ищется следующим образом: Р _f'(x(* +1)) + (Лх^»)),Г(х^»))) р . * + 1 (Г(х<*)), Г(х(* + D)) * (1.45) Исследование алгоритма Флетчера — Ривса (1.45), как уже отмечалось, позволяет найти минимум квадратичной функции и аргументов не более чем за п шагов. 1.21. Численные методы отыскания условного экстремума Рассмотренные методы относятся к случаю отыскания безуслов- ного экстремума целевой функции /(х), где х = (хр ...» хп). Одна- ко в инженерной практике часто встречаются задачи, в которых *Два вектора х и у называют //-сопряженными по отношению к матрице Н, если (х, Ну) = 0.
66 Глава 1. Численные методы алгебры необходимо найти экстремум целевой функции f(x), причем должны удовлетворяться еще и условия: g;(x) > 0, i=l, (1-46) называемые уравнениями связи. Точка х является ТОЧКОЙ ОТНОСИТЕЛЬНОГО МИНИМУМА функ- ции f(x), если существует е > О такое, что для всех х, удовлетво- ряющих условию ||х - х*|| < Е и уравнениям связи, выполняется неравенство /(х) > f(x*). Исследуем наиболее распространенные методы поиска услов- ного экстремума. | Метод исключения Рассмотрим случай, когда все т ограничений (1.46) представля- ют собой равенства, т. е. g\(x) = О, i = l,..., т. (1.47) Предположим, что якобиан, составленный из частных произ- водных g((x) по первым т переменным, не равен нулю, т. е. dgl дХ] дх2 дхт *0. ® т dgm dgm Эх, Эх2 Эхт Следовательно, система (1.47) разрешима относительно х1г х2, ..., хт, и ее можно представить в виде Xi = 4>SXm+VXm + 2’ 1=1.....т- (к48> Переменные хт + 1, хт + 2, хп принято называть независимыми, а хр х2, ..., хт — зависимыми. Под зависимыми и независимыми переменными в данном разделе понимаются функции, входящие в формулы задачи на условный экстремум. Подставляя выражения для зависимых переменных (1.48) в функцию f(x), получим задачу отыскания безусловного экстре- мума функции (п - т) переменных /<Ф1(Хт + 1> -’^п).Фт(Хт + 1> — XJ’Xm + l’ -’*п) = = кхт+1, ...,хп).
1.21. Численные методы отыскания условного экстремума 67 Хотя метод исключения прост по своей идее, он имеет недо- статок, заключающийся в том, что решение системы (1.47) отно- сительно части компонент найти бывает трудно, а порой и невоз- можно. Поэтому чаще используется другой путь отыскания точ- ки относительного экстремума, не требующий явного выражения зависимых переменных через независимые, — метод множите- лей Лагранжа. | Метод множителей Лагранжа Из курса математического анализа известно, что в точке х* безус- ловного экстремума функции ffx) ее полный дифференциал ра- вен нулю, т. е. * i j =1 oxj k = m + laxk (1-49) где dxy — дифференциалы зависимых, a dx* — дифференциалы независимых переменных, удовлетворяющие соотношениям полученным при дифференцировании уравнений связи. Исключим из уравнений (1.49) и (1.50) дифференциалы зави- симых переменных. Для этого поступим следующим образом: ум- ножим каждое из уравнений (1.50) на произвольные множители Х2, ..., Хт соответственно и сложим с уравнением (1.49). В ре- зультате получим выражение + ••• + Mr2')dx,+ 1dxj 2dXj mdXj J 1 + L f# + +^2Г +-+\п^Н‘Ч = 0. (1.51) дхк 2 Эх* m dxk J k Выберем множители Xp X2, ..., Xm таким образом, чтобы ко- эффициенты при дифференциалах зависимых переменных обра- тились в нуль, т. е. чтобы выполнялось равенство Э/ , > > dg2 ё)х, +^дх} Чх, тйх; = 0, X - X* j = 1, ..., т. (1.52)
68 Глава 1. Численные методы алгебры Предположим, что якобиан функции g^x), состоящий из ча- стных производных по первым т элементам, отличен от нуля: dgi dXt dgl Эх2 ' Эх иЛгт * 0. d8m ?)g_ о m Эх j Эх2 dxm Если это условие выполняется, то уравнения (1.52), являю- щиеся системой линейных алгебраических уравнений относи- тельно коэффициентов Хх, Х2, ..., Хт, имеют единственное реше- ние. В этом случае в уравнении (1.51) останутся члены, содержа- щие дифференциалы только независимых переменных. Следова- тельно, и коэффициенты при дифференциалах зависимых переменных должны быть равны нулю, т. е. должны удовлетво- ряться соотношения М + Х. + Х2^ +...+Х ^2 =0, k = m + 1, .... n. (1.53) дхк 1 дхк 2 Эх* m Эх* Таким образом, получена система, содержащая (п + т) урав- нений (1.47), (1.52), (1.53) относительно (п + т) неизвестных Хх, Х2, ..., Хт, хх, х2, ..., хп. Найденная в результате решения этой системы точка х является точкой экстремума функции Дх) и удовлетворяет уравнениям связи (1.47). Эту точку принято назы- вать УСЛОВНО-СТАЦИОНАРНОЙ ТОЧКОЙ. Для того чтобы опреде- лить, является условно-стационарная точка точкой минимума или точкой максимума, необходимо использовать производные более высокого порядка, чем первый. Перечислим основные этапы метода множителей Лагранжа. • Составляется функция Лагранжа т L(x, X) = Дх) + £ Xj^(x). i - 1 • Приравниваются к нулю ее частные производные по хт и по X: ЭХ Э/ , v 1 п • 1 /1 к/п 5— = + ZjX.^r- = J = 1, •••> п< (1-54) dxj dXj J ^=^(х) = 0, i=l, ..., m. (1.55)
1.22. Линейное программирование 69 • Ищется решение системы (1.54), (1.55) х1» х2, ..., хп, Хр Л2, ..., Хт. • Определяется характер условно-стационарной точки. 1.22. Линейное программирование При оптимизации экономических планов возникают задачи на минимум линейной функции п переменных Z(x) = У. = min (1.56) i -1 при наличии линейных дополнительных условий трех типов х;>0, l<i<n, (1.57) Xajtxi = bj’ (1.58) S anxi <bjt (1.59) 1=1 Каждое из условий типа неравенств (1.57) или (1.59) опреде- ляет полупространство, ограниченное гиперплоскостью; все эти условия вместе определяют выпуклый n-мерный многогранник J, являющийся пересечением соответствующих полупрост- ранств. С математической точки зрения условия (1.57) и (1.59) однотипны, но по традиции их записывают указанным образом. Условия типа равенств (1.58) выделяют из n-мерного пространст- ва (п - т)-мерную плоскость. Ее пересечение с областью J дает выпуклый (п - /п)-мерный многогранник G; задача состоит в том, чтобы найти минимум линейной функции (1.56) в многогранни- ке G. ПРИМЕР. Задача распределения производства однотипной продукции по разным заводам. Пусть х; — выпускаемое i-м заводом количество продукции (оно должно быть неотрицательным), — себестоимость одного изделия на этом заводе, ajt при j > т — расход сырья у-го вида и при 2 < j С т — расход заработной платы и других аналогич- ных показателей у-го вида при выпуске единицы продукции на
70 Глава 1. Численные методы алгебры данном заводе. Положим аи = 1; тогда является суммарным выпуском продукции по всем заводам, а Ь; при 2 < j < т — пол- ной заработной платой и аналогичными данными по всей отрас- ли, суммы (1.59) — расходом сырья по всем заводам, a L — себес- тоимостью общей продукции. Требуется, чтобы себестоимость продукции была минимальной, выпуск продукции, расход зара- ботной платы и т. д. — заданными, а фонды сырья при т < j не перерасходовались. Задача заключается в том, чтобы распреде- лить неотрицательные плановые задания х; по всем заводам так, чтобы удовлетворить всем этим требованиям. Отметим терминологию, установившуюся в экономике. Век- тор х, удовлетворяющий всем дополнительным условиям, назы- вают планом', если он к тому же соответствует вершине много- гранника G, то опорным планом. Решение экстремальной задачи (1.56) называют оптимальным планом, столбцы прямоугольной матрицы А — векторами условий, а столбец b — вектором ограни- чений. В задачах экономики обычно все коэффициенты а, Ь, с не- отрицательны, хотя для последующего изложения это несущест- венно. Многогранник условий G — выпуклый (он может быть и не- ограниченным). Поэтому внутри него линейная функция L(x) не может достигать минимума. Ее минимум (если он существует) достигается обязательно в какой-нибудь вершине многогранни- ка. При вырождении он может достигаться во всех точках ребра или даже р-мерной ограничивающей плоскости (р < п - т). По- этому теоретически задача линейного программирования проста. Достаточно вычислить значения функции в конечном числе точек — в вершине многогранника — и найти среди этих значе- ний наименьшее. Сложность заключается в том, что типичное в экономике число переменных — это сотни и даже тысячи. Предложен ряд способов уменьшения числа искомых вершин, в частности СИМПЛЕКС-МЕТОД.
Глава 2 ПРИБЛИЖЕНИЕ ФУНКЦИЙ. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ И ДИФФЕРЕНЦИРОВАНИЕ Материал этой главы объединяет общий подход к реше- нию задач. Сначала излагается метод интерполяции и строятся интерполяционные многочлены в форме Лагран- жа и Ньютона. Затем рассмотрена сплайн-интерполяция. В качестве примера метода среднеквадратичной аппрок- симации изучается метод наименьших квадратов. Форму- лы численного дифференцирования получены дифферен- цированием интерполяционного многочлена и разложе- нием в ряд Тейлора. Обсуждается точность формул и пути повышения точности численного дифференцирования. Излагаемые затем формулы численного дифференцирова- ния получены на основе многочленной интерполяции. Ис- следованы точность и характер сходимости этих формул, рассмотрена возможность уточнения результата числен- ного интегрирования (метод Рунге—Ромберга). В конце главы даны теоретические основы метода статистических испытаний. 2.1. Постановка задачи об аппроксимации функций Для практических приложений важными являются следую- щие задачи. Первая состоит в замене некоторой функции, задан- ный аналитически или таблично, другой функцией, близкой к ис- ходной, но более простой и удобной для вычислений. Например, за- мена функции многочленом позволяет получать простые форму- лы численного интегрирования и дифференцирования; замена таблицы приближающей функцией позволяет получать значения
72 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование в ее промежуточных точках. Эти примеры можно продолжить и дальше. Возникает также и вторая задача — восстановление функции на некотором отрезке по заданным на этом отрезке значениям функции в дискретном множестве точек. Отметим также, что теория приближения функций является важным вспомогатель- ным аппаратом при численном решении дифференциальных уравнений. В общем случае при постановке задачи приближения необхо- димо действовать по следующему алгоритму. • Определить, какой класс приближенных функций необхо- димо выбрать. Ответ на такой вопрос зависит от вида приближае- мой функции и целей, для которых в дальнейшем будет исполь- зоваться приближающая функция. Широко используются сле- дующие классы функций: многочлены, тригонометрические функции, показательные функции и др. • Выбрать критерий близости исходной и приближающей функций. В качестве критерия можно выбрать, например, точное совпадение приближаемой и приближающей функций в узловых точках (лагранжева интерполяция); минимум суммы квадратов отклонения в узловых точках (метод наименьших квадратов) и др. Как и при выборе класса приближающих функций, выбор критерия близости исходной и приближающей функций опре- деляется целью построения приближающей функции и может существенно повлиять на результаты. При аппроксимации экс- периментальных результатов целесообразно использовать сред- неквадратичное приближение. На рис. 2.1 показаны два варианта приближения функций: кривая I соответствует лагранжевой интер- поляции, а кривая II — сред- неквадратичному приближению. Здесь точками обозначены точные значения функции /(х). По рис. 2.1 видно, что кривая II не проходит через узлы интерполя- ции, а сглаживает расчетные или экспериментальные погрешности. • Необходимо указать правило, позволяющее с заданной сте- пенью точности получить значение функции в промежутках между узлами, в частности, ответить на вопросы, какие узлы ис- пользовать для построения приближающей функции и как их расположить.
2.2. Интерполяция 73 Таким образом, построение приближающей функции суще- ственно зависит от ответа на перечисленные вопросы. 2.2. Интерполяция Пусть на отрезке [а, Ь] задано дискретное множество несовпадаю- щих точек х(, которые будем называть УЗЛАМИ и в которых из- вестны значения функции /( = /(х;), i = 0, ..., п. Потребуем, чтобы приближающая функция ф(х, а) совпадала с приближаемой функцией f(x) в (п + 1) узлах таблицы, т. е. потребуем выполне- ния равенства <р(х;, а0, ..., ап) = f(xt) = Д, г = О, ..., п. (2.1) Этот способ построения приближающей функции, при кото- ром в узлах значения приближаемой и приближающей функций совпадают, называется интерполяцией или ЛАГРАНЖЕВОЙ ИН- ТЕРПОЛЯЦИЕЙ. Наиболее распространен способ линейной интер- поляции, в случае которой приближающая функция ищется в виде линейной комбинации некоторых базисных функций ф;(х): ф(х, а0, ..., а„)= £а;фДх). (2.2) 1-0 Система функций ф;(х) должна быть линейно независимой, так как в противном случае число членов в сумме можно было бы уменьшить и, кроме того, Ф0(х0) фх(х0) ... ф„(х0) Ф0(хх) фх(хх) ... фл(хх) <Ро(*п) Ф1(*п) - <РП(*П) Подставляя функцию (2.2) в равенство (2.1), получаем систе- му линейных уравнений для определения коэффициентов at: k = 0,...,n. i-i В качестве базисных функций можно выбрать любую линей- но независимую систему функций, но чаще всего выбираются степенные функции 1, х, х2, ..., х". Это объясняется тем, что мно- гочлены легко вычисляются и теория интерполяции многочлена-
74 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование ми хорошо разработана. В случае приближения многочленами приближающую функцию ищем в виде многочлена степени п: Р„(х)=2а/, (2-3) 1-0 где нижний индекс п указывает на степень интерполяционного многочлена. Подставляя в функцию (2.3) значения узлов и ис- пользуя условие Pn(x;) = получаем систему линейных алгеб- раических уравнений относительно коэффициентов at: ^aixi = fk, k = O,...,n. (2.4) i-o Определитель системы (2.4) является в случае несовпадения узлов интерполяции отличным от нуля определителем Вандер- монда: 1 Y х" х ... ЛО 1 Y Г2 1 хх хх ... Xi = Ц (х -х,)*0. ............. i>i>0 1 х„ ... х" п п п Таким образом, решение системы (2.4) существует и един- ственно. А это значит, что с точностью до формы записи сущест- вует единственный интерполяционный многочлен Рп(х). 2.3. Интерполяционный многочлен в форме Лагранжа Будем искать интерполяционный многочлен в виде Ь„(х)= 2/^;(х). 4 = 0 (2.5) ВАНДЕРМОНД АЛЕКСАНДР ТЕОФИЛЬ (Vandermonde Alexandre Theophill; 1735—1796)— французский матема- тик, чьи основные работы относятся к алгебре. В. заложил основы и дал логическое изложение теории детерминантов (определитель Вандермонда), а также выделил ее из теории линейных уравнений. Он ввел правило разложения детер- минантов с помощью миноров второго порядка.
2.3. Интерполяционный многочлен в форме Лагранжа 75 Здесь /;(х) — многочлены степени п, так называемые ЛАГРАНЖЕ- ВЫ МНОГОЧЛЕНЫ ВЛИЯНИЯ, удовлетворяющие условию 1 О при i = j, при i * j. Последнее условие означает, что любой многочлен lt(x) равен ну- лю при каждом xjt кроме xt, т. е. х0, хр .... х(_ р xt + р ..., хп — корни этого многочлена. Следовательно, лагранжевы многочле- ны Л(х) имеют вид /;(х) = СДх - х0)(х - Xj)...(x - xt_ j)(x - xi+1)...(x - xn). Так как по условию /Дх() = 1, то С =------------------------i----------------------. ' (Xi - х0)(хг - Х!)...(Хг - - Xj+i)---(Xi - х„) Таким образом, лагранжевы многочлены влияния запишутся в виде п j = 0, j* (X - Xj) (X) - Xj) ’ а интерполяционный многочлен (2.5) запишется в виде (2.6) ЛАГРАНЖ ЖОЗЕФ ЛУИ (Lagrange Joseph Louis; 1736— 1813) — выдающийся французский математик и механик, наиболее важные труды которого относятся к вариационно- му исчислению, к аналитической и теоретической механи- ке. В основу статики Л. положил принцип возможных (вир- туальных) перемещений. Он ввел обобщенные координаты и придал уравнениям движения механической системы форму, названную его именем. Л. получил ряд важных ре- зультатов в области анализа (формула остаточного члена ряда Тейлора, формула конечных приращений, теория ус- ловных экстремумов); в теории чисел (теорема Лагранжа); в алгебре (теория непрерывных дробей, приведение квадра- тичной формы к сумме квадратов); в теории дифференци- альных уравнений (отыскание частного решения, изучение обыкновенного дифференциального уравнения первого по- рядка, линейного относительно искомой функции и незави- симой переменной, с переменными коэффициентами, зави- сящими от производной от искомой функции); в теории ин- терполирования (интерполяционная формула Лагранжа).
76 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Интерполяционный многочлен в форме (2.6) называется ИН- ТЕРПОЛЯЦИОННЫМ МНОГОЧЛЕНОМ ЛАГРАНЖА. Перечислим основные достоинства этой формы записи интерполяционного многочлена. • Число арифметических операций, необходимых для по- строения многочлена Лагранжа, пропорционально п2 и является наименьшим для всех форм записи. • Формула (2.6) в явном виде содержит значения функций в узлах интерполяции, что бывает удобно при некоторых вычис- лениях, в частности, при построении формул численного интег- рирования. • Формула (2.6) применима как для равноотстоящих, так и для неравноотстоящих узлов. • Интерполяционный многочлен Лагранжа особенно удобен, когда значения функций меняются, а узлы интерполяции неиз- менны, что имеет место во многих экспериментальных исследо- ваниях. К недостаткам этой формы записи можно отнести то, что с изменением числа узлов приходится все вычисления проводить заново. Это затрудняет проведение апостериорных оценок точ- ности (оценок, получающихся в процессе расчета). В ведем функцию + j = (х - х0)(х - Xj)... (х - хл) = П (х - х(). 1 = 0 Отметим, что ®n + t(x) есть многочлен степени п + 1. Тогда форму- лу (2.6) можно записать в виде (2.7) l-o >.х Хршп + llxJ Приведем формулы линейной и квадратичной интерполяции по Лагранжу: i .w пгНг) + <2'8) L (x)^f (* ~ *1)(* ~ *г) + f (* ~ Хо)(х ~ *г) + 2 °(хо - Х1)(Х0 - Х2) 1(х1 - Х0)(Х! - Х2) Многочлен Лагранжа является в формуле (2.8) многочленом 1-й и в формуле (2.9) — многочленом 2-й степени.
2.4. Интерполяционный многочлен в форме Ньютона 77 Эти формулы наиболее часто используются на практике. Пусть задан (n + 1) узел интерполяции. На этих узлах можно по- строить один интерполяционный многочлен n-й степени, (п - 1) многочлен первой степени и большой набор многочленов степени меньше п, опирающихся на некоторые из этих узлов. Теоретиче- ски максимальную точность обеспечивает многочлен более высо- кой степени. Однако на практике наиболее часто используют многочлены невысоких степеней во избежание погрешностей при расчетах коэффициентов при больших степенях многочлена. 2.4. Интерполяционный многочлен в форме Ньютона Интерполяционный многочлен в форме Ньютона представляет собой иную форму записи интерполяционного многочлена. Она имеет ряд достоинств по сравнению с многочленом Лагранжа. Для вывода введем понятие РАЗДЕЛЕННОЙ РАЗНОСТИ. Разделенные разности нулевого порядка совпадают со значе- ниями функции в узлах. Разделенные разности первого порядка f(xit х) определяются через разделенные разности нулевого по- рядка: ,, , ft - fj f{xt, х,) =--; 1 ! Xj~ Xj разделенные разности второго порядка определяются через раз- деленные разности первого порядка: Разделенная разность порядка п определяется соотноше- ниями Дхр х., хк, ...,хп^1,хп) = = f(Xi’ х>’ Х/” -1) ~ КХР ХК’ •••’ *п) (2.10) Таким образом, для (п + 1)-й точки могут быть построены разделенные разности до n-го порядка; разделенные разности бо- лее высоких порядков равны нулю. Из вида разделенных разнос-
78 Глава 2. Приближение функций. Численное интегрирование и дифференцирование тей можно сделать заключение, что они являются аналогом про- изводных соответствующих порядков. Между разделенными разностями и производными соответ- ствующих порядков существует соотношение Лп>(х) = п!/(х0, хр ..., хп). Очевидно, что разделенная разность (п + 1)-го порядка от много- члена п-й степени равна нулю. Часто для таблиц с постоянным шагом h вводят КОНЕЧНЫЕ РАЗНОСТИ Д"/, связанные с разделенными соотношением Дп/ = A"n!/’(x0, Хр ..., хп). Приведем вывод формулы интерполяционного многочлена Ньютона. Пусть аппроксимируемая функция f(x) — многочлен п-й степени. Выберем точки х0, хр ..., хп в качестве узлов и най- дем такой интерполяционный многочлен, значения которого в узлах интерполяции совпадают со значениями функции f(x). Запишем, выбирая в качестве узла точку с координатой х, очевидные соотношения /(х) = /(х0) + (х-х0)/(х, х0). (2.11) Имеем также /(х, х0) = Дх0, хх) + (х - Х|)/(х, х0, хх). (2.12) Подставляя соотношение (2.12) в (2.11), получаем /(X) = f(xQ) + (X - Хо) f (Хо, Xj) + (х - х0)(х - хх) f(x, х0, хх). По определению разделенной разности (2.10) имеем f(x, х0, хх) = f(x0, xv х2) + (х - х2)/(х, х0, хх, х2). (2.13) Подставляя соотношение (2.13) в выражение (2.12), получаем /(Х) = /(Хо) + (X - ХО)/(ХО, Х|) + (X - ХО)(Х - XjftXQ, xv х2) + + (х - х0)(х - хх)(х - х2) f(x, х0, хх, х2). Продолжая этот процесс, в итоге приходим для интерполя- ционной функции к многочлену Рп(х) в виде Рп(х) = /(х0) + (х - х0)/(х0, хх) + (х - х0)(х - х1)/’(х0, xv х2) + + ... +(х - х0)(х - хх)...(х - х„) f(x0, Хр .... хп). (2.14)
2.4. Интерполяционный многочлен в форме Ньютона 79 Следующий член в этом ряду будет равен нулю, поскольку он должен содержать произведение функции соп + х(х) на разделен- ную разность (п + 1)-го порядка Дх0, xv хп). Так как соп + t(x) — многочлен степени п + 1, а исходный мно- гочлен имеет степень п, то разделенная разность (п + 1)-го поряд- ка должна быть равна нулю. В силу условия единственности ин- терполяционного многочлена Рп(х) существует интерполяцион- ный многочлен n-й степени с узлами х0, хр хп. Запись многочлена в формуле (2.14) является так называе- мым ИНТЕРПОЛЯЦИОННЫМ МНОГОЧЛЕНОМ НЬЮТОНА. Если функция Дх) не является многочленом n-й степени, то для Рп(х) имеет место формула (2.14), однако она приближает функцию Дх) не точно, а с некоторой погрешностью. Отметим, что при добавлении новых узлов первые члены многочлена Ньютона остаются неизменными, что видно из сравнения формул (2.11)—(2.14). Если функция задана в точках х0, хр ..., хп, то при постро- ении интерполяционного многочлена Ньютона удобно пользо- ваться таблицей, называемой таблицей разделенных разностей. Последовательность получения разделенных разностей для числа п = 3 приведена в таблице 2.1. Таблица 2.1 Ф w oj ео н н н н ЛХо) д*1) д*2) f(x3) X|) Д*р x2) f(X2, X3) f(x0, xv x2) x2> ^3) /(x0, Xp X2j X3) За точностью расчета удобно следить по убыванию вели- чин членов суммы (2.14). Если величина членов убывает быстро, то оставляют только те из них, которые больше допустимой погрешности. Для повышения точности интерполяции в сумму могут быть добавлены новые члены, что требует подключения дополнительных узлов. При этом безразлично, в каком поряд- ке подключаются новые узлы. Этим формула Ньютона выгодно отличается от формулы Лагранжа, при добавлении в которую новых узлов все расчеты надо производить заново. Интерполя- ционный многочлен Ньютона удобен при построении формул численного дифференцирования, что очевидно из его структу- ры. Кроме того, он удобен для проведения апостериорных оценок.
80 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Приведем формулы линейной и квадратичной интерполяции в соответствии с многочленом Ньютона. Имеем: Р1(х) = /0 + (х-х0)^^; (2.15) Л0 Л-1 = f0 + ~ Х0> г ~ X + Хо Xj fp ~ Л _ Л ~ Д + (х-х0)(х-х1)Х-°~^-^-^. (2.16) Хо *2 Нетрудно убедиться, что эти формулы будут совпадать с соот- ветствующими формулами для интерполяционного многочлена Лагранжа после простых преобразований. Очевидно, что это ут- верждение есть следствие условия единственности интерполяци- онного многочлена. 2.5. Погрешность и сходимость интерполяции Построив для функции Дх) интерполяционный многочлен Рп(х) или Ln(x), необходимо выяснить, насколько близко интерполя- ционный многочлен приближается к функции в других точках отрезка. Ошибку интерполяции можно представить в виде Яп(х) = Е„(Х) = Дх) - Р„(Х) = со„ + х(х) г(х), (2.17) так как ошибка интерполяции обращается в нуль в узлах сетки. Выражение для г(х) найдем из следующих соображений. Введем функцию 9(х) = Дх) - Рп(х) - со„ + Дх) г(х*), где х* — произвольная точка. Очевидно, что q(x) = 0 в (п + 2)-х точках, в которых х = х; для i = 0, ..., п, и при х = х*. Если Дх) имеет (п + 1)-ю непрерывную производную, то и q(x) можно про- дифференцировать (n + 1) раз. А так как между двумя нулями гладкой функции лежит нуль ее производной, то q'(x) обращает- ся в нуль на всем интервале по крайней мере (n + 1) раз. Последо- вательно применяя это правило дальше, получаем, что между крайними нулями функции </п)(х) лежит, согласно теореме Рол- ля, по крайней мере один нуль функции + 1)(х), т. е. сущест-
2.5. Погрешность и сходимость интерполяции 81 вует такая точка принадлежащая отрезку интерполирования, в которой выполняется равенство g(n +1)(£) = _ (Л + 1)! г(х*) = о. Следовательно, r(x*) = f^n + х>(^)/(п + 1)!. Так как х* — произ- вольная точка, то погрешность интерполяции запишется в виде *„(*) = М*) = - Рпю = + , (2.18) т. е. можно сказать, что существует точка для которой выпол- нено равенство (2.18). Так как точка неизвестна, то обычно ис- пользуют мажорантную оценку. Заменяя величины, входящие в (2.18), их максимальными значениями, получаем при Мп + т = = max |/,(n + 1)(^)|, £ е [х0, хп] величину максимальной погрешнос- ти |en(x)| = |/(r)-P„(x)|< К + 1(х)|. (2.19) Формула (2.19) дает возможность провести априорную оцен- ку точности, т. е. для случая аналитически заданной функции /(х) провести оценку до начала вычислений. Однако так как ве- личину производных интерполированной функции бывает оце- нить достаточно сложно (например, для таблично заданной функ- ции), то априорной оценкой пользуются редко. Удобнее приме- нять апостериорную оценку по первому отброшенному члену ин- терполяционного многочлена Нью- тона. Это удобство является следст- вием того обстоятельства, что в процессе построения многочлена Ньютона вычисляются разделен- ные разности, являющиеся, как отмечалось, аналогами производ- ных соответствующих порядков. На рис. 2.2 представлена функ- ция со(л + ij(x) для равноотстоящих узлов. По рис. 2.2 на примере ин- Рис. 2.2 О)6(Х) РОЛЛЬ МИШЕЛЬ (Rolle Michel; 1652—1719)— француз- ский математик, автор исследований, относящихся к реше- нию в целых числах неопределенных линейных уравнений с двумя неизвестными. Им выведена теорема Ролля, послу- жившая основой метода отделения действительных корней алгебраических уравнений.
82 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование терполяционного многочлена пятой степени видно, что между центральными узлами , интерполяции х2 и х3 имеет место наименьший экстремум функции со6(х). К крайним узлам экстре- мумы возрастают. Приближение, при котором точка, в которой ищется значе- ние приближающей функции, находится за пределами отрезка интерполяций, называется ЭКСТРАПОЛЯЦИЕЙ. При экстраполя- ции в точках, далеко отстоящих от концов отрезка интерполя- ции, ошибка приближения может стать значительной. Ошибка интерполяции в центральном интервале при постоянном шаге таблицы определяется выражением <2-20> Поэтому первым способом уменьшения ошибки при постоянном шаге таблицы является выбор точки х вблизи середины отрезка интерполирования. Из выражения (2.20) видно, что если интерполяционный многочлен имеет порядок п, то ошибка интерполяции будет убы- вать как hn + 1 при переходе от таблиц с более крупным шагом к таблицам с более мелким шагом. Следовательно, если производ- ная, входящая в оценку погрешности, ограничена, то для фикси- рованной степени многочлена и изменения шага сетки погреш- ность |/(х) - Р„(х)| неограниченно убывает. При этом многочлен равномерно сходится к /(х) на ограниченном отрезке. Если значе- ние производной оценивается легко, то из (2.20) легко оценить число узлов, обеспечивающих заданную точность интерполяции. Другой способ уменьшения ошибки интерполяции заключа- ется в увеличении числа узлов, т. е. степени интерполяции, при постоянном шаге сетки. При этом знаменатель в выражении (2.19) возрастает. Этот способ не всегда приводит к уменьшению ошибки за счет роста числа (n + 1)!, так как функция /(х) может не иметь (и + 1)-й производной. Кроме того, максимум этой функции может возрастать очень быстро. Трудности, возникающие при многочленной интерполяции, хорошо иллюстрируются примером Рунге: интерполяция на от- резке [-1, 1] функции /(х) = 1/(1 + 25х2) при равномерном рас- пределении узлов (рис. 2.3). С увеличением порядка п интерпо- РУНГЕ КАРЛ ДАВИД ТОЛЬМЕ (Runge Carle David Tolme; 1856—1927) — немецкий математик и физик, основными направлениями исследований которого являлись приклад- ная математика и спектроскопия. Р. существенно развил численные методы решения дифференциальных уравне- ний (метод Рунге — Кутты).
2.5. Погрешность и сходимость интерполяции 83 ляционного многочлена возрастают колебательные свойства мно- гочлена, и это приводит к тому, что интерполяционный много- член при 0,726 С х < 1 расходится. Задача об оптимальном распределении узлов на отрезке ин- терполирования, приводящем к минимизации ошибки интерпо- лирования, решена П. Л. Чебышёвым. Им показано, что если уз- лы интерполяции не распределены равномерно, а совпадают с корнями так называемых чебышевских полиномов степени п + 1, то ошибка многочленной интерполяции минимальна. При таком выборе узлов интерполяции проблема расходимости многочлена для процедуры Рунге исчезает. Если интерполяция производится на интервале (а, б), то узлы интерполяционного многочлена сле- дует расположить в нулях многочлена Чебышёва, т. е. х. I b + а . Ь - а ~2~ + —2<- Здесь Г 71 71 2. = cos Х7-------+ 1--------7 1 L 2(П + 1) п + 1 i = 0, п. ЧЕБЫШЁВ ПАФНУТИЙ ЛЬВОВИЧ (1821—1894) — рус- ский математик и механик, труды которого относятся к ма- тематическому анализу, теории чисел, теории вероятнос- тей. В теории вероятностей основная заслуга Ч. состоит во введении в рассмотрение случайных величин, в доказатель- стве общей формы закона больших чисел и исследовании условий сходимости функций распределения сумм незави- симых слагаемых к нормальному закону. В области мате- матического анализа ему принадлежат исследования по тео- рии интегрирования, теории интерполяции. Многие откры- тия Ч. навеяны прикладными задачами.
84 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование На практике для повышения точности интерполяционного многочлена, как правило, уменьшают шаг таблицы, оставляя не- изменной степень интерполирующего многочлена. Для того что- бы уменьшить влияние колебательных свойств интерполяцион- ного многочлена, используют линейную или квадратичную ин- терполяцию. 2.6. Интерполяция сплайнами Использование одной интерполяционной формулы на большом числе узлов, как отмечалось в предыдущем разделе, нецелесооб- разно. Такой интерполяционный многочлен существенно прояв- ляет свои колебательные свойства, и его значения между узлами могут значительно отличаться от значений интерполируемой функции. Одна из возможностей преодоления этого недостатка заключается в применении СПЛАЙН-ИНТЕРПОЛЯЦИИ. Суть сплайн-интерполяции заключается в определении интерполи- рующей функции по формулам одного типа для различных под- множеств и в стыковке значений функции и ее производных на границах подмножеств. Наиболее изученным и широко применяемым является вари- ант, в котором между любыми двумя точками строится много- член n-й степени S(r)= ^aikxk, xi^1<x<xi, k-0 который в узлах интерполяции принимает значения интерполи- руемой функции и непрерывен вместе со своими (п - 1)-й произ- водными. Такой кусочно-непрерывный интерполяционный мно- гочлен называется СПЛАЙНОМ. Его коэффициенты находятся из следующих условий в узлах сетки: должны быть равны значе- ния сплайна и приближаемой функции, а также п - 1 производ- ные соответствующих многочленов, при этом подразумеваются производные, взятые на соседних интервалах. Максимальная по всем частичным отрезкам степень много- членов называется степенью сплайна, а разница между степенью сплайна и порядком наивысшей непрерывной производной — дефектом сплайна*. * Эту величину принято обозначать через def — от defect (англ.).
2.6. Интерполяция сплайнами 85 Одним из. наиболее распространенных интерполяционных сплайнов является кубический (def =1). Для вывода уравнения кубического интерполяционного сплайна воспользуемся его ин- терпретацией как гибкой линейки, изогнутой таким образом, что она проходит через значения функции в узлах сетки, т. е. являет- ся упругим бруском в состоянии свободного равновесия. Так как это его состояние описывается уравнением SIV(x) = 0, где SIV(x) — четвертая производная, то между каждой парой соседних узлов интерполяционная формула записывается в виде многочлена третьей степени. Этот многочлен удобно представить как S(x) = at + bt(x ~ xi_1) + сДх - х(._ J2 + d,(x - x; _ x)3, (2.21) xi_1<x<xi, 4=1,2, ..., n. Для построения кубического сплайна необходимо построить п многочленов третьей степени, т. е. определить 4п неизвестных at, bt, cit dr Эти коэффициенты ищутся из условий в узлах сетки. По определению в узлах сетки сплайн (2.21) должен принимать табличные значения функции (здесь ht = хг - х; _ х): S(xi_i) = ai = fi^1, S(x;) = + bt + ct h2 + dt h3 = ft. (2.22) (2.23) Система (2.22), (2.23) содержит 2n уравнений. Дополнительные уравнения можно получить, если потребовать непрерывности первой и второй Производных функции S(x) во внутренних узлах сетки при х(_х < х < xf (i = 1, ..., п - 1): S'(x) = + 2с; (х - х. _ х) + 3dt (х- xt_ х)2, S"(x) = 2cz + Gdi (x - xt_ x). Получим еще 2(n - 1) уравнений: bi + 1^bi + 2cihi + 3dih2i, Ci + 1 = Ci + (2.24) (2.25) Недостающие два уравнения можно получить из граничных ус- ловий, предполагая нулевую кривизну сплайна на концах отрез- ка. Приравнивая значения второй производной в точках х0 и хп к нулю, получим два недостающих уравнения: S"(xo) = Ci = O, S"(xn) = cn + 3dnhn = 0. (2.26) (2.27)
86 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Заметим, что граничные условия (2.26)—(2.27) дают погреш- ность О(Л2) вблизи границы. Поэтому вместо них можно рекомен- довать условие непрерывности S '"(г) в двух внутренних (пригра- ничных) узлах. Если существуют другие условия поведения функции в точках х0 и хп, то уравнения (2.26), (2.27) будут дру- гими. Таким образом, система (2.22)—(2.27) для отыскания 4п неизвестных at, bit ct, di (i = 1, 2.n) замкнута. Ее удобно ре- шать, проведя предварительно следующие преобразования. Ко- эффициент at сразу получается из решения уравнения (2.22). Из уравнений (2.25) и (2.27) следует: с(4 = (с; + 1-с.)/Зйр i = l,2, ..., п, (2.28) dn = -c„/3An. (2.28а) Подставляя выражения (2.28), (2.28а) в выражение (2.23) и заме- няя в нем at на р получаем = [(ff - Л - !)/Л4 3 - | М«Ч + х + 2с(), (2.29) f’n = [(fn~fn-1)/hn]-lhncn. (2.29а) Из уравнений (2.24), (2.25) имеем bi + i = bi + hi(ci+.ci + J bi = bi-l + hi^(ci-i + ci')- (2.296) Полагая в выражении (2.29) значение i = п и сравнивая с выра- жением (2.29а), получаем с„ . , =0. П Т 1 Подставляя теперь выражения (2.29), (2.29а) в (2.296), приходим к системе уравнений относительно с;: С1 = 0, (2.30) hl-ici-i + 2(hl-1 + hi)cl + hlcl + 1^ = 3[(/i-/i_1)/Ai-(/i_1-/i_2)/Ai_l], i = 2,...,n, (2.30а) сп = 0. (2.306) Матрица системы (2.30)—(2.306) — трехдиагональная, реше- ние находится методом прогонки. Решив ее, находим затем коэф- фициенты из уравнений (2.29), (2.29а) и di — из уравнений (2.28), (2.28а).
2.7. Приближение методом наименьших квадратов 87 Метод сплайн-интерполяции приводит к удовлетворитель- ным результатам в процессе интерполяции непрерывных функ- ций с гладкими первой и второй производными. При этом ку- бический интерполяционный сплайн, построенный по узлам f. = f(xt) (i = 0, ..., п), будет обладать минимальной кривизной по сравнению с кривизной любой интерполяционной функции, имеющей непрерывные первую и вторую производные. Сплайн- интерполяция функций с резким изменением производных сплайна может давать большие ошибки. Сплайны более высокого порядка, чем третий, используются редко, так как при вычисле- нии большого числа коэффициентов может накапливаться ошиб- ка, приводящая к значительным отклонениям. Рассмотрим сплайн второго порядка. Для него S(x) = ai + bi(x-xl_1) + ct (x-xt_ 1)2, xi_1<x<xi, i = l,2,...,n. Очевидно, что при = xL - xt _ г S(x;_1) = ai = ri_1, (2.31) 8(х;) = а. + bihi + cih2i = fi. Условие совпадения первой производной S'(x) = + 2с;(х — х;_ j) в узлах дает [ fa при i = О, при/ = 1,2.....................<2'32» Аналогично замечанию к уравнениям (2.26), (2.27) следует рекомендовать вместо условия (2.32) условие непрерывности 8"(х) в одном узле. Если принять, что в начальной точке заданы f0 и f'o, т. е. аг и бр то для определения коэффициентов at, bt, ct на каждом участке нужно решать систему линейных уравнений третьего порядка (2.31), (2.32). Линейный сплайн или сплайн первого порядка представляет собой ломаную линию, состоящую из отрезков прямых, соединяющих узлы. 2.7. Приближение методом наименьших квадратов До сих пор рассматривалась интерполяция, т. е. такой способ приближения, когда значения приближаемой и приближающей функций совпадают в узлах некоторой сетки. Однако достаточно
88 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование часто, например, при аппроксимации большого числа экспери- ментальных точек, найденных с некоторой погрешностью, ин- терполяция становится неразумной. В этом случае целесообразно строить приближающую функцию таким образом, чтобы сгла- дить влияние погрешности измерения и числа точек эксперимен- та. Такое сглаживание реализуется при построении приближаю- щей функции по методу наименьших квадратов. Вид прибли- жающей функции может быть произвольным, далее рассмотрен случай, когда приближающая функция является многочленом. При этом добиваются минимизации суммы квадратов отклоне- ний значений приближаемой и приближающей функций в узлах сетки. Эта сумма называется КВАДРАТИЧНЫМ ОТКЛОНЕНИЕМ. Пусть функция при j = 0, 1, ..., N задана таблично в узлах х . Необходимо построить такой многочлен Fn(x) = У atxl, для которого минимально квадратичное отклонение Ф= (2.33) / = 0 Очевидно, что минимума Ф можно добиться только за счет изменения коэффициента многочлена Fn(x). Необходимые усло- вия экстремума имеют вид ЭФ = - ^ak 7 = 0 -2S Zv'r'l х‘~0- 7 = 0(_1-0 J k = 0, 1, ..., п. (2.34) k = 0, 1, ..., п. (2.35) Эту систему для удобства преобразуют к виду п N , N 1-0 7-0 7 = 0 Система (2.35) называется НОРМАЛЬНОЙ СИСТЕМОЙ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ и представляет собой систему линей- ных алгебраических уравнений относительно коэффициентов аг Решив систему, построим многочлен Fn(x), приближающий функцию f(x) и минимизирующий квадратичное отклонение. Рассмотрим одно важное свойство системы (2.35). Предполо- жим, что точки равномерно распределены на отрезке [0, 1], т. е. х. ~ i/N, j = 0, 1, ..., N. В этом случае сумму У х* +1 можно при- 7 = 0 ближенно заменить интегралом
2.7. Приближение методом наименьших квадратов 89 Тогда определитель А системы (2.35) составляет A = Ar" + 1detH п +• 1 ’ где Нп + х — матрица Гильберта порядка п + 1, элементы которой имеют вид [1/(/? + i + 1)]. Определитель этой матрицы det Нр = [1!2!...(р - 1)!]3 р\(р + 1)!...(2р - 1)! и весьма быстро убывает с ростом р, что приводит к быстрому убыванию величины определителя системы А. Так det Н2 = 10“2 для р = 2 и det Н3 = 10 5 для р = 3. В первом случае п = 1, во вто- ром п = 2. Следовательно, система (2.35) с увеличением степени п при- ближающего многочлена становится плохо обусловленной и ре- шение ее связано с большой потерей точности. Поэтому в методе наименьших квадратов, как правило, используют приближаю- щий многочлен не выше третьей степени. При необходимости по- строения многочленов большей степени применяют приемы, по- зволяющие повысить обусловленность системы (2.35); обычно таких приемов два. В первом используют систему точек, позво- ляющую разбить систему (2.35) на две подсистемы меньшего по- рядка, во втором — систему ортогональных многочленов. Как отмечалось, метод наименьших квадратов широко при- меняется для сглаживания экспериментальных кривых, полу- ченных с некоторой погрешностью. Если степень аппроксими- рующего многочлена равна числу точек, то среднеквадратичный многочлен совпадает с интерполяционным. Поэтому хорошее сглаживание будет при п N. Но если п очень мало, то для опи- сания сложной кривой коэффициентов может не хватить. Чтобы выбрать оптимальную степень многочлена, строят многочлен по методу наименьших квадратов некоторой степени п, вычисляют ГИЛЬБЕРТ, ХИЛЬБЕРТ ДАВИД (Hilbert David; 1862— 1943) — немецкий математик. Его основные труды посвя- щены теории инвариантов, теории алгебраических чисел, основаниям геометрии и др. Построенная им теория интег- ральных уравнений с симметричным ядром легла в основу современного функционального анализа. Данное Г. реше- ние проблемы Дирихле положило начало разработке пря- мых методов в вариационном исчислении. Исследования, посвященные логическим основам математики, в большой мере идут по путям, намеченным Г., с использованием со- зданных им концепций.
90 Глава 2. Приближение функций. Численное интегрирование и дифференцирование квадратичное отклонение Ф и сравнивают его с известной вели- чиной погрешности е. Если Ф е, т. е. математическая ошибка существенно пре- вышает ошибку экспериментальных данных, то степень прибли- жающего многочлена недостаточна для описания кривой. Если же Ф Е, то старшие коэффициенты аппроксимации физически недостоверны. Хорошее сглаживание получается в том случае, когда Ф = е. В этом случае степень приближающего многочлена оптимальна. Обычно начинают построение приближающего мно- гочлена для случая п = 1 и увеличивают его степень до тех пор, пока отклонение Ф не станет примерно равным е. Если при этом п <33 N, то приближающий многочлен выбран верно. Если это условие не соблюдается, то следует поискать более удачный вид приближающей функции. Можно показать методами теории вероятностей, что функ- ция Fn(x), найденная по формулам (2.34), (2.35), с наибольшим правдоподобием совпадает с оценкой математического ожидания для заданной выборки (/0, fv ..., fn), т. е. метод наименьших квадратов обладает сглаживающими свойствами. 2.8. Постановка задачи численного дифференцирования Задача численного дифференцирования возникает при нахожде- нии производных от функции у = f(x), заданной таблично, либо при нахождении производной от аналитической функции, непо- средственное дифференцирование которой по каким-либо причи- нам затруднено. Важное приложение численного дифференциро- вания — разностная аппроксимация производных, которая ши- роко используется при численном решении обыкновенных диф- ференциальных уравнений и дифференциальных уравнений в частных производных. Общий подход к задаче численного дифференцирования состоит в замене функции у = f(x) некоторой приближающей, легко вы- числяемой функцией ф(х, а), у = ф (х, а) + Я(х), где Я(х) — оста- точный член приближения. Полагают, что у'(х) = ф'(х, а) + + R'(x), a R'(x) = у'(х) - (?'(х, а) — погрешность вычисления про- изводной.
2.9. Дифференцирование интерполяционного многочлена Ньютона 91 Наиболее исследованным и широко распространенным явля- ется случай, когда в качестве приближающей функции ф(х, а) берется интерполяционный многочлен. При этом производные соответствующих порядков легко определяются дифференциро- ванием многочлена, а погрешность дифференцирования — диф- ференцированием остаточного члена или погрешности интерпо- ляции, которая, согласно формуле (2.18), равна RnM = Е„(х) = + i(x). 2.9. Дифференцирование интерполяционного многочлена Ньютона Для вывода формул численного дифференцирования удобно пользоваться интерполяционным многочленом в форме Ньютона, так как он содержит разделенные разности, являющиеся анало- гом производных соответствующих порядков. Очевидно, что минимальное число узлов для получения fe-й производной равно (/? + 1), так как дальнейшее дифференцирование многочлена при- водит к производной, равной нулю. Представим функцию /(х) в виде Дх) = Р„(х) + Д„(х). (2.36) Тогда Г(Х) = р;(х) + R'n(x), Г(х) = Р"(х) + К'М- (2.37) /«(x) = P(nfe)(x) + ^)(x). Для равноотстоящих узлов с шагом h имеем: R(k\x) = O(hn + X~k). Таким образом, точность расчета производной при заданной степени интерполяционного многочлена уменьшается с увеличе- нием номера производной. При решении практических задач, в том числе при численном решении обыкновенных дифференци-
92 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование альных уравнений и уравнений в частных производных, прихо- дится использовать аппроксимации первых и вторых производ- ных. Значительно реже приходится аппроксимировать производ- ные более высоких порядков. В связи с этим проведено вычисление первой и второй произ- водной с использованием интерполяционных многочленов Нью- тона первой и второй степени. | Первая производная Из формул (2.15) и (2.16) с использованием выражений (2.18), (2.36) и (2.37) получаем, дифференцируя по х, f'(x) = Pj(x) + л;(х) = + [2х - (ХО + xj] ® , (2.38) Л(х) = Р'(х) + Л'(х)=^-^ + /р ~ Л _ Л - ^2 Хп XI X1 Хо + [2х - (х0 + xj]--——------- + [(х - х0)(х - xj + Л0 л-2 + (х - Х|)(х - х2) + (х - х0)(х - х2)] . (2.39) Формулы (2.38) и (2.39) дают значения первой производной в случае неравноотстоящих узлов, при этом формула (2.38) получена дифференцированием интерполяционного многочлена первой сте- пени, а (2.39) — многочлена второй степени с учетом формул для погрешностей интерполяции. Рассмотрим более подробно эти фор- мулы. Очевидно, что при таблично заданных функциях с исполь- зованием интерполяционных многочленов производные вычисляют- ся как производные от интерполяционных многочленов соответ- ствующих порядков. Приближенное значение первой производной по формуле (2.38), полученное дифференцированием Р{(х), равно Их) = Pj(x) = = const. (2.40) Xq Х1 При вычислении по формуле (2.40) производной макси- мальная ошибка, имеющая место в крайних точках интервала (х0, Xj), согласно (2.38), пропорциональна первой степени шага h = (х0 - Xj). В средней точке xt = (х0 + х1)/2, производная по- грешности B^Xj) = 0, и значение производной вычисляется с бо-
2.9. Дифференцирование интерполяционного многочлена Ньютона 93 Рис. 2.4 лее высокой точностью, чем в крайних узлах. Естественно, дело не в том, что в точке хг получается точное значение производной, а в том, что выражение для производной погрешности -R'(x) яв- ляется приближенным. Погрешности в точках х0 и хх Л!(х0) = -(хх - Хо) f-& , л;(хх) = (хх - х0) равны по величине и противоположны по знаку. Геометрическое представление формул (2.38), (2.39) и ап- проксимация производной показаны на рис. 2.4, а. Видно, что в точке х0 угол наклона касательной к графику функции /(х) боль- ше, а в точке хх меньше, чем угол наклона прямой Рх(х). В неко- торой точке х* точное значение производной и производная Рх(х) совпадают, и эта точка близка к точке (х0 + хх)/2. При использовании интерполяционного многочлена второй степени имеем /о ~ Л _ fi ~ Л Г(х) = + [2х - (х0 + xj] Х°-~ -*1 _ ~ Х-2. (2.41) Хо Xj Xq Х2 Согласно выражению (2.41) производная /'(х) не является ве- личиной постоянной на отрезке [х0, х2]. Из формул (2.41) и (2.39) следует, что в этом случае при почти равноотстоящих узлах мак- симальная ошибка в вычислении производной имеет место в крайних точках, а минимальная — в средней, при этом ошибка пропорциональна произведению двучлена (х0 - хх)(х0 - х2). Если узлы существенно неравноотстоящие, то ошибка может быть пропорциональна первой степени разности (х хг).
94 Глава 2. Приближение функций. Численное интегрирование и дифференцирование Если х2 (х2 - х0), то значение функции /(х), полученное в результате интерполяции на отрезке [х0, х2], будет иметь погреш- ность вычисления производной, пропорциональную первой сте- пени шага (х0 - х2), а не второй. | Вторая производная Для вычисления второй производной, очевидно, нужно использо- вать интерполяционный многочлен Ньютона второй степени. Имеем оГ fo ~ fl _ /1 ~ /г~1 хо Х2 + (Зх-х0-х1-х2)О^. (2.42) Таким образом, приближенное значение второй производной на отрезке [х0, х2] является постоянной, равной 2Г/о - Л _ /1-/21 Г(х) = Р"(х) = i-.*»' *1- X1- %2j . (2.42а) Xq Х2 Из формул (2.42) и (2.42а) следует, что по-прежнему макси- мальная погрешность в вычислении имеет место в крайних точках и формально по (2.42) равна нулю в точке х2 = (х0 + х2 + х2)/3. Однако в связи с приближенностью формулы (2.18) максималь- ная погрешность не строго равна нулю в этой точке. Отметим, что точки xk = (xQ + Xj + ... + xA)/(fe + 1) называются точками повы- шенной точности для производной /г-го порядка. 2.10. Безразностные формулы численного дифференцирования для равноотстоящих узлов Если принять узлы равноотстоящими и шаг сетки равным h, то из формул (2.38), (2.39) можно получить выражения для вычис- ления первой производной в узлах. По формуле (2.38) в точках х0 ИХ; = х0 + й производные равны
2.10. Безразностные формулы численного дифференцирования... 95 •vq X j it! (2.43а) f'(x ) = + нШ. ' (Xl) х0 - Xi 2! • (2.436) По формуле (2.39) в точках х0, хр х2 Hxo)=^[-3/o + 4/1-/2]+^2rW. (2.44а) Hxp = ^ir2-f0]-^rw, (2.446) Г(х2)= А[/о_4/1 + з/2] + ^ГШ (2.44в) Вторые производные в точках х0, хр х2 по формуле (2.42) равны Г(х0)=^(/0-2/1 + /2)-йГШ (2.45а) Г(х1)=^(/0-2/1 + /2)-^те)> (2.456) (2.45в) Говорят, что формулы численного дифференцирования (2.43а), (2.436), (2.45а), (2.45в) — первого порядка точности от- носительно h, а формулы (2.44а)—(2.44в) и (2.456) — второго по- рядка точности. Формулы (2.43а)—(2.45в) носят название БЕЗ- РАЗНОСТНЫХ ФОРМУЛ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯ. При использовании формул (2.43а), (2.436) первая производная в узлах х0, Xj аппроксимируется с первым порядком точности, а при использовании формул (2.44а)—(2.44в) — со вторым поряд- ком точности. Вторая производная по формулам (2.45а)—(2.45в) в крайних точках х0 и х2 аппроксимируется с первым порядком точности, а в центральной хг — со вторым. В центральных точках производ- ные аппроксимируются более точно, чем в крайних, что видно из рис. 2.4 и следует также из приведенных формул. Аппроксима- ция производных в крайних точках используется при численном решении задачи Коши и краевых задач для обыкновенных диф- ференциальных уравнений и уравнений в частных производных.
96 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Для повышения точности аппроксимации производных теорети- чески следует увеличивать степень интерполяционного много- члена. 2.11. Применение ряда Тейлора для численного дифференцирования На практике формулы численного дифференцирования находят с использованием ряда Тейлора. Разлагая функцию fix) в ряд Тей- лора по степеням h, где h достаточно мало, имеем: fix + h) = fix) + hftx) + g Г(х) + g f'"(x) + №) + ..., (2.46a) f(x -h) = fix) - hf'ix) + g fix) - g Cix) + g fwix) + ... . (2.466) По формулам (2.46a), (2.466) f'ix) = f(x + 7г) - fix) h ~£f"(x), Cl' (2.47a) f'ix) = fix) - fjx - h) h + ~f"ix). (2.476) Вычитая соотношение (2.466) из (2.46а), получаем Г(х) = f{x + h>> f(x. V (2.48) Очевидно, что формулы для первой производной (2.43а) и (2.47а), (2.436) и (2.476), (2.446) и (2.48) представляют собой по- парно эквивалентные записи. При сравнении этих формул нужно полагать х = х0 в (2.47а) и х = хг в (2.476) и (2.48). В теории разностных схем производную, вычисленную по формуле (2.47а), называют односторонней правой производной или производной вперед, вычисленную по формуле (2.476) — од- носторонней левой производной или производной назад, а по формуле (2.48) — центральной или симметричной производной.
2.12. Постановка задачи численного интегрирования 97 Складывая соотношения (2.46а) и (2.466), получаем для второй производной: f(x + h) - 2f(x) + f(x - h) _ h2 yiV(xj й2 (2.49) Очевидно, что формулы (2.456) и (2.49) эквивалентны, если в (2.49) полагать х = хг 2.12. Постановка задачи численного интегрирования В тех случаях, когда при вычислении определенного интеграла F=p(x)dx (2.50) а невозможно найти первообразную или она очень сложна для вы- числений, то обращаются к формулам численного интегрирова- ния. При этом подынтегральную функцию Дх) заменяют такой приближающей, что она, во-первых, близка в каком-то смысле к /(х): Дх) = ср(х, а), а, во-вторых, интеграл от <р(х, а) легко вычисляется. Чаще всего подынтегральную функцию заменяют интерполяционным много- членом Лагранжа /(х) = £„(х) + Я„(х), (2.51) в котором Яп(х) — остаточный член интерполяции. Подставляя этот многочлен (2.51) в (2.50), получаем F = j Ln(x) dx + R, a b где R = j Rn(x) dx — остаточный член формулы численного ин- а тегрирования или ее погрешность.
98 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Заменяя f(x) интерполяционными многочленами различной степени, получают формулы численного интегрирования различ- ного порядка точности. 2.13. Формулы численного интегрирования Заменим подынтегральную функцию, входящую в (2.50), интер- поляционным многочленом Лагранжа нулевой степени, проходя- щим через середину отрезка — точку х = (а + Ь)/2 (рис. 2.5). Пло- щадь криволинейной трапеции можно заменить площадью пря- моугольника, т. е. F= p(x)dx = (&-a)/(^j. (2.52) а Формула (2.52) носит название ФОРМУЛЫ ПРЯМОУГОЛЬНИКОВ или ФОРМУЛЫ СРЕДНИХ. Ее по- грешность составляет R = j f(x) dx - (b - a) f(x). (2.53) a Разложение функции f(x) в ряд относительно середины отрезка имеет вид f(x) = f{x - (х - х)) = = Дх) - (х - х)Д(х) + f"(x) + ... . (2.54) Подставив выражение (2.54) в (2.53), получим 6 г R~ J f(x) - (х - x)f(x) + dx - (b - a)f(x) = = Дх)(й - а) + f'(x) (аЬ f _(ha т I 2 7 I 2 ) + ( Ь ~ а 2 / - h А3' + |f(x) = ^4 - а)3. (2.55)
2.13. Формулы численного интегрирования 99 При вычислении ошибки интегрирования уничтожился не только первый, но и второй член разложения, что связано с сим- метричным выбором узла интегрирования. И хотя по построению формула точна для многочленов нулевого порядка, выбор сим- метричного узла интерполяции привел к тому, что формула точ- на для любой линейной функции. Значение остаточного члена в формуле прямоугольников (2.53) может быть велико, так как разность (Ь - а) может быть до- статочно большой. Для повышения точности введем сетку а = х0 < хг С ... С xN = b с достаточно мелким шагом = х; - xt _ т и применим формулу прямоугольников на каждом шаге сетки. Тогда получим обоб- щенную формулу прямоугольников J Дх) dx = £ Ц Х‘~2 Х‘ J (2‘56) а ' * с величиной остаточного члена я = А- у h*f"(Xi-'~+x‘\ 24 " { 2 ) На равномерной сетке с шагом Л( — xt - х; _ т = const формула (2.56) упрощается и имеет вид Ь м j Дх) = (2.57) а величина остаточного члена составляет (2.58) Заменяя в (2.58) сумму интегралом, получаем ъ R~±h^f"(x)dx. (2.59) Для справедливости оценки остаточного члена (2.58) необхо- димо существование непрерывной второй производной; если вто- рая производная Д'(х) — кусочно-непрерывная, то удается сде- лать лишь мажорантную оценку, заменяя Д'(х) ее максимальной величиной на [а, б]. Тогда, если обозначить М2 = max | f"(x) |[о остаточный член Ж ±-h*M2(b-a). (2.60)
100 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование В том случае, когда функция /(х) задана в виде таблицы, ее значение в середине интервала неизвестно. Это значение нахо- дится, как правило, интерполированием, что приводит к ухудше- нию точности формулы. В случае таблично заданных функций удобно в качестве уз- лов интерполяции выбрать начало и конец отрезка интегрирова- ния, т. е. заменить функцию f(x) многочленом Лагранжа первой степени. Имеем ь ь ь j f(x) dx = J Lj(x) dx + J Rx(x) dx. Puc. 2.6 a В этом случае величина интеграла, равная площади криволинейной трапе- ции, приближенно заменяется величи- ной площади трапеции (рис. 2.6). Поэтому получаем ь j f(x) dx= | (б-а)[Да)+ /(&)] = a b = j>L1(x)dx, (2.61) a имея в виду, что х0 = а, хх = Ь. Эта формула носит название ФОР- МУЛЫ ТРАПЕЦИЙ. При использовании формулы трапеций для ь оценки погрешности интегрирования вычислим J Rv{x) dx по формулам (2.18). Имеем ь R = Г ЯДх) dx = (Ь - а)П). (2.62) J ± Lt Погрешность формулы трапеций вдвое больше погрешности фор- мулы прямоугольников. Это объясняется тем, что выбор в форму- ле прямоугольников в качестве узла интерполяции симметрично- го узла приводит к повышению ее точности. Для повышения точности формулы (2.61) введем на отрезке [а, б] сетку а = х0 < Х| < ... < xN = b. Подсчитывая значение интеграла для каждого интервала и сум- мируя эти значения, получаем обобщенную формулу трапеций b N F(x) = j Дх) dx = 1 2 (fi +! + Д)(хг t! - хг) (2.63) a i 1
2.13. Формулы численного интегрирования 101 со значением остаточного члена Эти формулы упрощаются на сетке с постоянным шагом h = й; = - xt_ j = const (i = 0, 1, ..., N - 1): (2.64) д ° - Д Xj К - Д h2\ dx- <2-65) a Введем обозначение M2 = max |Л (^)|[0 b]- На практике пользу- ются мажорантной оценкой величины остаточного члена |Д| < b~^ h2M2. Л £* (2.66) Таким образом, формула трапеций (как и формула прямоуголь- ников) имеет второй порядок точности относительно шага сетки, и погрешность асимптотически стремится к нулю при h —> 0 с точностью до членов более высокого порядка малости. Для повышения порядка точности формулы численного ин- тегрирования заменим подынтегральную кривую параболой — интерполяционным многочленом Лагранжа второй степени, вы- брав в качестве узлов интерполяции концы и середину отрезка интегрирования: х0 = а, хг = (а + Ь)/2, х2 = Ь (рис. 2.7). В этом случае, проинтегрировав интерполяционный много- член для равноотстоящих узлов, получим ь Рис. 2.7
102 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование При этом значение остаточного члена R = Т?2(х) dx оценивается приближенным соотношением (& -- а)5 уiv( а + b А 180 ' I. 2 J' Формулу (2.67) называют ФОРМУЛОЙ СИМПСОНА. Для нерав- ноотстоящих узлов х0, хр х2 величина F составляет F~ j L2(x) dx. Как и в предыдущих двух случаях, для повышения точности формулы (2.67) введем сетку с достаточно малым шагом. Сумми- руя значения нтегралов, полученных по (2.67) для каждого ин- тервала, получаем обобщенную формулу Симпсона (парабол), ко- торая на равномерной сетке имеет вид F = (/о + 4Л + 2/г + 4/з + 2/4 + ... + 2/w_2 + 4^_! + fN], (2.68) О а величина остаточного члена — (2.69) Таким образом, формула парабол имеет четвертый порядок точности относительно шага сетки. Введем обозначение М4 = = max |/IV(x)|[o 6]. Как правило, для оценки величины погрешнос- ти применяют мажорантную оценку И С Л4М4- (2.70) Количество интервалов N, на которое делится отрезок интег- рирования, должно быть всегда четным, так как интерполяцион- ный многочлен второй степени проводится через три точки. СИМПСОН ТОМАС (Simpson Thomas; 1710—1761) — анг- лийский математик, ряд работ которого посвящен элемен- тарной геометрии, тригонометрическому анализу и матема- тическому анализу. В 1743 г. С. вывел формулу прибли- женного интегрирования (формулу Симпсона).
2.14. Метод Рунге — Ромберга — Ричардсона повышения порядков точности 103 2.14. Метод Рунге - Ромберга - Ричардсона повышения порядков точности В вычислениях с помощью формул численного интегрирования результат получается тем точнее, чем с большим числом узлов используется сетка. Однако при этом формулы оказываются до- статочно громоздкими. Метод Рунге — Ромберга — Ричардсона позволяет получать более высокий порядок точности без значи- тельного увеличения числа операций. Пусть для вычисления величины f(x) имеется некоторая функция ф(х, h), дающая возможность приближенного расчета величины f(x) на равномерной сетке с шагом h. Значение остаточ- ного члена можно представить в виде /(х) - ф(х, Л) = y(x)hp + O(hp +1), (2.71) где р — порядок точности расчетной формулы, a y]i(x)hp — глав- ный член погрешности. Например, для формулы прямоугольни- ков и трапеций р = 2, а для формулы парабол р = 4. Если провести расчет на другой сетке с шагом rh, прибли- женное значение ф(х, rh) величины f(x) окажется другим. В этом случае остаточный член примет вид f(x) - ф(х, rh) = y(x)(rh)p + O((rh)p + *). (2.72) Значение главного члена погрешности определяется вычитанием выражения (2.72) из выражения (2.71): ф(х)й₽ = Ф(Х, й) -Д(Х, rh) +O(hP + ly (2.73) Следовательно, пользуясь расчетом на сетке с шагом rh, уда- ется оценить главный член погрешности расчета на равномерной РИЧАРДСОН ЛЬЮИС ФРАЙ (Richardson Lewis Fry; 1881—1953) — английский математик, занимавшийся при- кладной математикой, в частности, решением уравнений в конечных разностях (дискретными конечномерными ана- логами дифференциальных уравнений). Р. был первым уче- ным, предложившим использовать математические методы (в особенности метод конечных разностей) в предсказании погоды.
104 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование сетке с шагом h. Если же подставить найденную погрешность (2.73) в (2.72), то получим результат с более высокой точностью: /(г) = ф(х, h) + +O(feP + 1). (2.74) гр - 1 Метод Рунге — Ромберга — Ричардсона может быть использован для оценки погрешности расчета и получения результата с более высокой степенью точности при решении различных задач, когда возможен расчет какой-либо величины на сетках с различным шагом, например, при численном интегрировании, дифференци- ровании, решении дифференциальных уравнений. В качестве примера рассмотрим полученные формулы чис- ленного интегрирования, имеющие более высокий порядок точ- ности. Проведем расчет определенного интеграла по формуле тра- пеций с шагом 2й (точки х0, х2), а затем на сетке с шагом h (точки х0, хр х2). Обозначим результаты этих расчетов через F2h и Fh со- ответственно. Порядок точности формулы трапеций равен двум, а сам остаточный член имеет такой же вид, как и в формуле (2.71). Обозначая более точное значение через F, проведем уточ- нение по формуле (2.74): F~F^ + = |[4|[/о + 2Л + 41" у [4 + 41] = IИо + 44 + 41- Таким образом, уточнение расчета формулы трапеций с ис- пользованием выражения (2.74) привело к формуле парабол, имеющей более высокий — четвертый — порядок точности. 2.15. Метод статистических испытаний При изучении численных методов основной задачей являлось преобразование известной математической модели к виду, допус- кающему эффективное численное решение, т. е. сведение всех математических понятий (таких, как производная, интеграл, дифференциальное уравнение и т. п.) к последовательности эле-
2.15. Метод статистических испытаний 105 ментарных арифметических операций. Для дальнейшего сущест- венно, что вместе с алгоритмом метода мы всегда получали так называемую гарантированную оценку погрешности метода. Ал- горитм численного метода считался состоятельным лишь в том случае, если малые погрешности, содержащиеся в исходных дан- ных и внесенные в процессе преобразований или вычислений, не влияли неприемлемым образом на результат вычислений. Про- цесс отыскания решения при таком подходе являлся строго де- терминированным, т. е. при безошибочном повторении неизмен- но приводил к одному и тому же результату. Однако существует целый ряд задач, для которых разработка и использование детерминистских методов оказываются практи- чески невозможными и нецелесообразными. Примером такой ма- тематической задачи может быть задача о вычислении интеграла кратности 8. Так, для класса функций Ср ..., т (М, ..., М), имею- щих кусочно-непрерывные первые производные, ограниченные по модулю постоянной М, не существует методов с оценкой по- грешности лучшей, чем величина где п — число узлов интегрирования, а — некоторая постоянная. Если требуется га- рантировать оценку погрешности 0,01аМ, то число узлов интег- рирования должно удовлетворять условию п > 100s. При вычис- лении интеграла кратности 8 = 5 это означает, что требуется бо- лее десяти миллиардов узлов. Задачи такого типа не являются экзотическими. Например, решение задачи о проникновении частиц через толстый экран требует вычисления S = 3 • k кратных интегралов, где k — количе- ство столкновений при прохождении частиц через экран. Для k = 4 это требует выполнения 2,4 • 1014 операций. Другой проблемой, возникающей при решении практиче- ских задач, является то обстоятельство, что на практике часто возникают задачи, для которых формулировка математической модели в виде системы уравнений, допускающей численное ре- шение, представляет значительные трудности или вообще оказы- вается невозможной. Такая ситуация является обычной при изу- чении сложных физических явлений или реальных сложных систем, состоящих из большого числа различных по природе и сложным образом взаимодействующих элементов, функциони- рующих в условиях воздействия большого числа случайных фак- торов. К сложным системам относятся крупные технологические и производственные комплексы, экономические и социологиче- ские объекты, многопроцессорные вычислительные системы и т. п. Одним из существенных признаков сложных систем являет- ся принципиально вероятностный характер их функционирова- ния в условиях большого числа случайных факторов.
106 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Таким образом, не всегда можно построить детерминистский метод решения задачи (и, в частности, эффективный численный метод), и даже, имея детерминистский метод, не всегда можно практически получить результат с гарантированной оценкой по- грешности. Достаточно общим способом решения таких проблем явля- ются методы статистических испытаний. С помощью методов статистических испытаний математические задачи и задачи ис- следования сложных систем решаются путем моделирования случайных реализаций имитации случайных процессов, проис- ходящих в сложных системах, с последующей оценкой их веро- ятностных характеристик. Принято различать два основных класса методов статистических испытаний: численные методы статистических испытаний (методы МОНТЕ-КАРЛО) и методы имитационного моделирования. Суть ЧИСЛЕННЫХ МЕТОДОВ статистических испытаний* за- ключается в установлении связи между величинами, являющи- мися решениями математической задачи (например, значения интеграла), и вероятностными характеристиками некоторого случайного процесса, такими, как вероятность, математическое ожидание и др. Выбор конкретной случайной величины обуслов- ливается особенностями конкретной задачи и используемой про- цедурой случайных испытаний. Существенной чертой числен- ных методов статистических испытаний является вероятностная оценка погрешности вычислений. Суть МЕТОДОВ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ заклю- чается в моделировании физических представлений о реальном * Идея метода статистических испытаний восходит, по-видимому, к Ж. Л. Л. Бюффону, предложившему случайный процесс для вычисле- ния значения числа Л (задача Бюффона). Современными создателями метода считают американских математиков Дж. Неймана и С. Улама, использовавших метод для моделирования поведения нейронов. БЮФФОН ЖОРЖ ЛУИ ЛЕКЛЕРК (Buffon George Louis Leclerc; 1707—1788) — французский естествоиспытатель и инженер. Б. занимался двенадцатеричной системой счисле- ния; он первым исследовал задачи, посвященные геометри- ческой вероятности. УЛАМ СТАНИСЛАВ МАРЦИН (Ulam Stanislaw Marcin; 1909—1984) — американский математик. Его основные труды относятся к топологии, функциональному анализу, теории вероятностей и теории множеств. В математической физике У. развил метод Монте-Карло (совместно с Дж. фон Нейманом).
2.15. Метод статистических испытаний 107 явлении или моделировании процесса функционирования слож- ной системы. При этом практически снимаются ограничения на степень приближения имитационной модели к реальному объекту. Перечислим основные математические задачи, для кото- рых построены вероятностные модели: вычисление кратных ин- тегралов, решение систем линейных уравнений, обращение мат- риц, нахождение собственных значений и собственных векторов матриц, решение краевых задач для уравнений эллиптического типа, решение задачи Коши для уравнений параболического типа, решение задачи интерполяции, решение уравнений Больц- мана и др. | Задача Бюффона Основные идеи численных методов статистических испытаний рассмотрим на примере задачи Бюффона, в которой предложен случайный процесс, позволяющий вычислить число л. Пусть имеется семейство равноотстоящих параллельных прямых с рас- стоянием между прямыми, равным d, и игла длины I < d. При случайном бросании иглы ее средняя точка может упасть на расстоянии х от какой-либо прямой (0 С х < d/2). Угол между иглой и нормалью к направлению прямых обозначим че- рез ф (рис. 2.8). Игла пересекается с одной из прямых при усло- вии х < (l/2)cos ф для ф е (-л/2, л/2). Геометрически это означает попадание средней точки иглы в заштрихованную на рис. 2.9 БОЛЬЦМАН ЛЮДВИГ (Boltzmann Ludwig; 1844—1906) — австрийский физик, заложивший основы современной тео- рии излучения. Самыми крупными его работами являются классические исследования по кинетической теории газов и статистическому толкованию 2-го начала термодинамики.
108 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Рис. 2.9 область. Вероятность попадания иглы в заштрихованную область равна отношению площадей за- штрихованной области и всего прямоугольника возможных точек попадания середины иглы, т. е. п/2 р = Г (Z/2)cos <р , = 21 J nd/2 v nd' -it/2 По теореме Бернулли Р = т/п, где п — полное число попаданий в прямоугольник возможных точек попадания (полное число бросаний иглы), т — число попа- даний в заштрихованную область (число пересечений иглы с од- ной из параллельных прямых), т/п — относительная частота. Таким образом, приближенное соотношение для вычисления числа л имеет вид d т Задача Бюффона интересна во многих отношениях, так как позволяет интуитивно сформулировать основные проблемы и особенности метода статистических испытаний (названного Бюф- фоном методом бросания). Во-первых, задача наглядно представляет общую схему чис- ленных методов статистических испытаний: выбирается некото- рая процедура случайного испытания такая, чтобы какая-либо вероятностная характеристика ее равнялась искомой величине или очевидным образом была с ней связана. Во-вторых, отметим, что в задаче используется совсем не тривиальное понятие случайного бросания. В задаче Бюффона нетрудно представить себе неправильно организованное бросание иглы (например, параллельно прямым с прицеливанием в середи- ну между прямыми), которое приведет к грубому искажению ре- зультата. Далее будут рассмотрены современные методы форми- рования последовательностей случайных чисел (являющихся ис- БЕРНУЛЛИ ЯКОБ старший (Bernoulli Jacob; 1654—1705) — швейцарский ученый, который блестяще применил методы дифференциального исчисления Г. Лейбница к изучению свойств ряда кривых. Совместно со своим братом Иоганом Б. заложил основы вариационного исчисления. В области теории вероятности он доказал теорему Бернулли, относя- щуюся к закону больших чисел.
2.15. Метод статистических испытаний 109 ходными для формирования случайных объектов любой природы — случайных событий, величин, процессов) и связан- ные с этим проблемы. Здесь отметим лишь, что незамеченная неслучайность таких последовательностей может иметь ката- строфические последствия при использовании метода. В-третьих, интуитивно ясно, что вычисление числа л с ис- пользованием предложенного метода потребует большего числа бросаний для обеспечения вычисления числа л с точностью, на- пример, до двух знаков. При решении практических задач (вы- числении интегралов, решении систем линейных уравнений, моделировании сложных систем и др.) длина используемых по- следовательностей случайных чисел исчисляется десятками и сотнями тысяч и может достигать миллионов чисел. Поэтому практическое использование методов статистических испытаний определяется двумя факторами: наличием простых и экономич- ных способов формирования последовательностей случайных чи- сел и возможностью организации эффективных испытаний. Например, для задачи Бюффона было установлено, что использо- вание двух жестко скрепленных под углом Л/2 игл приводит к уменьше- нию числа бросаний для достижения одной и той же точности в 12,2 раза (при этом одно бросание креста засчитывается за два бросания иглы). Использование трех жестко скрепленных под углом Л/3 игл приводит к уменьшению числа бросаний в 44,3 раза, использование четырех жестко скрепленных игл — в 107,2 раза. Этот пример показывает, что рацио- нальная организация процедуры испытаний (использование коррелиро- ванных случайных величин) может существенно уменьшить объем ис- пытаний для достижения требуемой точности. | Случайные числа. Основные понятия Случайной называется величина, для которой указано, какие значения она может принимать и каковы вероятности появления этих значений. Случайная величина задается ЗАКОНОМ РАС- ПРЕДЕЛЕНИЯ ВЕРОЯТНОСТЕЙ Р(^ < х) = F(x) или для непрерывных случайных величин также ПЛОТНОСТЬЮ ВЕРОЯТНОСТИ (функцией плотности) f(x) такой, что F(x) = J f(x) dx. Дискретная случайная величина принимает дискретное множе- ство значений, и закон распределения ее задается таблицей [Pi Р2 -• Рп /
110 Глава 2. Приближение функций. Численное интегрирование и дифференцирование Вероятность попадания в интервал (а, Ь) для непрерывной слу- чайной величины определяется соотношением ь Р(а <£<6)=| f(x) dx. а МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ случайной величины состав- ляет для дискретных случайных величин Mt, = У. для непре- Ь ;-1 рывных случайных величин М^ = j xf(x) dx. а ДИСПЕРСИЯ СЛУЧАЙНОЙ ВЕЛИЧИНЫ составляет для диск- ретных случайных величин Dt, = М[(^ - Mi;)2], для непрерывных ь случайных величин Dt, = | (х - Mx)2f{x) dx. а Для независимых дискретных случайных величин справед- ливо соотношение Dt, = М(£2) - (М^)2. Математическое ожидание функции случайной величины t, со- ставляет ь Мд = Мср(£) = j cp(x)f(x) dx, а где <р(х) — произвольная функция, /(х) — плотность вероятности случайной величины Г] — функция случайной величины £, £ — сама случайная величина. РАВНОМЕРНО РАСПРЕДЕЛЕННАЯ СЛУЧАЙНАЯ ВЕЛИЧИНА — такая случайная величина, для которой на интервале (а, Ь) плот- ность вероятности равна 1 b - а О /(*) = при х е (а, Ь), при х £ (а, Ь). ФУНКЦИЯ РАСПРЕДЕЛЕНИЯ РАВНОМЕРНО РАСПРЕДЕЛЕН- НОЙ СЛУЧАЙНОЙ ВЕЛИЧИНЫ определяется следующим образом: 0 при х е (-оо, а] F(x) = о* Н 1 1 а а при х е (а, Ь), 1 при х е [б, оо).
2.15. Метод статистических испытаний 111 МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ и ДИСПЕРСИЯ РАВНОМЕРНО РАСПРЕДЕЛЕННОЙ СЛУЧАЙНОЙ ВЕЛИЧИНЫ равны М5-2-±А Di- Li J- Lt Особый интерес представляет равномерно распределенная случайная величина на интервале (0, 1), для которой М — 1/2, D - 1/12. В этом случае _ J 1 при х е (0, 1), при xg (0,1), F(x) = 0 при х е (-°°, 0], х при Ji е (0, 1), 1 при х е [1, °°). Способы получения случайных чисел Для моделирования случайных процессов при решении задач ме- тодом статистических испытаний необходимы последовательнос- ти из десятков и сотен тысяч и даже миллионов чисел. Для выра- ботки этих последовательностей могут быть использованы так называемые генераторы случайных чисел — какие-либо физи- ческие устройства, в которых реализуется случайный процесс (игральная кость, рулетка, счетчик Гейгера и т. п.). Сложность технической реализации, неповторяемость результата, неэконо- мичность и медлительность этих устройств объясняют их малое распространение. Кроме того, при непосредственном использова- нии генераторов случайных чисел трудно проверить случайные свойства вырабатываемых последовательностей, которые могут зависеть от технического состояния устройства. В основу современных методов получения последовательнос- тей случайных чисел для использования на универсальных вы- числительных машинах положены следующие требования: во-первых, для получения используемых компьютерами после- довательностей случайных чисел желательно использовать сами компьютеры; во-вторых, количество операций, затрачиваемых на получение значения этого числа, должно быть небольшим; в-третьих, не имеет значения, каким образом получена последо- вательность случайных чисел, лишь бы она удовлетворяла при- нятой системе тестов качества используемых случайных чисел, которая может зависеть от конкретной задачи. Простейшими тес- тами являются контроль для каждого разряда частоты появления цифр числа в каждом разряде; вычисление коэффициентов кор- реляции последовательных разрядов числа _ 0,+1 _ 0,5) i (для двоичной системы счисления) или групп разрядов внутри числа, которые должны быть близкими к нулю.
112 Глава 2. Приближение функций. Численное интегрирование и дифференцирование Существенным отклонением от статистической структуры последовательности может быть наличие периодичности- Заме- тим, что наличие периодичности в последовательностях, генери- руемых с помощью компьютеров, неизбежно — это будет поясне- но далее. Важно, чтобы период был возможно большим. Числа, получаемые вычислительной машиной по какому-ли- бо алгоритму, не являются случайными в строгом смысле и их называют псевдослучайными. Первый алгоритм, предложенный для получения последовательностей псевдослучайных чисел Дж. Нейманом, называется МЕТОДОМ СЕРЕДИНЫ КВАДРАТОВ. Суть его поясним с помощью примера. ПРИМЕР. Выберем некоторое четырехзначное число. Возве- дем его в квадрат и из полученного восьмизначного числа выде- лим четыре средние цифры. Полученное таким образом четырех- значное число вновь используем для получения следующего чис- ла. При = 8726 этот результат даст последовательность чисел, приведенную в таблице 2.2. Таблица 2.2 i ^ + 1 0 8726 76143076 1 1430 02044900 2 0449 00201601 3 2016 04064256 4 0642 00412164 5 4121 Процесс порождения чисел последовательности можно запи- сать в виде рекуррентного соотношения + х = /(£,)> в котором НЕЙМАН ДЖОН (ЯНОШ) ФОН (Neimann John (Janos) von; 1903—1957) — американский математик и инициатор ис- пользования ЭВМ при решении различных научных проб- лем. Работая до 1930 г. в Европе, фон Н. занимался раз- личными разделами математики. Переехав перед Второй мировой войной в США, Н. обратился к вопросу взаимодей- ствия ударных волн (фон Н. принимал участие в работах по созданию первой атомной бомбы). Эта проблема потребова- ла огромной вычислительной работы, что и стало причиной интереса фон Н. к ЭВМ. В основу проекта построенного им электронного вычислителя были положены особенности ра- боты человеческого мозга.
2.15. Метод статистических испытаний 113 функция f осуществляет отображение множества чисел на самое себя. Использование и тщательное исследование метода середины квадратов обнаружило его существенные недостатки: получаемое распределение чисел оказалось недостаточно равномерным, в нем преобладают малые значения; в методе возможно полное вырож- дение последовательности, когда некоторое значение и все по- следующие обращаются в нуль. Использование рекуррентных соотношений (указанного или более общего вида) для получения последовательностей псевдо- случайных чисел является в настоящее время наиболее распрост- раненным. Приведем краткое описание некоторых из предложен- ных функций. Один из алгоритмов связан с выделением дробной части про- изведения + х = {А^}, в котором А — постоянная, а фигурные скобки обозначают выделение дробной части произведения. Ка- чество генерируемых последовательностей псевдослучайных чи- сел существенно зависит от выбора значений А и £0. Все современные генераторы псевдослучайных чисел делятся на три группы. • Первая группа содержит генераторы с линейной рекуррент- ностью р Zt = EAsZis(modM), 8 = 1 в которых As — неотрицательные целые числа в диапазоне от 0 до (М - 1). Введем обозначение Kt = г р \M~lXAsZ^s-. I 3=1 В качестве вы- числительной формулы для псевдослучайных чисел Z. использу- ют соотношение р XA/^s-K,M. S = 1 • Вторая группа состоит из генераторов с линейной рекур- рентностью по модулю 2 р Ё asB. .s(mod2); 3 = 1 здесь as е {0, 1}, ар ~ 1, Ву е {0, 1}, и псевдослучайное число имеет вид т г>т. /=1
114 Глава 2. Приближение функций. Численное интегрирование и дифференцирование • К третьей группе относятся нелинейные конгруэнтные ге- нераторы псевдослучайных чисел = /(Z^iKmod М), в которых в качестве функции f принимается нелинейная целая функция. Получение случайных чисел с заданным законом распределения При решении практических задач требуется получать последова- тельности случайных объектов различной природы и с различны- ми законами распределения вероятностей. В настоящее время при- нята следующая схема получения таких последовательностей: • В качестве исходной рассматривается последовательность случайных чисел с равномерным распределением в интервале [О, 1]. Эта последовательность может быть получена на компью- тере с наименьшими затратами машинного времени, обеспечива- ет простоту и удобство дальнейших преобразований, позволяет относительно просто проверить качество последовательности. • Путем функциональных преобразований конструируются случайные последовательности с практически любым законом распределения. Идея такого подхода может быть проиллюстрирована прос- тым примером. Пусть имеется дискретная случайная величина с законом распределения, заданным таблицей = pi п2 - nq П [Р1р2-рп) Интервал (0,1) разобьем на п частей так, чтобы длина каждо- го из отрезков была равна рг Имея в качестве исходной равномерно распределенную на интервале [0,1] случайную величину £, (рис. 2.10), поступаем сле- дующим образом. Выбирая из последовательности значение фиксируем, в какой интервал попадает это значение. В зависи- мости от этого полагаем значение случайной величины Ц = Т];. Л + р2 1 - рп рп I-----1-------1-------------------------1-------1 0 1 Рис. 2.10 Такой метод формирования (разыгрывания) случайных ве- личин для непрерывных случайных величин носит название метода обратной функции. Суть метода заключается в следую-
2.15. Метод статистических испытаний 115 щем. Пусть непрерывная случай- ная величина г] задана законом распределения п f(n) = f f(y) Фа где Дц) — плотность распределе- ния вероятностей. В соответствии со свойствами функции распреде- ления (изменяется от 0 до 1, не- прерывна и монотонна)уравнение £ = Лп) (а) Рис. 2.11 имеет единственное решение, которое может быть принято за значение т]. Рассмотрим график функции Е(ц) (рис. 2.11). Если случайная величина г), полученная из уравнения (а), т. е. ц = F ’(t), лежит в интервале (а, Ь), то очевидно, что е (Е(а), F(b)) и наоборот. Вероятность того, что г) е (а, Ь), равна вероятности того, что е (F(a), т. е. Р(а < ц < b) = Р(Е(ц) < £ < F(b)). ПРИМЕР. Пусть требуется получить последовательность слу- чайных чисел с показательным законом распределения п Е(т)) = j Хе dr), г] > 0. о Для отыскания т]; запишем уравнение п, £г = X j е dr), о в котором £г — случайное число последовательности с равномер- ным распределением на интервале (0, 1). После интегрирования получим = 1 - е ^1. Разрешая это соотношение относительно г];, придем к выра- жению П( = -11п(1-^.) для вычисления значений случайной величины Т); с показатель- ным законом распределения по значениям случайной величины £;, с равномерным законом распределения на интервале (0, 1). Теоратические основы метода статистических испытаний Теоретическую основу метода статистических испытаний со- ставляют фундаментальные теоремы теории вероятностей —
116 Глава 2. Приближение функций. Численное интегрирование и дифференцирование теорема Чебышёва, центральная предельная теорема и теорема Бернулли. ТЕОРЕМА ЧЕБЫШЁВА. Пусть ..., ^-независимые случайные величины с математическим ожиданием и с равномерно ограниченной дисперсией. Тогда для любого е > О lim Р\ я —> оо I»+ +_--.-..-+А» -^<^ = 1 П / В некоторых случаях будем пользоваться записью теоремы Чебышёва для нормального закона распределения ^1 + ^2 + ••• + П Р| „Я=Ф(а), где Ф(а) = [ е Л'2/2 dx — интеграл вероятностей. 72^ Jo Теорема Чебышёва утверждает сходимость по вероятности среднего арифметического п случайных величин к их математи- ческому ожиданию при п —> ТЕОРЕМА БЕРНУЛЛИ. Если некоторое событие А может наступить в каждом т из п независимых испытаний с вероятностью Р и при этом Р(А) = 1 - Р, то для лю- бого Е > О lim р( - - Р п -> 0° \ П где т/п — относительная частота события А. Таким образом, по теореме Бернулли при неограниченном увеличении числа испытаний математическая оценка вероятнос- ти случайного события сходится к истинному значению вероят- ности. Вычисление интегралов методом статистических испытаний Вычисление определенных интегралов — одна из наиболее изу- ченных и распространенных задач недетерминистской природы, решаемых методом статистических испытаний. Практическая ценность метода для вычисления кратных интегралов обусловле-
2.15. Метод статистических испытаний 117 на тем, что порядок сходимости метода статистических испыта- ний не зависит от кратности интеграла и при умеренных требова- ниях к точности результата упомянутая в начале данного параг- рафа задача о проникновении частиц через толстый экран может быть решена за минуты (вместо восьми лет). Известно несколько вероятностных схем решения задачи о вычислении интеграла. Рассмотрим основные идеи метода, оценку погрешности и неко- торые приемы повышения эффективности процедуры получения решения. Пусть требуется вычислить интеграл I(u) = J cp(u) du, G (2.75) где cp(u) — функция, заданная в S-мерной гиперплоскости на об- ласти G и и — кооординаты точки на этой гиперплоскости. Приведем интеграл (2.75) к виду Л“) = f Ku> du= ! V(«)/(u) du (2.76) • I{“) * и введем случайную величину ij с плотностью распределения ве- роятностей /(!;) и случайную величину Г| = у(£), являющуюся функцией случайной величины ij. Математическое ожидание Мт] и дисперсия jDt) функции Г] = v(^) случайной величины ij равны Мт( = J v(u)/(u) du, G jDt) = М(т(2) - (Мт()2. (2.77) (2.78) Пусть имеется последовательность независимых в совокуп- ности случайных величин ........ £п. Согласно центральной предельной теореме, среднее арифметическое значений функции Г) = \|/(^) по всей совокупности точек не зависит от функции рас- пределения случайной величины и является случайной величи- ной, распределенной при п —> 00 по нормальному закону. На осно- вании теоремы Чебышева и из сравнения соотношений (2.76) и (2.77), которые показывают, что интеграл 1(и) можно рас- сматривать как математическое ожидание случайной величины Л, = V(Q> можно записать рГ IП1 +112 + •••+ Г|п _ j п а>Я?)=Ф(а)- (2.79)
118 Глава 2. Приближение функций. Численное интегрирование и дифференцирование Полученное соотношение дает способ вычисления интеграла как среднего арифметического случайных величин = \|/(^)> гДе — случайная величина с плотностью распределения /(£;), т. е. г 1 у <P(£i) (2.80) Кроме того, из соотношения (2.79) следует, что оценка по- грешности вычисления интеграла носит вероятностный харак- тер. Значение коэффициента а в соотношении (2.79) зависит от величины доверительной вероятности Ф(а) и приведено в таблице 2.3 для трех значений этого коэффициента. Таблица 2.3 Ф(а) 0,5 0,997 0,99999 а 0,675 3,0 5,0 При Р = Ф(0,675) = 0,5 ошибку называют вероятной. При а = 3 вероятность Р приближается к единице. Этот факт известен как правило трех сигм*. Вероятностная оценка погрешности метода, согласно выра- жению (2.79), зависит от дисперсии случайной величины г|, не за- висит от кратности интеграла и убывает пропорционально и °’5. Последнее означает, что для уменьшения погрешности вычисле- ния интеграла методом статистических испытаний в 10 раз необ- ходимо увеличить число испытаний в 100 раз. По этой причине с учетом возможностей современных компьютеров и реальных тре- бований к точности решения практических задач метод статисти- ческих испытаний редко используется для получения решения с точностью, лучшей, чем 1,0—0,1% . Не известная в соотношении (2.79) величина дисперсии 7)г) случайной величины может быть оценена в процессе вычислений по соотношению (2.78), если заменить входящие в него математи- ческие ожидания на их оценки типа (2.80). Тогда 1 / 1 п (1 п Л2л fl 1 \ fl J - 1 \ 11 j - 1 / / Заметим, что возможность сравнительно простой оценки по- грешности в процессе вычислений является важным достоинст- вом метода статистических испытаний. * Трех сигм правило — мнемоническое правило, согласно которому в некоторых задачах теории вероятностей и математической статистики считают практически невозможным событие, заключающееся в отклоне- нии значения нормально распределенной случайной величины от ее ма- тематического ожидания больше, чем на три стандартных отклонения.
2.15. Метод статистических испытаний 119 Другим достоинством метода, проявляющимся для интегра- лов высокой кратности, является то, что оценка погрешности вы- числения значения интеграла методом статистических испыта- ний не зависит от кратности интеграла. В самом деле, если при интегрировании методом статистических испытаний принимать во внимание только порядок сходимости, то погрешность вычис- ления интеграла е = п”0’5 не зависит от числа измерений. Следова- тельно, полное число испытаний (число узлов интегрирования) для обеспечения заданной точности составляет п = е-2. При использовании кубатурных формул с порядком точности Р погрешность вычисления интеграла е = /? р, где k — число уз- лов интегрирования по каждому измерению. Полное число узлов интегрирования п = ks. Следовательно, при использовании куба- турных формул требуемое для достижения необходимой точнос- ти число узлов интегрирования В. = E-S/'P. Так как порядок точности кубатурных формул для интегра- лов высокой кратности редко превышает значение Р = 2, то метод статистических испытаний оказывается предпочтительным при вычислении интегралов, кратность S которых больше четырех. Получена следующая простая оценка для сопоставления ме- тода статистических испытаний и кубатурных формул. При вы- числении интеграла кратности S методом статистических испы- таний требуется S • т • п операций, где т — число операций, не- обходимых для вычисления одного значения подынтегральной функции по одному измерению, п — число испытаний. С исполь- зованием кубатурных формул для вычисления интеграла требу- ется S т ks операций. Здесь k — число узловых точек по одно- му измерению. Следует, однако, иметь в виду одно важное обстоятельство. При вычислении интегралов практическое значение имеет отно- сительная погрешность результата 57 = л/Пр/Щл/п, зависящая от величины дисперсии. С увеличением кратности ин- теграла величина отношения /| 11 может существенно воз- растать. Так, для интеграла 1 1 I = J... j exp (-32(xj + ... + Xg)) dxr..dxs о о справедливо соотношение jDx\ /| J | > IO®/2 - 1.
120 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование В таких случаях оценки числа операций и времени счета для метода статистических испытаний при одинаковой относитель- ной погрешности могут существенно ухудшаться. Решение дифференциальных уравнений в частных производных методом статистических испытаний Математические основы метода статистических испытаний свя- заны с соответствием задачи о случайном блуждании на много- мерной решетке с одномерными марковскими цепями. Основные идеи метода статистических испытаний рассмотрены на примере ЗАДАЧИ ДИРИХЛЕ для УРАВНЕНИЯ ЛАПЛАСА. Требуется найти решение уравнения д2и , д2и _ Q Эх2 Эу2 (2.81) в области G с кусочно-гладкой границей Г, на которой функция принимает заданные значения и(х, у)|г = ф(х, у). (2.82) Приблизим область интегрирования G сеточной областью Gh с постоянным шагом h по х и у (рис. 2.12). Темными кружками ДИРИХЛЕ ПЕТЕР ГУСТАВ ЛЕЖЕН (Dirichlet Peter Gustav Lejeune; 1805—1859) — немецкий математик. Его основ- ные труды относятся к теории чисел и математическому анализу. Д. впервые точно сформулировал и исследовал по- нятие условной сходимости ряда (признак Дирихле), дал строгое доказательство возможности разложения в ряд Фурье кусочно-монотонной функции с конечным числом точек разрыва. Значительные работы Д. посвящены меха- нике и математической физике (принцип Дирихле в теории гармонических функций). ЛАПЛАС ПЬЕР СИМОН (Laplace Pierre Simon; 1749— 1827) — великий французский астроном, математик и фи- зик. Фундаментальными являются работы Л. по дифферен- циальным уравнениям, например, по интегрированию ме- тодом каскадов уравнений в частных производных. Введен- ные им шаровые функции имеют разнообразное применение. В алгебре Л. принадлежит важная теорема о представлении определителей суммой произведений дополнительных ми- норов (теорема Лапласа). Математическая теория вероят- ностей в значительной мере создана Л.; в частности, он ввел производящие функции и широко применял преобразова- ние, носящее его имя.
2.15. Метод статистических испытаний 121 здесь обозначены граничные узлы; светлыми — внутренние узлы. Значе- ния функции в граничных точках се- точной области определяем точно так же, как это делалось в разностных ме- тодах. Напомним, что при использо- вании метода сеток значения функ- ции во внутренних узлах (j, j) опре- деляются из системы линейных урав- нений (2.83) % = + “< + !./ + ЦС/-1 + им + 1)’ дополненной значениями функции в граничных точках и = <р(г , и ) = ср . т' р» tfq/ 'Ypq Пусть некоторая точка, начав движение во внутреннем узле, совершает равномерное случайное блуждание по узлам сетки. Попав в граничный узел (р, q), точка прекращает движение. До- казывается, что с вероятностью, равной единице, каждая блуж- дающая точка попадает в один из граничных узлов (р, q). Тогда можно записать, что p(i,/,M)=l. (2.84) Р- ч Здесь суммирование проводится по всем граничным узлам, a P(i, j, р, q) — вероятность того, что точка, начавшая движение во внутреннем узле (i, j), закончит движение в граничном узле (р, q). При этом для р' Ф р и (или) q' * q ,q,p, g) = l, P(p',q', p,q) = 0. Если в сумме (2-86) р. q рассматривать <р(х, у) как случайную величину, принимающую значения на границе сеточной области ГЛ, то V. . есть математиче- ское ожидание функции ф(х, у) на границе для точек, начавших движение во внутреннем узле (i, j). Найти вероятности P(i, j, р, q) в явном виде сложно, однако можно получить соотношение, связывающее искомые вероятнос- ти во внутренних узлах.
122 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование i,7 + 1< 1 ~ 1,7 i + 1,7 i,j - 1< !> Рис. 2.13 Движение точки, начавшееся в некотором внутреннем уз- ле (i, /) и закончившееся в граничном узле (р, q), можно пред- ставить как движение, распадающееся с равной вероятностью на четыре новых движения, начинающихся соответственно в точках (i - 1, у), (i + I,;), (i, 7 - 1), (i, j + 1) (рис. 2.13). По формуле полной вероятности можно записать Pi, i.P.q=\- 1, р, g) + P(i + 1,7, р, 9) + + P(i, 7 - 1, p, q) + P(i, j + 1, p, g)]. (2.87) Умножая обе части последнего равенства на срр? и суммируя по всем граничным узлам, получим + + + + <2-88) В соответствии со значениями (2.85) имеем Vp q — ф . Из сравнения выражений (2.88) и (2.83) следует, что форму- лы совпадают с точностью до обозначений и, следовательно, ис- комые неизвестные ui можно рассматривать как математиче- ское ожидание Vt . функции ср (х, у) на границе для точки, начав- шей движение во внутреннем узле (i, j). Если многократно промоделировать движение точки из внут- реннего узла (i, j) и при каждом испытании фиксировать гранич- ный узел, в который попадает блуждающая точка, то приближен- ное значение математического ожидания можно вычислить по соотношению (2-89) п 1=1 Приближенное решение задачи (2.81)—(2.82) во внутреннем узле сеточной области Gh получим, положив .. Соотношение (2.89) содержит в неявном виде вероятности P(i, h Ру д), так как суммирование идет по всем испытаниям и,
2.15. Метод статистических испытаний 123 следовательно, каждое значение <рр9 входит в сумму тр q раз, где тр q — число попаданий блуждающей точки в граничный узел (р, q). Получаемый алгоритм соответствует принципу максимума min и(х, г/)|г < и(х, у) < max u(x, г/)|г. Основные особенности применения метода статистических испытаний к решению краевых задач заключаются в сле- дующем. • Решение задачи определяется в единственном узле (i, j) об- ласти интегрирования, в котором начинается блуждание точки. Часто для практических приложений эта особенность оказывает- ся весьма полезной. Дополнительная информация о решении за- дачи может быть получена, если использовать то обстоятельство, что каждый внутренний узел сеточной области, через которую проходит блуждающая точка, может считаться узлом, в котором начинается движение. • Для вычисления решения в выбранном узле (г, у) сеточной области не требуется помнить информацию об остальных узлах сеточной области (кроме граничных) — алгоритм метода статисти- ческих испытаний обладает высокой эффективностью по памяти. Метод статистических испытаний обобщается на более общие краевые условия, виды уравнений и задачи, например, нестаци- онарные. Предложены вероятностные схемы для задач, в кото- рых вероятность перехода из узла в узел зависит от истории дви- жения и не равна нулю вероятность выхода блуждающей точки из граничного узла. ПРИМЕР. Методом статистических испытаний найти реше- ние уравнения д2и , д2и = г. дх2 ду2 в точке (2, 2) квадратной области G = [0 < х < 4] х [0 < у < 4] с гранич- ными условиями, заданными на схе- ме (рис. 2.14). Шаг сетки h = 1,0. Для определения направления движения блуждающей точки ис- пользуем таблицу случайных чисел по следующему правилу: цифры 0 или 1 соответствуют движению впра- во на шаг, цифры 2 или 3 — вверх на
124 Г лава 2. Приближение функций. Численное интегрирование и дифференцирование Точное решение 25 П Рис. 2.15 Рис. 2.16 шаг, цифры 4 или 5 — влево на шаг, цифры 6 или 7 — вниз на шаг, цифры 8 или 9 — точка остается на месте. Траектория движения первой выпущенной точки (первое ис- пытание) показана на рис. 2.15 (последовательность случайных цифр 8—6—5—1—5—9—0—7). Результаты первых тридцати ис- пытаний приведены на графике рис. 2.16.
Глава 3 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В главе рассматриваются различные методы решения за- дачи Коши и краевой задачи для обыкновенных диффе- ренциальных уравнений. Подробно рассмотрены метод Эйлера и ошибки, возникающие при его реализации на компьютерах; семейство одношаговых методов Рунге — Кутты, многошаговые методы. В качестве примеров мето- дов решения краевой задачи излагаются методы стрельбы и разностный. 3.1. Основы теории обыкновенных дифференциальных уравнений ОБЫКНОВЕННЫМ ДИФФЕРЕНЦИАЛЬНЫМ УРАВНЕНИЕМ называ- ется уравнение вида F(x, у, у', ..., г/М) = 0, (3.1) связывающее одну независимую переменную х, искомую функ- цию у(х) и ее производные вплоть до n-го порядка. ПОРЯДКОМ обыкновенного дифференциального уравнения называется поря- док старшей производной от искомой функции. Дифференциальное уравнение называется ЛИНЕЙНЫМ, если оно имеет вид ап(х)г/(п) + ап 1(х)г/<п' + ... + а^у' + aQ(x)y + f(x) = 0.
126 Глава 3. Численные методы решения... дифференциальных уравнений Так, например, у" - х2у + х2 = О — линейное дифференци- альное уравнение второго порядка; у" + еу = 0 — нелинейное уравнение. ОБЩИМ ИНТЕГРАЛОМ уравнения (3.1) называют функцию Ф(х, у, ср ..., сп), (3.2) связывающую независимую переменную х, искомую функцию у(х) и п постоянных интегрирования ср ..., сп с помощью уравне- ния Ф(х, у, Ср ..., сл) = 0. Таким образом, функция у{х) входит в функцию (3.2) неявным образом, причем число постоянных ин- тегрирования равно порядку уравнения. ОБЩИМ РЕШЕНИЕМ обыкновенного дифференциального уравнения называется функция у(х) = ср(х, Ср ...,сп), (3.3) связывающая независимую переменную и п постоянных интег- рирования, иначе говоря, уравнение (3.3) определяет функцию у(х) явным образом. Для определения постоянных интегрирования задаются ДОПОЛНИТЕЛЬНЫЕ УСЛОВИЯ. Их число равно числу постоянных интегрирования. Если в дополнительные условия подставить функцию (3.2) и решить полученную систему относительно по- стоянных интегрирования ср ..., сп, а затем полученные реше- ния подставить в (3.2), то получим ЧАСТНЫЙ ИНТЕГРАЛ Ф^х, у(х)) = 0. Аналогичные процедуры с общим решением (3.3) дают част- ное решение у(х) = ср^х). Если все дополнительные условия задаются более чем в одной точке х0, то совокупность обыкновенного дифференциального уравнения и дополнительных условий называют ЗАДАЧЕЙ КОШИ для рассматриваемого дифференциального уравнения. В этом случае дополнительные условия называют НАЧАЛЬНЫМИ УСЛО- ВИЯМИ. Если дополнительные условия задаются более чем в одной граничной точке расчетной области, то совокупность обыкновен- ного дифференциального уравнения и дополнительных условий называют КРАЕВОЙ ЗАДАЧЕЙ для рассматриваемого уравнения, а дополнительные условия — ГРАНИЧНЫМИ или КРАЕВЫМИ УСЛОВИЯМИ. КУТТА МАРТИН ВИЛЬГЕЛЬМ (Kutta Martin Wilhelm; 1867—1944) — немецкий физик и математик. В математи- ке К. развил метод Рунге (метод Рунге — Кутты) численно- го решения задачи Коши для системы обыкновенных диф- ференциальных уравнений.
3.1. Основы теории обыкновенных дифференциальных уравнений 127 Таким образом, если задать числа у0, yv уп_ р то задача Коши для уравнения (3.1) имеет вид F(x, у, у', ..., £/<"’) = О, У(хо) = у0, У'(хо) = у1, У(п 1'(^0) = .У,11- Порядок старшей производной в начальных условиях не превы- шает (п - 1), где п — порядок дифференциального уравнения. Если старшая производная в уравнении выражается как функция переменных х, у и производных более низкого поряд- ка, то уравнение называют РАЗРЕШЕННЫМ ОТНОСИТЕЛЬНО СТАРШЕЙ ПРОИЗВОДНОЙ и оно записывается в виде г/(л* = = f(x> у, у', ... у(п Задачу Коши для обыкновенного дифференциального урав- нения n-го порядка </(л) = f(x, у, у', ..., ~ :>) можно свести к за- даче Коши для следующей нормальной системы уравнений у' = 2г(х), z' = г2(х), 2,'. < гп - 1 = ’ 2п - У(х0) = у0, ~ У1> = ^2’ 2п-1(Хо) Уп-Г КОШИ ОГЮСТЕН ЛУИ (Cauchy Augustin Louis; 1789— 1857) — французский математик. В его курсах анализа, ос- нованных на систематическом применении понятия преде- ла, сформулировано представление о непрерывности функ- ции, дано четкое построение теории сходящихся рядов (критерий Коши). В теории аналитической функции комп- лексного переменного К. дал выражение аналитической функции в виде интеграла Коши, получил разложение функции в степенной ряд. В теории дифференциальных уравнений К. поставил одну из важнейших общих задач, развил метод интегрирования уравнений с частными произ- водными первого порядка. К. является одним из создателей теории упругости.
128 Глава 3. Численные методы решения... дифференциальных уравнений Здесь zk l вводятся следующим образом: у'(х) = гг(х) — первое дифференциальное уравнение, у"(х) = z' (х) = 22(х) — второе дифференциальное уравнение, у(п 1цх) = ... = г' 2(х) = 2л х(х) — (п - 1)-е дифференциаль- ное уравнение. Актуальность задачи Коши для многих областей науки и тех- ники явилась причиной разработки для ее решения большого ко- личества методов. Рассматриваются две группы численных мето- дов решения задачи Коши. • ОДНОШАГОВЫЕ МЕТОДЫ, в которых для нахождения реше- ния в некоторой точке отрезка используется информация лишь в одной предыдущей точке. К этим методам относятся методы Эйлера и Рунге — Кутты. • МНОГОШАГОВЫЕ МЕТОДЫ, в которых для отыскания реше- ния в некоторой точке используется информация о решении в не- скольких предыдущих точках. К таким методам относится метод Адамса. Рассмотрим применение этих методов к дифференциальным уравнениям первого порядка. Алгоритм для случая системы диф- ференциальных уравнений легко получается из алгоритма для решения одного уравнения. Необходимо отметить, что подобные методы можно приме- нять только к хорошо обусловленным задачам, т. е. к таким зада- чам, решение которых мало изменяется в случае малого измене- ния начальных условий. В противном случае небольшие ошибки, которые неизбежны при решении задачи, могут существенно из- менить решение. ПРИМЕР. В качестве плохо обусловленной задачи рассмот- рим решение следующей задачи Коши на отрезке [0, 100]: и'(х) = и — х, и(0)=1. Общим решением этого дифференциального уравнения является и(х, с) = 1 + х + сех. Из начального условия находим, что постоянная с = 0, поэтому и(100) = 101. Предположим, что начальное условие изменилось и и(0) = = 1,000001. Следовательно, изменится и постоянная с в общем решении. В этом случае с = 10"6 и решение имеет вид и(100) =
3.1. Основы теории обыкновенных дифференциальных уравнений 129 = 2,7 • 1037, т. е. изменение начального условия на 10'6 изменило решение на 35 порядков. Постановка краевых задач для обыкновенных дифференциальных уравнений Постановку краевых задач для обыкновенных дифференциаль- ных уравнений рассмотрим на примере уравнения второго поряд- ка с переменными коэффициентами; у" + р(х)у'+ q(x)y = f(x), хе [0,1]. • Если на границах х = 0 и х — 1 заданы значения искомой функции, то такие граничные условия называются ГРАНИЧНЫ- МИ УСЛОВИЯМИ ПЕРВОГО РОДА, а задачу у" + р(х)у'+ q(x)y = f(x), У(О) = Уо, у(1) = г/р где у0, уг — заданные числа, называют ПЕРВОЙ КРАЕВОЙ ЗА- ДАЧЕЙ. • Если на границах х = 0 и х = 1 заданы значения производ- ных искомой функции, то такие граничные условия называются ГРАНИЧНЫМИ УСЛОВИЯМИ ВТОРОГО РОДА: У'(®) = Уо’ /(1) = а соответствующая задача называется ВТОРОЙ КРАЕВОЙ ЗАДАЧЕЙ: у" +р(х)у' + q(x)y = f(x), У'(0) = У0, г/'(1) = </р • Если на границах задана линейная комбинация первой про- изводной и самой искомой функции, то такие граничные условия называются ГРАНИЧНЫМИ УСЛОВИЯМИ ТРЕТЬЕГО РОДА: а0/(°) + P0J/(°) = Уо’ «^'(1) + Ргг/(1) = г/р Такая задача называется ТРЕТЬЕЙ КРАЕВОЙ ЗАДАЧЕЙ: У" +Р(х)у' + q(x)y = Дх), <х0 у'(°) + Эо Jrt°) = Уо» а1 У '(1) + Pi «/(1) = г/р
130 Глава 3. Численные методы решения... дифференциальных уравнений Очевидно, что если порядок обыкновенного дифференциаль- ного уравнения равен п, то порядок старшей производной в крае- вых условиях не может превышать значения (п - 1). В заключение приведем одну из постановок краевой задачи для обыкновенного дифференциального уравнения четвертого порядка, встречающегося в теории упругости: y(IV) +р(х)у = f(x), У(О) = Уо> • /(0) = Ур У(1) = У2> /(1) = Уз- Здесь у0, yv у2, у3 — заданные числа. 3.2. Понятие о методе конечных разностей. Порядок точности разностной схемы Численное решение обыкновенных дифференциальных уравне- ний и уравнений в частных производных во многих случаях осу- ществляется методом конечных разностей. МЕТОД КОНЕЧНЫХ РАЗНОСТЕЙ сводит решение дифференциальных уравнений к ре- шению линейных или нелинейных уравнений с достаточно разре- женными матрицами. При этом построение решения в методе се- ток осуществляется в три этапа. • Область непрерывного изменения аргумента (или аргумен- тов) заменяется конечным дискретным множеством точек, назы- ваемых РАЗНОСТНОЙ СЕТКОЙ. В разностной сетке выделяются внутренние и граничные узлы. Решение разыскивается во внут- ренних узлах, а в граничных узлах значение искомой функции задается при аппроксимации граничных условий исходной диф- ференциальной задачи. Функция дискретного аргумента, опреде- ленная на разностной сетке, называется СЕТОЧНОЙ ФУНКЦИЕЙ. • Дифференциальные уравнения и граничные условия заме- няются по определенным правилам своими разностными анало- гами. Разностные операторы, соответствующие дифференциаль- ному уравнению, записываются во внутренних узлах сетки. Раз- ностные операторы, соответствующие граничным условиям, за- писываются в граничных узлах. В результате получается система
3.2. Понятие о методе конечных разностей... 131 алгебраических уравнений, число которых пропорционально числу внутренних узлов разностной сетки. • Осуществляется решение системы алгебраических уравне- ний каким-либо из известных методов. В большинстве случаев получаемая система уравнений является системой линейных ал- гебраических уравнений очень большого порядка (как правило, N > 100), но с весьма разреженной матрицей. В случае нелинейных систем итерационные процедуры, как правило, сводят их к линейным системам. Продемонстрируем эти этапы на примере решения задачи Коши для простейшего линейного уравнения первого порядка. Пусть требуется найти решение задачи Коши на интервале (0, 1) для уравнения g+Au = 0, u(O) = uo. (3.4) Непрерывный интервал можно заменить множеством точек 0, хр х2, ..., хп, ..., 1. Расстояние между точками Л называ- ется шагом разностной сетки. В общем случае эти шаги могут быть переменными. Рассмотрим случай постоянного шага и при- мем хп = nh. Заменим дифференциальное уравнение разностным в точке хп: dx h n'i ’ Таким образом, первая производная аппроксимирована одно- сторонней разностью вперед с первым порядком точности. Пере- пишем уравнение (3.5) в виде +Аип_1 = 0. (3.6) Здесь и(хп _ т + Л) = ип, а и(хп _ J = ип _ г Из (3.6) следует, что un = (l-Ah)un^. (3.7) Из рекуррентного соотношения (3.7) имеем точное решение раз- ностного уравнения (3.6) и„ = и0(1-АЛ)" = н0(1-АЛ)Л. (3.8) Очевидно, что точное решение разностных уравнений можно получить лишь для простейших случаев. Точное решение задачи (3.4) имеет вид «(*„) = иое~Ах". (3.9)
132 Глава 3. Численные методы решения... дифференциальных уравнений Определим погрешность разностного решения. Имеем 3(хп) = [е-^-(1-А/г)Л]и0. (3.10) Предполагая шаг разностной схемы малым, представим член (1 - Ah) h в виде (1-А/г)" ~1п(1-АЛ) \-Ah - + О(Л2)1 Л « L J = е = е -—х = е-Ах„е 2 _ еО(Л2) = е-Ах„ 1 - + O(h2) [1 + О(й2)] = д х = е^хп _ h—He^ + O(h2). 4j Подставляя это выражение в (3.10), получим А2х 3(хп) = hu0—~ e Ax" + O(h2) = О(Л). (З.И) Таким образом, величина погрешности имеет первый поря- док точности и совпадает в данном случае с порядком аппрокси- мации производной. В общем случае порядок погрешности реше- ния определяется не только порядком аппроксимации дифферен- циального уравнения, но и порядком аппроксимации граничных условий. Говорят, что разностная схема (3.5) имеет первый порядок точности на интервале. Можно показать, что на шаге эта разност- ная схема имеет второй порядок точности. Представим точное ре- шение в виде ряда Тейлора в точке х . Имеем , , du I . Л2 d2u I . -н “п = ип-1+Л^- +O(h3). " п 1 dx 2! dx2 In In Поскольку (3.12) du dx d2u dx2 = +A4i n n TO un^(l-Ah)un^+A2un_^ + O(h3). (3.13) Из соотношений (3.7) и (3.13) следует, что погрешность на шаге имеет порядок O(h2). Очевидно, что погрешность на интер-
3.3. Метод Эйлера. Метод Эйлера с пересчетом 133 вале выше на порядок, так как она накапливается по мере увели- чения числа шагов. Отметим еще, что погрешность решения стремится к нулю при Л —> 0, т. е. решение разностной задачи сходится к точному. Однако для сходимости необходимы не толь- ко аппроксимация дифференциального уравнения, но и устойчи- вость разностной схемы. Не углубляясь в проблему устойчивос- ти, отметим лишь, что свойство устойчивости можно трактовать как равномерную зависимость решения разностной задачи отно- сительно возмущений правых частей и граничных условий от шага h. В теории разностных схем доказывается, что разностная схе- ма является сходящейся, если она обладает свойством аппрокси- мации и устойчива. 3.3. Метод Эйлера. Метод Эйлера с пересчетом Метод Эйлера является простейшим методом решения задачи Ко- ши и имеет невысокую точность, поэтому на практике его ис- пользуют достаточно редко. Однако на его основе в дальнейшем легче объяснить алгоритмы более эффективных (и, как правило, более сложных) методов и способы построения и исследования этих алгоритмов. Рассмотрим задачу Коши для дифференциального уравнения первого порядка g=/(x,K), хе[о,&], (3.14) и(а) = и0. ЭЙЛЕР ЛЕОНАРД (Euler Leonhard; 1707—1783)— вели- кий математик, механик и физик, швейцарец по происхож- дению, академик Петербургской АН. Необыкновенно ши- рок был круг исследований Э., охватывавших все отделы современной ему математики и механики, теорию упругос- ти, оптику, теорию музыки, баллистику, теорию машин, морскую науку и т. д. Основные достижения Э. как матема- тика заключались в разработке математического анализа. Он стал создателем вариационного исчисления, теории дифференциальных уравнений, теории специальных функ- ций. По выражению П. Лапласа, Э. явился общим учите- лем математиков 2-й половины XVII в. Мировое признание принесли Э. его труды по механике.
134 Глава 3. Численные методы решения... дифференциальных уравнений Обозначим границы отрезка а и b через х0 и xN соответствен- но и введем на отрезке [a, 6] сетку (в общем случае неравномер- ную) значений аргумента х такую, чтобы выполнялось соотноше- ние х0 < хг < ... < xN. Выполним разложение решения и (х) в ок- рестности узла сетки хп по формуле Тейлора. Обозначив шаг сет- ки через hn = хп + j - хп и и(хп) через ип, получаем и , = и + Л и' + — h2 и" + ih2 и’" + ... . (3.15) п + 1 п п п 2! п п 3! п п v ’ Если функция f имеет непрерывную р-ю производную, то в соотношении (3.15) можно оставлять члены вплоть до + г). Эти производные можно найти, дифференцируя правую часть уравнения (3.14) требуемое число раз. Например, для первой и второй производных имеем и'(х) = f(x, и), »"'*> - е и’м=е “> -+ >' - >':+f'- = fs;+ к Аналогично можно получить производные более высоких по- рядков. Однако использование формулы (3.15) с большим числом членов имеет ряд недостатков: во-первых, с ростом порядка про- изводной выражение для нее может оказаться очень сложным; кроме того, если функция f известна лишь приближенно или за- дана таблично, ее производные находятся с большой ошибкой. В связи с этим в разложении (3.15) оставляют только два члена. При такой замене вместо точного решения u(xn + J получается его приближенное значение и(хп + j), которое находится по формуле ип + 1 = ип + f(x„, и ). (3.16) n + lnn/vn’n/ Так как значение u(x0) = и0 известно из начального условия, то, последовательно пользуясь формулой (3.16), находим прибли- женные решения uv и2, ..., uN. Формула (3.16) записана для слу- чая неравномерной сетки. Пола- гая шаг сетки hn = h постоянным, получим ип + 1 = ип + hf(xn’ ип)- (3.16а) Формула (3.16а) является ОСНОВ- НОЙ ФОРМУЛОЙ МЕТОДА ЭЙЛЕРА или МЕТОДА ЛОМАНЫХ. Послед- нее название становится понят- ным из геометрической интер- претации схемы, представленной
3.3. Метод Эйлера. Метод Эйлера с пересчетом 135 на рис. 3.1, на которой изображено семейство интегральных кри- вых уравнения (3.14). Как видно, решение задачи Коши по методу Эйлера дает ре- шение, не совпадающее ни с одной из интегральных кривых, и является ломаной линией, совпадающей на каждом шаге с каса- тельной к соответствующей интегральной кривой. Из рис. 3.1 следует, что метод Эйлера дает одностороннее приближение к точному решению и(х). Сравнение формул (3.15) и (3.16) показывает, что метод Эйлера обладает вторым порядком точнос- ти на шаге, являясь в то же время методом первого порядка ап- проксимации на интервале. Существует несколько модификаций метода Эйлера. Остано- вимся на одной из них — методе Эйлера с пересчетом, который называют также МЕТОДОМ ЭЙЛЕРА — КОШИ. В этом методе зна- чение ип + х находится по формуле + 1 = «„ + I [Лх„, ип) + f(xn + 1,ип + ,)], (3.17) т. е. вместо тангенса угла наклона касательной к интегральной кривой в точке (хп, ип), который имеет место в формуле (3.16а), выражающей метод Эйлера, используется полусумма значений тангенсов углов наклона касательных в известной (хп, ип) и иско- мой (xn + р ип + J точках. Поскольку, однако, значение ип + 2 неиз- вестно, то (3.17) есть в общем случае нелинейное уравнение отно- сительно ип + р которое можно решить различными методами, из- ложенными в главе 1. В рассматриваемом случае логично использовать метод прос- той итерации, представленный формулой (1.10), поскольку нели- нейное уравнение уже разрешено относительно ип + г Тогда, если номер итерации обозначить верхним индексом, итерационный процесс запишется в виде |Un) + f(xn + й, и<*> ,)]. (3.18) В качестве значения u^+i можно принять либо ип, либо = = ип + hf(xn, ип), т. е. использовать значение, вычисленное по формуле Эйлера (3.16а). В этом случае в первой итерации имеем I = “п + I + f [(*„ + h, Un + йДх„, «„)]}. (3.19) Формула (3.19) и есть ОСНОВНАЯ ФОРМУЛА МЕТОДА ЭЙЛЕРА С ПЕРЕСЧЕТОМ. Подобные схемы часто называют схе- мами типа ПРОГНОЗ-КОРРЕКТОР (ПРЕДИКТОР-КОРРЕКТОР). Сна-
136 Глава 3. Численные методы решения... дифференциальных уравнений чала по формуле (3.16) определяется прогнозируемое приближе- ние решения, а затем по формуле (3.19) это решение уточняется. Метод Эйлера с пересчетом обладает третьим порядком точ- ности на шаге. Действительно, из соотношения (3.15) следует “n + i = «n + V(xn,Hn)+^ g+f(x„,u„)g +О(Л3). (3.20) Разлагая в ряд второй член в квадратных скобках (3.19), имеем /[хп + Л, ип + hf(xn, ип)] = Дх„, ип) + g Л + % hf(xn, ип). (3.21) Подставляя правую часть соотношения (3.21) в последний член выражения (3.19), получаем “я +1 = “я + Un) + [g + Дх„, Un) g ]. (3.22) Сравнивая соотношения (3.20) и (3.22), видим, что метод Эйлера с пересчетом обладает третьим порядком точности на шаге и, со- ответственно, вторым на интервале. Метод Эйлера с пересчетом дает двустороннее приближение к решению. Отметим, что поскольку нулевое приближение итерационно- го процесса задано, то итерационный процесс (3.18) можно про- должать до достижения заданной точности. Однако последующие итерации не повышают порядка точности схемы, и поэтому на практике используют одну-две итерации. Будет показано, что ме- тод Эйлера и метод Эйлера с пересчетом являются частными слу- чаями двухстадийных схем Рунге — Кутты. 3.4. Метод Рунге - Купы Метод Рунге — Кутты позволяет строить схемы различного по- рядка точности. Основная идея метода состоит в построении специального алгоритма — такого, чтобы приращение функции на шаге Ди = ип + г - ип совпадало с приращением Au, которое оп- ределяется из ряда Тейлора (3.15) с учетом возможно большего числа членов. При этом вторые и следующие производные опре- деляются не дифференцированием, а путем многократного вы- числения функции f(x, и) в некоторых промежуточных точках между хпи хп + 1.
3.4. Метод Рунге - Кутты 137 Проиллюстрируем основные идеи метода на примере получе- ния схем второго порядка точности. Оставим в разложении (3.15) члены вплоть до О(Л2), имея в виду, что последний член разложения соответствует предпола- гаемому порядку точности схемы. Имеем и„ ц. 1 = + Ьи' + h2u". п + I п п о п (3.23) Чтобы избежать явного дифференцирования, заменим вторую производную и" в соотношении (3.23) разностью ип = Т-СЯх, и)]~ -Л*п- А " dxL/' Дх (3.24) Величины х, й и Ах подбираются так, чтобы обеспечить нуж- ный порядок точности. Подставляя выражение (3.24) в (3.23), получаем Un h 1 = Un + hun + 2 U) " U")]- (3,25) Полагая х = хп + yh, й= ип + Sh, обозначая а — h/2Ax и имея в виду, что Дх = х - хп, и, следовательно, у = 1/2а, а также учиты- вая, что и'п = f(xn, un), переписываем выражение (3.25) в виде Un + l = Un + h (1 - а)Дх„, ип) + а/(х„ + , ип + 5ЛJ (3.26) Параметры а и 5 определяются из условия наилучшего соответст- вия выражения (3.26) ряду (3.15). Принимая f(xn + А, и + = Дх„, и ) + А + 8/г^ (3.27) Ч " 2а п J п’ п’ 2а Эх ди v ’ и подставляя соотношение (3.27) в (3.26), имеем Ч + 1 = Ч + К(хп, ип) + | Л2 (А + 25а g (3.28) Перепишем ряд (3.15) в виде 4.1 = 4 +Wn,un)+i/r2g + О(/г3). (3.29) Из сравнения формул (3.27) и (3.29) видно, что первые три члена в этих формулах совпадают, если аЗ = f(xn, ип)/2. Выражая 5 че- рез а и подставляя в (3.26), получаем однопараметрическое се-
138 Глава 3. Численные методы решения... дифференциальных уравнений мейство разностных схем Рунге — Кутты второго порядка точ- ности. В результате vr + + + Л, «,+ Л№„ (З.ЗО> Схема (3.30) при а * 0 имеет третий порядок точности на ша- ге и второй на интервале. Из (3.30) можно получить все рассмот- ренные разностные схемы. Так, при а = 0 имеем метод Эйлера, выражаемый формулой (3.16а), при а = 1/2 — первую итерацию метода Эйлера с пересчетом, которому соответствует формула (3.19), а при а=1 — так называемый метод хорд, которому соответствует соотношение + hf( хп + % , и„ + f(x. w„)Y (3.31) n + 1 n ' \ n O’ n O' ' n1 П' 1 ' ’ Аналогичным образом могут быть получены и схемы Рунге —Кутты более высокого порядка точности. В настоящее время наиболее распространены схемы четвертого порядка точ- ности. Например, схема Рунге — Кутты четвертого порядка точ- ности, которая используется в большинстве стандартных про- грамм на компьютерах, имеет вид «n + 1 = «n+|(^ + 2^2 + 21f3 + lf4), ^1 = Лх„,и„), К2 = /(х„+1,^+1^), Кз = f(xn + I > + 1*2} К, = f(xn + h,un + hK3). 3.5. Многошаговый метод Адамса В предыдущих схемах решение в точке хп + г вычисляется с ис- пользованием решения только в одной точке хп. Логично пред- положить, что можно повысить точность метода, если использо- вать информацию о поведении решения в предыдущих точках хп, хп_1, ... . Такие методы получили название МНОГОШАГОВЫХ. Общая схема построения многошаговых методов выглядит следующим образом. Пусть нам известно приближенное решение
3.5. Многошаговый метод Адамса 139 в нескольких узлах сетки хп, хп _ р ..., хп _ . Следовательно, в этих точках отрезка известно и значение f{xt, и() правой части дифференциального уравнения (3.14) при i = n, п - 1, ..., п - р, причем f(x, u(x)) будет уже функцией только одной переменной f(x, u(x)) = F(x). Заменим функцию F(x) интерполяционным мно- гочленом Лагранжа Lp(x) и вычислим значение ип + {, проинтег- рировав (3.14) на отрезке [хп, хп + J. Находим un + i = un+ j Lp(x)dx. (3.32) Проводя интегрирование, находим разностную схему для реше- ния дифференциального уравнения. Порядок схемы определяет- ся величиной остаточного члена интерполяционного полинома. В случае, когда для построения интерполяционного много- члена используются четыре узла хп, хп __ р хп _ 2, хп _ 3, получается ФОРМУЛА АДАМСА, которая на сетке с постоянным шагом запи- сывается в виде «п. 1 = (55^п - 59Р„_, + 37Fn_2-9Fn_3) (3.33) с локальной ошибкой дискретизации еп<§5^иО)(х). Таким образом, метод Адамса имеет четвертый порядок точности на интервале. Чтобы начать счет по схеме Адамса, необходимо знать решение в четырех начальных точках х0, хр х2, х3. По существу, интерполяционный многочлен Lp(x) в формуле (3,32) используется вне области интерполяции, т. е. в данном случае это экстраполяционный многочлен. Однако, поскольку интервал (хп, хп + J мал, ошибка за счет экстраполяции невелика. Недостающие значения функции вычисляются в точках хр х2, х3, как правило, по методу Рунге — Кутты соответствующего по- рядка. Это является недостатком метода, так как увеличивает объем программы для компьютера. Преимущество многошаго- вых методов заключается в том, что на каждом шаге правая часть АДАМС ДЖОН КАУЧ (Adams John Couch; 1819—1892) — английский астроном и математик, автор работ по небесной механике. А. известен теоретическим открытием планеты Нептун, сделанным им в 1845 г. независимо от У. Леверье. В математике используется метод Адамса численного ин- тегрирования обыкновенных дифференциальных уравне- ний.
140 Глава 3. Численные методы решения... дифференциальных уравнений дифференциального уравнения вычисляется только один раз, а в методе Рунге — Кутты четвертого порядка точности на каждом шаге функция f(x, и) вычисляется четыре раза. Здесь, естествен- но, необходимо учитывать соотношение шагов двух методов, обеспечивающих заданную точность. В случае, когда правая часть дифференциального уравнения является функцией только одной переменной х, остаточный член в формуле Рунге — Кутты четвертого порядка точности на равномерной сетке равен оста- точному члену Е формулы трапеций численного интегрирования с шагом Л/2, составляющему с < &__“ hiм '' 2880 ''4' В формуле Адамса остаточный член е„<4^Л<М4. Таким образом, остаточный член в формуле Рунге — Кутты примерно на три порядка меньше, чем в формуле Адамса. Следо- вательно, для получения результата с одной и той же точностью можно шаг в методе Рунге—Кутты брать примерно в шесть раз большим, чем в формуле Адамса. Поэтому в методе Рунге — Кутты функция f(x, u(x)) вычисляется меньшее число раз. Достоинство метода Адамса по сравнению с методом Рунге — Кутты заключается в простоте оценки остаточного чле- на метода. 3.6. Неявные схемы. Понятие о жестких системах Рассмотрим следующую разностную схему для численного реше- ния уравнения (3.14) при условии, что вычислено значение функ- ции и в точке хп. Имеем un + i = un + h[sf(xn, un) + (l-s)f(xn + 1, un + l)], (3.34) где s — параметр разностной схемы такой, что 0 < х < 1. Говорят, что разностная схема является явной, если правая часть диффе- ренциального уравнения записывается в известной точке (хп, ип). Схема называется неявной, если правая часть дифференциально-
3.6. Неявные схемы. Понятие о жестких системах 141 го уравнения записывается в неизвестной точке (хп + р ип + Схема называется полуявной (полунеявной), если правая часть с определенными весами записывается в известной и неиз- вестной точках. В соответствии с этими терминами схема (3.34) является явной при 8=1, неявной при 8 = 0 и полуявной (полунеявной) при 0 < s < 1. В явных схемах решение в точке хп + р ип + j определяется непосредственно из алгебраических со- отношений с известными коэффициентами. Все рассмотренные выше схемы методов Эйлера, Рунге — Кутты, Адамса (кроме схе- мы метода Эйлера с пересчетом) являются явными. В неявных и полунеявных схемах при s 1 для нахождения решения в точке (хп р ип + 0 необходимо решить в общем случае нелинейное уравнение (3.34). Нелинейное уравнение (3.34) можно разрешить различными методами, например, методами простой итерации, дихотомии, Ньютона и т. д. В рассматриваемом случае логично использовать метод простой итерации, поскольку нелинейное уравнение (3.34) уже разрешено относительно ип + г Тогда, если номер итерации обозначить верхним индексом, итерационный процесс можно за- писать в виде “nV? = Un + hlSf(Xn’ ип) + (! - 8^Хп . 1’ «nil)]. (3.35) Известно, что сходимость метода простой итерации зависит от выбора начального приближения. В рассматриваемом случае в качестве можно выбрать значение ип или какое-либо дру- гое, например, значение, вычисленное по методу Эйлера, до- статочно близкое к искомому значению ип + г Вычисления по формуле (3.35) продолжаются до получения заданной точности е = И * D - и<*>|. Таким образом, очевидно, что при расчете на шаге явные схе- мы требуют значительно меньшего числа операций, чем неяв- ные. Однако неявные схемы значительно более устойчивы, чем явные. Поэтому в неявных схемах ограничения на шаг разност- ной схемы, связанные с устойчивостью, как правило, менее жест- кие, чем в явных. В результате может оказаться, что общее число операций при заданной точности и при расчетах на интервале ин- тегрирования в неявных схемах меньше, чем в явных. В конечном итоге о качестве разностной схемы следует судить по числу операций, необходимых для получения решения с задан- ной точностью. Этот критерий и является основным при сравне- нии явных и неявных схем.
142 Глава 3. Численные методы решения... дифференциальных уравнений | Понятие о жестких системах уравнений Во многих задачах управления, химической кинетики, неравно- весной динамики газов возникают системы уравнений, содержа- щих некоторые уравнения с малым параметром при старшей про- изводной. Соответственно матрица системы дифференциальных уравнений S (3.36) имеет существенно различные собственные числа. Последнее обстоятельство приводит к тому, что в решении содержатся быст- ро и медленно убывающие члены, которые нужно рассчитывать с одинаковой точностью, что накладывает значительные ограниче- ния на шаги разностной схемы. Обозначим через Xk собственные числа матрицы А и через I так называемое число жесткости. СИСТЕМА называется ЖЕСТКОЙ, если _ . max I Re I 'k min | Re | Такое определение не пригодно, дифференциальному уравнению, случае полагают, что уравнение если система сводится к одному так как для него I = 1. В данном является жестким, если содер- жит малый параметр при старшей производной. Покажем на примере модельного уравнения для химической кинетики, что численное решение жесткого уравнения рацио- нально строить с использованием неявных или полунеявных раз- ностных схем, имея в виду условия устойчивости и ограничения на шаги. Рассмотрим модельное жесткое линейное уравнение, характерное для задач химической кинетики: Я - ? (“* - “>• <3.37) где a(t) — концентрация химического компонента; т — время ре- лаксации; а* — равновесное значение химического компонента, достигаемое при т —> 0. Примем здесь, что тиа* — постоянные и т мало, что характерно для условий приближения системы к рав- новесию. Если обозначить а0 = а(0), то точное решение уравнения (3.37) имеет вид t а = (а0-а*)е т + а*. (3.38)
3.6. Неявные схемы. Понятие о жестких системах 143 Заменим уравнение (3.37) разностным уравнением a-h~ а" - (3-39) Из соотношения (3.39) следует рекуррентное соотношение _ l a.s- а*ж _ h ап + 1 “ 1 + ж( 1 - з) + 1 + ж( 1 - S) ’ Х~ т ' (3.40) Используя (3.40), получаем точное решение разностного урав- нения: an + i = (“o~a*) 1 - аз 1 + ж(1 - з) + а*, (3.41) а точное решение дифференциального уравнения в точке (n + 1) имеет вид ап +1 = (а0 - а*)е +1> + а*. (3.42) Из сравнения выражений (3.41) и (3.42) следует, что реше- ние разностного уравнения (3.41) стремится к точному при ж —> 0 для всех з. Однако порядок точности схемы и устойчивость реше- ния разностного уравнения зависят от величины этого парамет- ра. При 8=1/2 разностная схема является схемой второго поряд- ка точности, а при з = 0 из = 1 — первого. При s = 1 (явная схема типа Эйлера или Рунге—Кутты) и ж » 1 (что имеет место, когда т мало) решение разностного уравнения существенно отличается от точного. Действительно, при s = 1 иж » 1 член в квадратных скобках в уравнении (3.41) равен (-ж)" + т. е. очень велик при больших ж, в то время как в точном решении соответствующий член + очень мал. Из решения (3.41) следует, что максимальный шаг интегрирования при s = 1 для обеспечения устойчивого счета ра- вен 2т. Для задач химической кинетики характерны значения времени релаксации т порядка 10 6—10 9. Поэтому явные схемы позволяют численно решать жесткие уравнения лишь с очень ма- лым шагом h ~ 2т, что делает их абсолютно непригодными даже при использовании достаточно мощных компьютеров. В связи с этим более предпочтительной является неявная схема с з = 0, которая при ж » 1 дает решения, близкие к точно- му. Действительно, при з = 0 член в квадратных скобках в урав- нении (3.41) равен [ 1 /ж]" +1 и качественно верно отражает поведе- ние экспоненты е ж(п + в точном решении. Применение неявной схемы позволяет существенно увеличить шаг интегрирования по сравнению с явными схемами при сохранении устойчивости и не- обходимой точности расчета.
144 Глава 3. Численные методы решения... дифференциальных уравнений 3.7. Постановка краевой задачи для обыкновенного дифференциального уравнения КРАЕВАЯ ЗАДАЧА — это задача отыскания частного решения системы обыкновенных дифференциальных уравнений = f (x, и,, и,., ..., и ), i = 1, 2, ..., п (3.43) dx ‘ i z " с дополнительными условиями, налагаемыми на значения функ- ций и(.(х) не менее чем в двух точках отрезка [а, &]. Следователь- но, краевая задача ставится для системы дифференциальных уравнений порядка не менее второго (или одного дифференциаль- ного уравнения порядка не ниже второго). Свое название краевая задача получила по случаю, в котором дополнительные условия заданы на концах (краях) отрезка [а, б]. Естественно, дополнительные условия могут задаваться и во внутренних точках отрезка. Такие условия называются внутрен- ними краевыми условиями. Краевые условия могут связывать между собой значения нескольких функций, производных функ- ций или комбинаций функций и производных в одной или не- скольких точках отрезка, на котором ищется решение. Точное аналитическое решение краевой задачи удается най- ти крайне редко, так как для этого надо найти общее решение системы дифференциальных уравнений (3.43) и выразить из краевых условий значения входящих в него констант. Поэто- му широкое распространение получили численные методы ре- шения краевых задач таких, как метод стрельбы и разностный метод. 3.8. Метод стрельбы Рассмотрим метод стрельбы на примере решения дифференци- ального уравнения второго порядка и" = f(x, и, и'), х е [а, б] (3.44) с краевыми условиями и(а) = а, (3.44а)
3.8. Метод стрельбы 145 u(b) = р. (3.446) Основная идея метода стрельбы заключается в сведении решения краевой задачи (3.44)—(3.446) к решению серии задач Коши. Чтобы поставить задачу Коши для уравнения (3.44), необхо- димо в какой-либо одной точке отрезка задать два дополнитель- ных условия. В точке а известно одно дополнительное условие и(а) = а. Поэтому зададим в этой точке значение производной функции и'(а). Так как это значение заранее неизвестно, то зада- дим его равным некоторому произвольному значению г|. В ре- зультате получим задачу Коши и" = f(x, и, и'), (3.45) и(а) = а, (3.45а) и'(а) = Т|. (3.456) Решая эту задачу Коши каким-либо численным методом, по- лучаем ее решение и(х, р), зависящее от т| как от параметра. Так как значение т] выбрано произвольно, то решение задачи Коши удовлетворяет условию краевой задачи в точке а и не удовлетво- ряет ее условию в точке Ь. Таким образом, необходимо менять па- раметр т] таким образом, чтобы решение задачи Коши в точке b совпадало с условием (3.446). Следовательно, решение краевой задачи сводится к нахождению корня нелинейного алгебраиче- ского уравнения F(r\) = u(b, р)-р = О. (3.46) При этом функция Др) задана не аналитически, а в виде таб- лицы чисел, которая составляется при решении серии задач Ко- ши. Решение уравнения (3.46) можно искать методом дихото- мии. Делают пробные выстрелы, т. е. решают задачу Коши с раз- ными значениями Т] до тех пор, пока среди величин (и(Ь, г|) - 0) не окажется двух разных по знаку. Пара соответствующих значе- ний ^(г|) делится пополам и находится новое значение т), с кото- рым решается задача Коши. Такая процедура повторяется до по- лучения условия (3.456) с необходимой точностью. Для ускорения сходимости к корню уравнения (3.46) можно применять другие методы, например метод секущих. Для этого делают два расчета с произвольными значениями т](0) и ц(1), а сле- дующие значения Т] вычисляют по формуле n(^i) = nW_ (nw - 1))[^(Ь> nw) - Pl u(b, - u(b, гр-1))
146 Глава 3. Численные методы решения... дифференциальных уравнений Простота алгоритма метода стрельбы и возможность исполь- зования стандартных программ решения задачи Коши позволяют успешно применять его при решении как линейных, так и нели- нейных дифференциальных уравнений. 3.9. Конечно-разностный метод решения краевых задач Идея метода заключается в сведении краевой задачи к решению системы алгебраических уравнений путем замены производных в дифференциальном уравнении и краевых условий конечно-раз- ностными соотношениями. Рассмотрим идею метода на примере краевой задачи для уравнения второго порядка и" + А{х)и' + В(х)и = f(x), (3.47) и(а) — а, (3.47а) и(Ь) = р. (3.476) Введем на [а, Ь] сетку а = х0 < хг < ... < хп = Ь. Для простоты будем полагать шаг сетки постоянным. Будем искать решение не на всем отрезке [а, Ь], а лишь в (N - 1) узлах сетки. Таким обра- зом, нам необходимо найти (N - 1) неизвестных значений функ- ции и в узлах сетки. Воспользуемся для аппроксимации произ- водных функций формулами численного дифференцирования (см. § 2.9—2.12): Ct П и” = l-2(ui_l-2ui+ui+l) + O(h2), i=l,2, N — 1. (3.48) Такую аппроксимацию можно записать для каждого внут- реннего узла сетки и получить систему линейных уравнений (N - 1)-го порядка, если подставить формулы (3.48) в уравнение (3.47). Два недостающих уравнения получаем из краевых усло- вий (3.47а) и (3.476). Введя обозначения = 1/Л2 - А;/2Л,
3.10. Интегральные уравнения 147 i = 1, 2, 1. (3.49) bt = 2/Л2 - Bt, ct = 1/Л2 + А;/2Л, запишем эту линейную систему в виде aiUi ~l - ^lUl + CiUi + l = «0 = а, “„ = ₽• Матрица этой линейной системы — трехдиагональная, и поэтому решать ее можно методом прогонки (см. § 1.5). При этом, как обычно, на прямом ходе определяются прогоночные коэффици- енты, а на обратном — неизвестные ut. Устойчивость и коррект- ность прогонки, как известно, обеспечивается условием преобла- дания диагональных элементов. Описанный метод можно применить и в случае, если в крае- вые условия (3.47а) и (3.476) входят линейные комбинации функций и первых производных. 3.10. Интегральные уравнения ЛИТЕРАЛЬНЫМ называют уравнение, в котором неизвестная функция и(х) находится под знаком интеграла. Одномерное не- линейное интегральное уравнение имеет вид ь J 7C(x, u(O)d£ = F(x, u(x)), a<x<b, (3.50) a где ядро K(x, и) и правая часть F(x, и) — заданные функции. К интегральным уравнениям приводят многие физические задачи. Так, задача восстановления переданного радиосигнала u(t) по принятому сигналу f(t) сводится к решению интегрального уравнения типа свертки j K(t - t)u(t) dr = f(t), (3.51) о где ядро K(t - т) зависит от свойств приемной аппаратуры й сре- ды, через которую проходит сигнал. К интегральным уравнени- ям сводятся также задачи образования заданной новой фазы при конденсации и кристаллизации. Интегральные уравнения в некоторых отношениях удобнее дифференциальных. Во-первых, интегральное уравнение содер-
148 Глава 3. Численные методы решения... дифференциальных уравнений жит в себе полную постановку задачи. Например, интегральное уравнение X u(x) = u0+ j и(^)) dE, (3.52) Х!) эквивалентно задаче Коши для дифференциального уравнения =f{x,u), u(x0) = u0, (3.53) ах и однако для уравнения (3.52) не требуется задавать никаких до- полнительных условий, начальных или граничных. Во-вторых, в интегральных уравнениях переход от одной пе- ременной ко многим является естественным. Так, многомерным аналогом уравнения (3.50) является уравнение j К(х, u(^)) di; = F(x, u(x)), х = {хр х2, ...,xp}eG(x), (3.54) G отличающееся от уравнения (3.50) только тем, что интегрирова- ние проводится по многомерной области G. Поскольку оба урав- нения не требуют дополнительных условий и полностью опреде- ляют задачу, аналогия является полной. Тем самым теоретиче- ское обоснование постановок и методов решения одномерных за- дач непосредственно обобщается на случай многих переменных. Наоборот, в дифференциальных уравнениях переход от од- ной переменной к нескольким, т. е. от обыкновенных дифферен- циальных уравнений к уравнениям в частных производных, яв- ляется принципиальным усложнением, приводит к новым поста- новкам задач и требует новых методов для их обоснования. Далее мы ограничимся рассмотрением одномерного уравне- ния (3.50) и некоторых его частных случаев. | Линейные задачи Лучше всего изучены уравнения, в которые неизвестная функ- ция и(х) входит линейно. Их можно записать в виде ь и(х) - К(х, dE, = f(x), a<x<b. (3.55) ФРЕДГОЛЬМ ЭРИК ИВАР (Fredholm Erik Ivar; 1866— 1927) — шведский математик, известный своими исследо- ваниями по теории линейных интегральных уравнений. Им разработаны общие методы решения некоторых их видов (уравнений Фредгольма).
3.10. Интегральные уравнения 149 Такое уравнение называют УРАВНЕНИЕМ ФРЕДГОЛЬМА ВТОРОГО РОДА: ядро К(х, этого уравнения определено на квадрате Если ядро К(х, £) отлично от нуля только на треугольнике а < £ С х < Ь, т. е. К(х, £) = 0 при х < то уравнение (3.55) пере- ходит в УРАВНЕНИЕ ВОЛЬТЕРРА ВТОРОГО РОДА и(х) - X j К(х, ^)u(^) di; = f(x), а < х < Ь. (3.56) а Это уравнение теоретически исследовать или численно решить много проще, чем уравнение Фредгольма. Если в уравнениях (3.55) и (3.56) отбросить член и(х), оста- вив только и(^) под знаком интеграла, то получим уравнения Фредгольма и Вольтерра первого рода. Задачи для уравнений первого рода являются некорректно поставленными. Для уравне- ний второго рода задачи корректно поставлены; остановимся на этих задачах. Изложим численный метод, позволяющий полу- чать решение одномерных задач с хорошей точностью, а двумер- ных — с удовлетворительной. Он рассчитан на применение компьютера, хотя оценки с небольшим числом узлов сетки мож- но производить вручную. Рассмотрим одномерное нелинейное уравнение (3.50). Возь- мем на отрезке [а, 5] какую-либо квадратную формулу*, напри- мер, линейную формулу с узлами хп и весами сп J N f Ф(£) di; = S с„Ф(х„). (3.57) J п-1 a Введем в квадрате [а < х < Ь, а < £ < Ь] сетку [хп, ^т], где хп и £т являются узлами формулы (3.57). Заменяя интеграл в уравнении (3.50) суммой (3.57), получим систему алгебраических уравне- ний для определения приближенных значений в узлах уп = и(хп) t хт, ут) = F{xn, уп), (3.58) zn = 1 Эту систему целесообразно решать методом Ньютона. * Нелинейные квадратурные формулы почти никогда не исполь- зуются. ВОЛЬТЕРРА ВИТО (Volterra Vito; 1860—1940) — итальян- ский математик. Наиболее известны его работы в областях дифференциальных уравнений с частными производными, интегральных (уравнения Вольтерра) и интегро-дифферен- циальных уравнений, функционального анализа и теории упругости.
150 Глава 3. Численные методы решения... дифференциальных уравнений Неоднородное уравнение Фредгольма (3.55) приводит к линей- ной неоднородной алгебраической системе yn-^t^mKnmym-fn, fn = f{xn). (3.59) m = l Разностное решение легко определяется методом исключения Гаусса. Уравнение Волътерра (3.56) получают из уравнения Фред- гольма (3.55), полагая К(х, ^) = 0 при х < Алгебраическая сис- тема (3.59) становится при этом треугольной у-~К ^cmKy=f. l<n<N (3.60) & п т пт^т 1 т’ v ' т = 1 и решается обратным ходом метода Гаусса всего за (3/2)А2 дейст- вий. Поэтому здесь объем вычислений остается умеренным даже при N = 1000, что позволяет проводить расчеты с очень высокой точностью. | Выбор квадратурной формулы Большинство задач приходится решать, используя сравнительно небольшое число узлов N. Поэтому для получения хорошей точ- ности целесообразно выбирать квадратурные формулы высокого порядка точности, разумеется, если К(х, ^) и f(x) имеют доста- точное число непрерывных производных. Обычно наилучшие результаты для достаточно гладких ре- шений дают квадратурные формулы Гаусса или Гаусса — Крис- тоффеля; при числе узлов k их порядок точности р = 2k. Можно также использовать простейшую формулу трапеций, последова- тельно сгущая сетки вдвое от Nr = 2 до Nk = 2к и уточняя решение способом Рунге; это также дает результат с порядком точности* р = 2k, но требует использования существенно большего числа уз- лов, чем в формулах Гаусса. * Каждая лишняя сетка позволяет повысить порядок точности на 2, поскольку погрешность формулы трапеций разлагается по четным сте- пеням шага h. КРИСТОФФЕЛЬ ЭЛЬВИН БРУНО (Christoff el El win Bruno; 1829—1900)— немецкий математик, известный работами в области теории функций, теории дифференциальных уравнений с частными производными, теории инвариантов алгебраических форм и теории дифференциальных квадра- тичных форм, где им введен (1869) символ, носящий его имя. Этот символ используется, в частности, при записи элементов тензора кривизны, который иногда называют вследствие этого тензором Римана — Кристоффеля.
Глава 4 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ Уравнения в частных производных описывают широкий круг физических задач в таких областях, как механика сплошных сред, термодинамика, квантовая механика, электродинамика, теория упругости и многих других. Аналитическое решение уравнения в частных произ- водных удается получить лишь в единичных случаях, и поэтому роль численных методов для решения задач, описываемых уравнениями в частных производных, осо- бенно велика. В главе излагаются основные методы численного реше- ния уравнений в частных производных такие, как метод сеток, метод прямых, метод характеристик, метод уста- новления, методы сквозного счета, а также некоторые специальные методы, нашедшие применение в последнее время. Особое внимание уделяется методу сеток как наиболее развитому и употребительному методу решения уравне- ний в частных производных. При изложении метода сеток вводятся такие основные понятия, как аппрокси- мация, устойчивость и сходимость разностной схемы, имеющие первостепенное значение при рассмотрении лю- бого численного метода. Представлены также некоторые сведения из теории урав- нений в частных производных. 4.1. Некоторые сведения из теории уравнений в частных производных Постановку задач для уравнений математической физики дадим на основе классических уравнений параболического, гиперболи- ческого и эллиптического типов.
152 Глава 4. Численные методы решения уравнений в частных производных Основные определения Если искомая функция зависит не от одной, а от нескольких пе- ременных, то при рассмотрении многих важных задач возникают уравнения с частными производными, связывающие между со- бой независимые переменные хр х2, ..., xk, а также искомую функцию u(xv х2, ..., xk) и ее частные производные д2и д2и д2и д2и дх2 ’ дх1дх2 ’ дх2 ’ дх2дх3 И ди дхг ди дх/ В общем случае уравнение в частных производных может быть записано в виде .....х*’ “ е; - л*,.......«,>• ди д2и д2и дхк ’ дх2 ’ дх1дх2 ______дпи_______ _ дхРудхР2... dxpkk ) (4.1) Здесьрг + р2 + ... + pk = п. Наивысший порядок входящей в диф- ференциальное уравнение производной называется ПОРЯДКОМ ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ. Если функция F линейна относительно функции и и ее про- изводных, то уравнение (4.1) называется ЛИНЕЙНЫМ уравнени- ем в частных производных. Если f(xv ..., xk) 0, то уравнение (4.1) называется НЕОДНОРОДНЫМ, а если /(хр ..., xj = 0, то ОДНОРОДНЫМ. Если функция F линейна по высшим производным (n-го по- рядка), т. е. коэффициенты при высших производных могут зави- сеть лишь от функции и и производных до (п - 1)-го порядка, то дифференциальное уравнение называется КВАЗИЛИНЕЙНЫМ. КЛАССИЧЕСКИМ РЕШЕНИЕМ называется функция и(х1, ..., хк), имеющая частные производные до требуемого порядка и обра- щающая уравнение (4.1) в тождество. Решение уравнений с част- ными производными, как правило, не единственно. Если в слу- чае обыкновенного дифференциального уравнения общее реше- ние зависит от конечного числа параметров, то для уравнений в частных производных обычно имеется общее решение, завися- щее от производных функций с числом аргументов на единицу меньше, чем у функции и(хр ..., xk). Например, уравнение ди + ди _ Q ЭХ] дх2 имеет решение, зависящее от произвольной функции и(хр х2) = cpfXj - х2). Таким образом, так же как и для обыкновенного дифферен- циального уравнения, для выделения единственного решения не-
4.1. Некоторые сведения из теории уравнений в частных производных 153 обходимо задавать дополнительные условия, в которые будут входить функции с числом аргументов k - 1. В качестве таких ус- ловий можно потребовать, чтобы искомая функция u(xlt ..., xk) принимала заданные значения на поверхности размерности k - 1 в пространстве переменных хр х2, ..., xk. К этому типу условий относятся начальные и граничные условия, являющиеся наибо- лее часто встречающимися при постановке краевых задач мате- матической физики. | Уравнения математической физики Рассмотрим классические уравнения математической физики. В этих уравнениях в качестве независимых переменных при- сутствуют время t и пространственные координаты: декартовы, цилиндрические и сферические. Задача называется СТАЦИОНАРНОЙ, если решение не зави- сит от времени, и НЕСТАЦИОНАРНОЙ или ЭВОЛЮЦИОННОЙ, если оно зависит от времени. Задачи с одной пространственной пере- менной называются одномерными, с двумя — двумерными, с тремя — трехмерными. Приведем каноническую форму уравнений с двумя независи- мыми переменными*. Пусть Л(х. У>^+2В(Х. + С(х.^ + + (4'2> — уравнение с дважды непрерывно дифференцируемыми коэф- фициентами А, В, С, которые не обращаются в нуль одновремен- но. Приведем классификацию дифференциальных уравнений в частных производных. Обозначим D = В2 - АС, тогда при D = О уравнение (4.2) называется ПАРАБОЛИЧЕСКИМ, при D > 0 — ГИПЕРБОЛИЧЕСКИМ, а при D < 0 — ЭЛЛИПТИЧЕСКИМ диффе- ренциальным уравнением. Тип одного и того же уравнения мо- жет меняться в зависимости от области пространства. Классическим уравнением гиперболического типа является волновое уравнение, параболического типа — уравнение тепло- проводности, а эллиптического типа — уравнение Лапласа. В математической физике различают задачу Коши (или зада- чу с начальными данными); краевые или граничные задачи; сме- шанные краевые задачи или краевые (граничные) задачи с на- * В общем случае для более чем двух независимых переменных та- ких канонических форм не существует.
154 Глава 4. Численные методы решения уравнений в частных производных чальными данными. Задачи, в которых в качестве переменной выступает время t, иногда называют эволюционными. В теории уравнений в частных производных важную роль иг- рают характеристические поверхности, которые определяются как поверхности, в окрестности которых решения задачи Коши не су- ществует, либо решение это не единственно. Можно показать, что в действительной плоскости характеристические поверхности су- ществуют для гиперболических и параболических уравнений и не существуют для эллиптических уравнений. Общая теория характерик позволяет сформулировать для ги- перболических уравнений некоторые специфические задачи та- кие, как задача Гурса, смешанная задача и ряд других. Их реше- ние можно построить, используя как аналитический, так и чис- ленный методы характеристик. Постановка задач для уравнений параболического типа Классическим примером уравнения параболического типа явля- ется УРАВНЕНИЕ ТЕПЛОПРОВОДНОСТИ или ДИФФУЗИИ в облас- ти [О, I] на отрезке времени [0, t] (рис. 4.1) Эи Э^и I /л ti д- = о—, 0 < х < I, (4.3) । at dxi где а — коэффициент теплопроводности (если и — температура) и массопровод- ности (если и — концентрация, давле- ние в задачах фильтрации и т. п.). По- '------------------скольку в уравнение (4.3) входит произ- ® I х водная по времени, то необходимо зада- Рис. 4.1 вать начальные условия при t = 0 и граничные условия при х = 0, х = I, t > 0. Для уравнения теплопроводности при краевых условиях u(0, t) = cp1(t), t > 0, u(l, t) = cp2(t), t > 0 и начальном условии и(х, 0) = у(х), 0 < х < I ГУРСА ЭДУАРД ЖАН БАТИСТ (Goursat Edouard Jean Baptiste; 1858—1936) — французский математик. Ему при- надлежат труды по дифференциальным уравнениям с част- ными производными 2-го порядка и по теории аналитиче- ских функций. Г. поставлена задача интегрирования диф- ференциальных уравнений при граничных условиях, за- данных вдоль характеристик (задача Гурса).
4.1. Некоторые сведения из теории уравнений в частных производных 155 имеем ПЕРВУЮ НАЧАЛЬНО-КРАЕВУЮ или КРАЕВУЮ ЗАДАЧУ С НАЧАЛЬНЫМИ ДАННЫМИ — иначе, задачу Коши с краевыми (граничными) условиями. Для уравнения теплопроводности с краевыми условиями = фДО» х = 0, t > О, = Ф2(£), х = I, t > О и начальными данными и(х, 0) = ф(х), 0 С х < I имеем ВТОРУЮ КРАЕВУЮ ЗАДАЧУ С НАЧАЛЬНЫМИ ДАННЫМИ. Для уравнения теплопроводности с краевыми условиями а°5х + Pou = х = 0, t > 0, aig~ + ₽iu = ф2(0> х = I, t > 0 и начальными условиями и(х, 0) = ф(х) имеем ТРЕТЬЮ КРАЕВУЮ ЗАДАЧУ С НАЧАЛЬНЫМИ ДАННЫМИ. В бесконечной области ставится следующая ЗАДАЧА КОШИ для уравнения теплопроводности: и = ф(х), -оо < х < +°о, t = 0. Постановка задач для уравнений гиперболического типа Классическим примером уравнения гиперболического типа явля- ется ВОЛНОВОЕ УРАВНЕНИЕ или более общее, описывающее малые продольные колебания стержня и поперечные колебания струны. Здесь функция и(х, t) характеризует отклонение струны от положения равновесия, а параметр с — скорость распространения возмущений. К волново- му уравнению сводятся также уравнения распространения ма- лых акустических возмущений. Поскольку в уравнение (4.4) входит вторая производная по времени, старший порядок производной по времени в начальных
156 Глава 4. Численные методы решения уравнений в частных производных условиях не превышает единицы. Тогда первая, вторая и третья начально-краевые или краевые задачи с начальными данными для волнового уравнения будут иметь соответственно следующий вид: u(0, t) = cp^l), u(l, t) = <p2(l), u(x, 0) = ^(x), du(x,0) , . =V2(x), t>0, t >0, 0 < x C I, 0 < x < I; ^=Ф1(0, ' Tx = O’ u(l, t) = V1(O, u(x, 0) = \|/2(x), x = 0, t > 0, x = I, t > 0, t>0, 0 < x < I; ao^ + 0ou = ‘PiW’ + = u(x, 0) = Vjfx), du(x, 0) . . -V-2 =уИ2(х), x = 0, t > 0, x = I, t > 0, 0 < x < I, 0 < x < I. В бесконечной области можно поставить задачу Коши: и(х, 0) = \|/i(x), Эи(х, 0) = ^)’ -оо < х < +оо, -со < х < +°о. ПУАССОН СИМЕОН ДЕНИ (Poisson Simeon Denis; 1781 — 1840) — французский математик и механик, труды которого относятся к небесной механике, математике и математической физике. Получили известность его исследования об устойчи- вости движения планет Солнечной системы. В работах по тео- рии притяжения П. вывел уравнение, носящее его имя. Соб- ственно в математике П. обращался к определенным интегра- лам (интеграл Пуассона), уравнениям в конечных разностях (формула суммирования Пуассона), теории дифференциаль- ных уравнений с частными производными, теории вероятнос- тей. В гидромеханике П. обобщил уравнение Навье — Сток- са на случай движения сжимаемой вязкой жидкости с уче- том теплопередачи. Им решен ряд задач теории упругости и обобщены уравнения теории упругости на анизотропные те- ла. В сопротивлении материалов П. ввел коэффициент по- перечной деформации Ц, носящий в названии имя автора.
4.1. Некоторые сведения из теории уравнений в частных производных 157 Метод характеристик позволяет решать задачи Коши, Гурса и смешанные при задании условий в ограниченной области. Постановка задач для уравнений эллиптического вида Классическими примерами уравнений эллиптического типа яв- ляются УРАВНЕНИЕ ЛАПЛАСА д2и , д2и дх2 ду2 х, у е Q (4.S) и УРАВНЕНИЕ ПУАССОНА - Ах,»). ох2 ду2 (4.6) описывающие течение идеальной (без вязкости и теплопровод- ности) жидкости в стационарных потоках, стационарное распре- деление температуры, стационарное распределение напряжен- ности электрического или магнитного полей. При этом уравне- ние (4.5) описывает все эти явления при отсутствии источников или стоков (нет правых частей), а уравнение (4.6) — с распреде- ленными по области Q источниками, задаваемыми правой частью Дх, у) (рис. 4.2). Поскольку уравнения (4,5), (4.6) — стационарные, то на- чальные условия не задаются; на границах же Г расчетной облас- ти Q + Г задаются граничные условия 1, 2 и 3-го родов. • Первая краевая задача для уравне- ния Лапласа (задача Дирихле): и| =<р(х, у). 1г • Вторая краевая задача для уравне- ния Лапласа (задача Неймана): Рис. 4.2 ^|г=ф(х’ У)- НЕЙМАН КАРЛ ГОТФРИД (Neumann Karl Gottfried; 1832—1925)— немецкий математик, основные исследова- ния которого относятся к теории логарифмического потен- циала. Н. предложил метод (метод Неймана) решения зада- чи Дирихле для случая выпуклых контуров и выпуклых поверхностей. Н. исследовал вторую краевую задачу (зада- чу Неймана). Ему принадлежат также работы в области ма- тематической физики, теории функций Бесселя, римановой теории и абелевых интегралов.
158 Глава 4. Численные методы решения уравнений в частных производных • Третья краевая задача для уравнения Лапласа (смешанная задача): a5n I +^ul =(Р(Х’^)’ а*°- 1 1г >Г Во второй и третьей краевой задаче производные берутся в на- правлении внешней нормали по отношению к границе области Q. Постановка многомерных задач математической физики В заключение приведем примеры постановок многомерных по пространственным переменным задач для уравнений параболи- ческого и эллиптического типов (рис. 4.3). • Первая начально-краевая задача для двумерного уравнения теплопроводности: ди _ А д2и д2и 'j dt фЭх2 dy2 J’ «| =ф(х, у, t), и(х, у, 0) = у(х, у), (х, у) е Q, t > 0, t>0, (х, у) е Q + Г. • Вторая начально-краевая задача для двумерного уравнения теплопроводности: ди _ /д2и Э2ц А dt ф Эх2 ду2 J’ ^|г=<Р(*’ У’ и(х, у, 0) = Х|/(^> у)’ (х, у) е Q, t > 0, t> 0, (х, у) е Q + Г. • Третья начально-краевая задача для двумерного уравнения теплопро- водности: Эи_ (д2и д2и\ . _ п dt С[эх2 + dy2 )’ (Х’ у)е * °’ аЭп I ~''Ри| = ф(х> У> t > 0, 1г 1г и(х, у, 0) = Х|/(х» У)’ (х> У) е И + Г. Рис. 4.3
4.2. Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа 159 • Первая начально-краевая задача для двумерного волнового уравнения: Э2м __ /д2и д2и \ di2 + Эу2 J’ (х, у)е Q, t > 0, и| =ф(Х, у, t), t>0, u(x, у, 0) = vr(x, у), (х, у) е Q + Г, Эи(х, у, 0) , . at - v2(*> г/)> (х, у) е Q + Г. • Вторая начально-краевая задача для двумерного волнового уравнения: д2и ( д2и \ . dt2 С^Эх2 + Эу2 J’ {X, у) е £2, t > 0, Й г = (Р(Х’ У’ *>’ t> 0, и(х, у, 0) = vjx, у), (X, у) е Q + Г, ди(х, у, 0) , . at v2(x’ (х, у)е Q + Г. • Третья начально-краевая задача для двумерного волнового уравнения: Э2и _ /д2и д2и 'j dt2 ~ + ду2 )’ I = <P(x,y,t), и(х,у, 0) = У1(х, у), ди(х, у, О') , . = W2(x, У)’ (х, у) е Q, t > О, t>0, (х, у) е Q + Г, (х, у) е Q + Г. 4.2. Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа Метод сеток (или метод конечных разностей) сводит решение сис- тем уравнений в частных производных к решению систем линей- ных, как правило, алгебраических уравнений с достаточно разре-
160 Глава 4. Численные методы решения уравнений в частных производных женными матрицами. При этом построение решения в методе се- ток осуществляется в три этапа. • Область непрерывного изменения аргумента (или аргумен- тов) заменяется конечным дискретным множеством точек, назы- ваемых разностной сеткой. В разностной сетке выделяются внут- ренние и граничные узлы. Решение ищется во внутренних узлах, а в граничных узлах значение искомой функции задается при ап- проксимации граничных условий исходной дифференциальной задачи. Функция дискретного аргумента, определенная на разно- стной сетке, называется СЕТОЧНОЙ ФУНКЦИЕЙ. • Дифференциальное уравнение и граничные условия заме- няются по определенным правилам своими разностными анало- гами. Разностные операторы, соответствующие дифференциаль- ному уравнению, записываются во внутренних узлах сетки. Раз- ностные операторы, соответствующие граничным условиям, за- писываются в граничных узлах. В результате получается система алгебраических уравнений, число которых пропорционально числу внутренних узлов разностной сетки. • Осуществляется решение системы алгебраических уравне- ний каким-либо из известных методов. В большинстве случаев получаемая система уравнений есть система линейных алгебраи- ческих уравнений достаточно большого порядка, но с весьма раз- реженной матрицей. В случае нелинейных систем итерационные процедуры, как правило, сводят их к линейным системам. Основные понятия и этапы метода сеток продемонстрируем на примере решения задачи Дирихле для классического уравне- ния эллиптического типа — уравнения Лапласа. Итак, имеем уравнение Лапласа . д2и д2и п д“ +5^ 0 и граничное условие и(х, у) = и0(х, у), 1г (4.7) (4.8) где Г — граница области G (рис. 4.4), в которой ищется решение и(х, У)> удовлетворяющее уравнению (4.7) и граничному усло- вию (4.8). На первом этапе метода сеток область G непрерывного изме- нения аргумента с границей Г заменяют приближающей ее се- точной областью Gh с границей ГА. Для этого проведем линии х = const и у = const так, что х = mhx при т = 0, ..., М и у = nhy при п = 0, ..., N. Величины hx и h , называемые шагами разност- ной сетки, в общем случае могут быть различными.
4.2. Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа 161 Рис. 4.4 u(x-h,y) О------ т - 1, п Рис. 4.5 n и(х,у + h) V т, п + 1 1и(х,у) + h’ У) ТП П - т + 1, п т, п A u(x,y-h) т,п - 1 Точки пересечения линий х = const и у = const называют УЗ- ЛАМИ РАЗНОСТНОЙ СЕТКИ. Различают два типа узлов — ВНУТ- РЕННИЕ и ВНЕШНИЕ. Внутренними называют такие узлы, для которых четыре соседних узла (по два в каждом направлении) принадлежат области G = G + Г. Сеточной функции приписыва- ются нижние индексы. На рис. 4.4 внутренние узлы обозначены пустыми кружочками, а граничные — залитыми. На втором этапе заменим дифференциальный оператор Лап- ласа разностным оператором. С этой целью выберем шаблон раз- ностной схемы — набор (конфигурацию) узлов, с использованием которых производится замена производных конечными разнос- . тями. Шаблон, содержащий р точек, называется р-точечным. Для аппроксимации вторых производных, входящих в оператор Лапласа, применим пятиточечный шаблон, показанный на рис. 4.5. Не теряя общности рассуждений, рассмотрим далее слу- чай, когда шаги разностной сетки по направлению х и у одинако- вы, т. е. hx = hy = h. С использованием разложения функции на точном решении в ряд Тейлора в окрестности точки (х, у) имеем , , . ч . ди h2 д2и , й3 д3и , /->/,.44 U(X ±h,y) = и(х, y)±h-+-— ± - — + О(Л<), и(х, у + h) = и(х, у) + ± Из этих соотношений получим аппроксимации вторых производ- ных со вторым порядком точности д2и = и(х + h,y)~ 2u(x, у) + и(х - h, у) + дх2 й2 ' ’’ д2и = и(х, у + h) - 2и(х, у) + и(х, у - h) + 0<h2x ду2 Ъ2 ' '• Й2
162 Глава 4. Численные методы решения уравнений в частных производных Введем для сокращения записи общепринятые индексные обозначения узлов в соответствии с рис. 4.5 и соответствующие обозначения сеточных функций в узлах: ип п, ип_1 л и т. д. Тогда соотношения для производных примут вид д2и __ Цщ + 1, n ~~ п Hm-i.n дхг h2 + О(й2), (4.9) + О(й2). (4.10) Лапласа Ди,. на пятиточечном д2и _ ит,п+1~ 2Цт,п+ Цт,п-1 h2 При этом разностный оператор шаблоне может быть выписан как ДиЛ = Цт + 1 - Цт -1 п* Ц^2П +-»+ —'~ + О(Л2). (4.11) Аппроксимация граничных условий осуществляется с по- мощью различных приемов. Для случая прямоугольной области с границами, совпадающими с линиями х = const и у = const, граничные значения известны в узлах точно, так как и0 h = = u0(mhx, nhy). Для области произвольной формы значения сеточ- ной функции в граничных узлах принимаются равными значени- ям функции и0 в ближайших (по какому-либо критерию) точках кривой Г (рис. 4.4). Для задачи Неймана или смешанной задачи, когда на границе области задается значение производной функ- ции и, производится аппроксимация производной. Записав разностный оператор (4.11) во всех внутренних уз- лах, получим систему сеточных уравнений для нахождения зна- чений сеточной функции ит п в узлах разностной сетки. На третьем этапе осуществляется решение системы сеточных уравнений. В общем случае сеточные уравнения могут быть нели- нейными. Однако в рассматриваемой задаче, в силу линейности основного дифференциального уравнения Лапласа, система урав- нений (4.11) является системой линейных алгебраических урав- нений для нахождения значений неизвестных во внутренних уз- лах. При этом число уравнений системы точно равно числу внут- ренних узлов разностной сетки. Отметим, что число уравнений может быть весьма велико. Так, для нахождения достаточно точ- ного решения рассматриваемой задачи требуется задать числа N = М порядка 50—100, и, следовательно, количество уравнений достигает нескольких сотен или даже тысяч. Перепишем систему сеточных решений в виде и , , + и , + и , , + u , — 4и = 0. (4.12) т + 1, п - 1, п т, п + 1 т, п - 1 п ' '
4.2. Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа 163 Отметим, что каждое из уравнений системы содержит лишь пять неизвестных um + l п, um Y п, и п + 1, ит n_v ит п, хотя в полной системе таких неизвестных содержится порядка №. Таким обра- зом, матрица системы (4.12) является сильно разреженной. Сис- темы с такими матрицами хорошо решаются с помощью итераци- онных методов: простой итерации, Зейделя, релаксационных. Рассмотрим их применение к решению системы (4.12). Запишем систему (4.12) в виде ~ ( ит . т „ + ит (4.13) т, п д I m + 1, п т - 1, п ш, п + 1 т, п ~ 1 I v ' Значение функции в центральной точке есть среднее арифмети- ческое значений функции в четырех соседних по направлениям х и у узлах. Уравнение (4.13) можно интерпретировать как разно- стный аналог теоремы о среднем для гармонических функций. Рассмотрим применение метода простой итерации для реше- ния системы (4.13). Для простоты предположим, что область G имеет прямоугольную форму (рис. 4.6). Построим итерационный процесс W =lf (ft-D +U*-1) +u(k~1) } (4 14) Um,n 4^Um + l,/i Um-l,n U m, n + 1 U m, n - 1J' Здесь верхний индекс означает номер итерации. В гранич- ных точках значения известны точно. Для нахождения решения по соотношению (4.14) необходимо знать начальное приближе- ние — значения функции на нулевой итерации . Можно до- казать, что для любого шага разностной сетки итерационный процесс (4.14) сходится независимо от начального приближения и<^п. На практике желательно выбирать начальное приближе- ние возможно более близким к точному решению. Например, на основании теоремы о среднем для гармонических функций в ка- честве хорошего начального приближения можно принять значе- ние функции, полученное интерполяцией на область G значений Рис. 4.6
164 Глава 4. Численные методы решения уравнений в частных производных функции в граничных узлах. Так, значение функции и<°> в цент- ральной точке 1 (рис. 4.6) может быть взято как среднее арифме- тическое значений функции в граничных узлах a, b, с, d. Сходимость итерационного процесса можно улучшить, если использовать итерационный процесс Зейделя в виде, например, „(*) = +uW +u{k^1} +uw (4 15) U m, n 4 I ^да + 1, л U m - 1, n Um,n + 1^ ит,п-1^ * ’ * Члены с индексами (т - 1, п) и (т, п - 1) берутся из /г-й итерации, т. е. в вычислениях используются уточненные значе- ния функции в этих точках. Как легко понять из рис. 4.6, расчет по формуле (4.15) при движении, например, слева направо от границы области позволяет последовательно вычислить значе- ния функции на слоях у = const (или х = const). Использование уточненных значений функции улучшает сходимость метода ите- раций и позволяет уменьшить требуемый для реализации метода объем оперативной памяти компьютера, так как в методе Зейде- ля не требуется одновременно хранить значение функции в каж- дой точке на двух итерациях. Итерации заканчиваются при вы- полнении условия max|u(^n - “п1)| < е, где е— заданная по- грешность определения решения. В настоящее время распространены релаксационные методы решения системы (4.13), в которых итерационный процесс стро- ится по формуле +uw \ т, п т, п 4 I /п + 1,п т-1,п т, п + 1 т, п -1 I’ в которой со — параметр релаксации. В методе релаксации член сои^'п1) учитывает информацию о величине ит п из предыдущей итерации. При w > 1 итерационный метод называется методом ВЕРХНЕЙ РЕЛАКСАЦИИ, при (0 = 1 — методом ПОЛНОЙ РЕЛАК- САЦИИ и при со < 1 — методом НИЖНЕЙ РЕЛАКСАЦИИ. Можно показать, что число итераций I, необходимых для до- стижения заданной точности в рассматриваемой задаче, опреде- ляется соотношениями, приведенными в табл. 4.1. Таблица 4.1 Название метода Число итераций 1 Метод простой итерации 0,2№1п £-1 Метод итераций Зейделя 0,1 N^ne*1 Метод верхней релаксации OJNlne-1
4.3. Явные и неявные разностные схемы 165 Видно, что в методе верхней релаксации число итераций для достижения заданной точности линейно зависит от числа узлов N, тогда как в остальных методах зависимость квадратичная. 4.3. Явные и неявные разностные схемы При решении задач для уравнений параболического и гиперболи- ческого типов используются различные разностные схемы, среди которых важное место занимают так называемые явные и неяв- ные разностные о-хемы. Рассмотрим их на примере классического уравнения парабо- лического типа — уравнения теплопроводности (нестационарно- го уравнения Лапласа) ди __ д2и , d^u dt Эх2 ду2 со следующими начальными и(х, у, 0) = и0(х, у) и граничными и(х, у, t) = u°(x, у, t) Ir (4.16) (4.17) (4.18) условиями. Решение ищется внутри полубесконечного цилиндра (рис. 4.7). Задачу (4.16)—(4.18) называют эволюционной, имея в виду построение эволюции решения во времени. Используются также названия: ЗАДАЧА КОШИ С ГРАНИЧНЫМИ УСЛОВИЯМИ или КРАЕВАЯ ЗАДАЧА С НАЧАЛЬНЫМИ ДАННЫМИ. Построим разностную схему. Для этого проведем линии х = mhx, т = 0,...,М, у = nhy, п = 0, ..., N, t = kx, k = 0, ..., К, где hxn hy — шаги по пространст- венным координатам х и у со- ответственно ит — шаг по време- ни t. Плоскости k = const назы- вают ^слоями или слоями по вре- мени. Сеточную функцию и{х + mhx, у + nhy, t + fex) обозначим через л.
166 Глава 4. Численные методы решения уравнений в частных производных т,п + l,fe + 1 tm,n,k+l л m,n,k + 1/ r>m,n + l,k •— --• т- l,n,k + Х/ m + l,n,k+l О----------О , Г т - \,n,k/m,n,k т + l,n,k mn-lk+1 СТ ’ ’ О m,n,k т,п - 1,й а) б) Рис. 4.8 Запишем разностную аппроксимацию уравнения (4.16) с использованием шеститочечных шаблонов двух типов, показан- ных на рис. 4.8. Здесь пустыми кружочками обозначены узлы на fe-м слое с известными значениями функции, а зачерненными — узлы на (k + 1)-м слое, на котором параметры неизвестны и долж- ны быть определены. Шаблон на рис. 4.8, а соответствует так на- зываемой явной схеме, а шаблон на рис. 4.8, б — неявной схеме. В явной схеме оператор Лапласа аппроксимируется с использова- нием известных значений функции на fe-м слое, а в неявной схеме — с использованием неизвестных значений функции на (k + 1)-м слое. Без потерь общности будем далее полагать, что шаги по про- странственным координатам одинаковы, т. е. hx = hy = h. Тогда явная разностная схема, соответствующая шаблону на рис. 4.8, а, запишется следующим образом: и*+i ит, п. п Т О(т, Л2). Из этого соотношения следует, что искомое значение определяет- ся явным образом через известные значения на fe-м слое по соот- ношению и* + 1 = U * 4“ — (и11 , ии,4“ т, п т, п ^2^/n + l, n т - 1, п т, п + 1 4- и* „ , - 4u* ). (4.19) Для неявной разностной схемы, соответствующей шаблону на рис. 4.8, б, имеем «иГп1- _ Ukm+A,n+ Ukm+-\,n+ U^n+1+ 4u‘+„! Т Д2 • ( М) Соотношение (4.20), записанное для всех внутренних узлов (k 4- 1)-го слоя, порождает систему линейных алгебраических
4.4. Аппроксимация, устойчивость, сходимость разностных схем... 167 уравнений, с помощью которых определяются неизвестные зна- чения функции в узлах. Каждое уравнение этой системы содер- жит только пять неизвестных uk + \ , ик+\ ик+}^_,, ик+} ., ип+ п ’ хотя общее количество неизвестных равно числу внутрен- них узлов на (k + 1)-м слое и может быть весьма велико (число уз- лов составляет порядка N2, при этом N может принимать значе- ния от 50 до 100). Следовательно, матрица системы линейных уравнений является пятидиагональной и сильно разреженной. Для решения этой системы используются, как правило, итераци- онные методы, некоторые из которых были описаны. Очевидно, что при одинаковых шагах разностной сетки чис- ло операций, необходимых для отыскания решения на (k + 1)-м слое, в явных схемах значительно меньше, чем в неявных. Одна- ко в дальнейшем будет показано, что условие устойчивости раз- ностной схемы накладывает значительные ограничения на вели- чины шагов в явных схемах. Поскольку в конечном счете качест- во разностной схемы при одинаковой требуемой точности должно оцениваться количеством операций, необходимых для получе- ния решения на всем временном интервале, в ряде случаев неяв- ные разностные схемы оказываются более предпочтительными, чем явные. 4.4. Аппроксимация, устойчивость, сходимость разностных схем. Основные понятия Рассмотрим некоторую задачу, определяемую дифференциаль- ным уравнением и граничными условиями. Запишем ее в опера- торной форме Lu = f, (4.21) где через L обозначен некоторый дифференциальный оператор, действующий на искомую функцию и, через f — правая часть. Примем, что оператор L включает как дифференциальные урав- нения, так и граничные условия. На некоторой разностной сетке строим разностный оператор ЕЛ, действующий на сеточную функ- цию uh. Примером дифференциального оператора является опе- ратор Лапласа Д, а соответствующий ему разностный оператор возникает при аппроксимации вторых производных разностны- ми отношениями (4.9) и (4.10).
168 Глава 4. Численные методы решения уравнений в частных производных Величина 8/Л называется НЕВЯЗКОЙ, и при подстановке точ- ного решения уравнения (4.21) в оператор Lh имеем ^hu = fit + Sfh- РАЗНОСТНАЯ СХЕМА называется АППРОКСИМИРУЮЩЕЙ на ре- шении, если норма невязки стремится к нулю при стремлении к нулю шага разностной схемы, т. е. ||3/А|| -» 0 при h —> 0. Если при этом постоянная Ср не зависит от шага h и норма невязки удовлетворяет условию ||8/Л|| < CphP, то говорят, что разностная схема имеет р-й порядок аппроксимации или разност- ная схема аппроксимирует дифференциальный оператор с поряд- ком р. Например, разностный оператор _ + 1, в в+1 + я-1 п 'Л h2 д2 д2 аппроксимирует оператор Лапласа А = —- + — со вторым по- дх2 аи2 рядком точности. * РАЗНОСТНАЯ СХЕМА называется СХОДЯЩЕЙСЯ, если норма раз- ности точного и приближенного решений ||и - иЛ|| стремится к ну- лю при стремлении к нулю шага разностной сетки. Если при этом \\и - uj| < Cqh4, то говорят, что разностная схе- ма имеет q-й порядок точности или имеет место сходимость с по- рядком q. Порядок аппроксимации дифференциального уравнения не всегда совпадает с порядком точности разностной схемы, так как порядок точности разностной схемы зависит как от аппроксима- ции дифференциального уравнения, так и от аппроксимации гра- ничных условий. Не всякая аппроксимирующая схема является сходящейся. В связи с этим важным является понятие устойчивости разност- ной схемы. УСТОЙЧИВОСТЬЮ РАЗНОСТНОЙ СХЕМЫ называется непрерывная зависимость решения разностной задачи от правых частей и гра- ничных условий. Для линейного оператора схема устойчива, если ||uj| < C||fn||, где С — постоянная, не зависящая от шага разностной сетки и входных условий f.
4.5. Примеры неустойчивых разностных схем 169 Поясним понятие устойчивости. Ошибки при вычислении начальных и граничных условий и правых частей уравнений из-за ошибок округления и других причин можно рассматривать как возмущения начальных и граничных условий и правых час- тей уравнений. Очевидно, что разностная краевая задача (или за- дача с начальными данными) будет корректной и устойчивой, ес- ли решение разностной краевой задачи будет незначительно из- меняться при малом изменении начальных и граничных условий и правых частей, связанном со случайными ошибками. В против- ном случае разностная краевая задача является неустойчивой. Важно отметить, что для неустойчивых разностных схем умень- шение шага сетки не приводит к устойчивости, поскольку любые малые возмущения решения со временем неограниченно возрас- тают. ТЕОРЕМА. Пусть разностная задача Lhuh = fh аппроксимирует оператор Lu = f на решении с порядком р и устойчива. Тогда решение сходится к точному решению и имеет место оценка ||u - uh\\ < Cphp, где Ср — постоянная, не зависящая от шага Л и входных данных f. 4.5. Примеры неустойчивых разностных схем Впервые явление неустойчивости при решении уравнений в част- ных производных возникло при решении уравнения теплопро- водности. Рассмотрим более простое уравнение — уравнение пе- реноса, являющееся модельным для некоторых процессов в меха- нике сплошной среды. Рассмотрим задачу Коши для уравнения переноса = 0, (4.22) dt дх ' ’ и(х, 0) = и0(х). Уравнение (4.22) является простейшим линейным уравнени- ем гиперболического типа. Задача (4.22) имеет точное решение, которое строится с использованием метода характеристик. Срав- ним точное решение дифференциального уранения с разностным, полученным с использованием различных схем, и дадим оценку аппроксимации, устойчивости и сходимости этих схем.
170 Глава 4. Численные методы решения уравнений в частных производных Уравнение (4.22) обладает се- мейством прямолинейных харак- теристик х = t + const, которые за- полняют всю плоскость (t, х) (рис. 4.9). На каждой характе- ристике выполняется условие совместности и = С, где С — ве- личина постоянная вдоль рассмат- риваемой характеристики, но Рис. 4.9 меняющаяся от характеристики к характеристике. Отмеченные свойства позволяют легко построить решение задачи (4.22). На- пример, в некоторой точке А значение функции иА равно значе- нию функции и0 в точке А', расположенной на пересечении ха- рактеристики, выходящей из точки А, и оси абсцисс, на которой заданы данные Коши (рис. 4.9). Далее рассмотрим некоторую специальную начальную функ- цию (рис. 4.10, а) вида и0(х, 0) = и0(х) и0(х, 0) = 0 при х < 0, при х > 0. В силу свойств начальной функции правее характеристики АВ, выходящей из начала координат (рис. 4.10,6), точное решение задачи таково, что и = 0. Левее этой характеристики точное ре- шение определяется по значениям функции и0(х) указанным спо- собом. Рассмотрим теперь две разностные схемы, с помощью кото- рых попытаемся построить численное решение задачи (4.22). Трехточечные шаблоны этих схем изображены на рис. 4.11. Шаб- лон, изображенный на рис. 4.11, а, называют уголок вперед или правый уголок, а шаблон, изображенный на рис. 4.11, б, — уго- лок назад или левый уголок. Разностные схемы на этих шабло- нах являются явными, поскольку для аппроксимации простран- ственной производной Эи/Эх используются известные значения функции на fe-м слое.
4.5. Примеры неустойчивых разностных схем 171 а) • т, k + 1 <5) т, k + 1 • m,kO- —О т + 1, k О— т - 1, k -О m,k т h h т Рис. 4.11 Для шаблона, показанного на рис. 4.11, а, разностная схема уголок вперед запишется в виде ukm + i-ukm = 0 h (4.23) l/k + 1 — т. fe ит 12 т Т Так как при аппроксимации производных использовались одно- сторонние разности, разностная схема (4.23) имеет первый поря- док аппроксимации по т и h. Из соотношения (4.23) решение на (k + 1 )-м слое запишется в виде п ™ ( h \ 1h (4.24) Пусть k = 0, тогда в силу граничных условий и ° = + ] = О для х > 0 и из уравнения (4.24) следует, что при всех т и х > 0 ре- шение на слое k = 1 тождественно равно нулю, т. е. и£ = 0. Анало- гично для всех последующих слоев мД = 0 при х > 0. Таким обра- зом, из (4.24) следует, что в правом верхнем квадранте uh = 0, хо- тя, согласно точному решению, и = 0 только в области, лежащей правее характеристики АВ. Следовательно, разностная схема (4.23) дает решение, сколь угодно отличающееся от точного неза- висимо от шагов разностной сетки т и Л; т. е. при стремлении ша- гов т и h к нулю не будет иметь места сходимость решения разно- стной задачи к точному решению. Вместе с тем разностная схема (4.23) является аппроксимирующей. В рассмотренном случае для схемы уголок вперед малое из- менение граничных условий при х < 0 приводит к сколь угодно большим отличиям в решении, полученном по этой схеме в об- ласти между осью ординат и характеристикой, выходящей из на- чала координат. Таким образом, отсутствует непрерывная зави- симость решения от граничных условий. Для шаблона, показанного на рис. 4.11, б, разностная схема уголок назад запишется в виде ~<-1 = 0 h j,k + i __., л um um T (4.25)
172 Глава 4. Численные методы решения уравнений в частных производных m,k + 1 m-l,k m,k а) Рис. 4.12 m,k+ 1 тп - 1, k m,k Эта схема также имеет первый порядок аппроксимации. По соот- ношению (4.25) решение на (k + 1)-м слое имеет вид um+ 1 = “m f 1 _ Г 1Z' (4.26) m m д у m-1 д Рассмотрим три случая, соответствующие различным соотно- шениям шагов т и Л: т/Л = 1, т/Л < 1 и т/Л > 1. В случае т/А = 1 (рис. 4.12, а) разностная схема дает точное решение и^+ 1 = -1> поскольку значение функции по характеристике, помеченной на рисунке пунктиром, переносится из точки (т - 1, k) в точку (т, k + 1). Такое совпадение является, однако, свойством конк- ретных задач и разностных схем, и в других случаях условие т = h может и не обеспечивать точного решения. В случае т/Л < 1 (рис. 4.12, б) правая часть формулы (4.26) является формулой линейной интерполяции функции иЛ между точками (m - 1, А) и (т, А) на слое А, которая дает значение функ- ции в точке, отстоящей от точки {т, А) на расстояние т. Это зна- чение переносится по характеристике (пунктирная линия на рис. 4.12, 6) в точку (т, А + 1) и дает решение, близкое к истинно- му с такой точностью, какой обладает линейная интерполяция. При этом, если и0(х) — линейная функция, при т/А < 1 формула (4.26) дает точное решение. При т/Л > 1 (рис. 4.12, в) формула (4.26) является формулой линейной экстраполяции функции uh, и в общем случае можно получить решение, существенно отличающееся от точного. РАЗНОСТНАЯ СХЕМА называется АБСОЛЮТНО УСТОЙЧИВОЙ, ес- ли она устойчива при любом соотношении шагов. Схема называ- ется АБСОЛЮТНО НЕУСТОЙЧИВОЙ, если она неустойчива при лю- бом соотношении шагов. Разностная схема называется УСЛОВНО (частично) УСТОЙЧИВОЙ, если она устойчива при некотором со- отношении шагов. Проведенное рассмотрение двух схем уголок вперед и уголок назад для уравнения переноса показывает, что схема (4.23) уго- лок вперед является абсолютно неустойчивой, а схема (4.25) уго-
4.6. Практические правила исследования устойчивости 173 лок назад— условно устойчивой при т/й < 1. Условие т/й < 1 сформулируем в виде условия Куранта — Фридрихса — Леви. | Условие Куранта — Фридрихса — Леви Пусть область влияния разностной схемы содержит в себе об- ласть влияния дифференциального уравнения. Разностная схема является неустойчивой, если это условие не выполнено. На рис. 4.12 область влияния дифференциального уравнения заштрихована для всех трех случаев отношения т/й. Видно, что для случая т/й > 1 разностная схема неустойчива. 4.6. Практические правила исследования устойчивости Установить устойчивость разностной схемы с использованием данного выше определения на практике весьма затруднительно. Поэтому предложен ряд способов исследования устойчивости, по- зволяющих получить достаточные, а в ряде случаев необходимые и достаточные условия устойчивости разностных схем. Из мето- дов исследования устойчивости упомянем спектральный признак устойчивости, метод гармоник Фурье, принцип максимума. Исследование устойчивости разностных схем, аппроксими- рующих сложные и в общем случае нелинейные уравнения, про- КУРАНТ РИХАРД (Courant Richard; 1888—1972)— не- мецкий математик, чьи основные труды посвящены разви- тию и применению принципа Дирихле к теории конформ- ных отображений и к краевым задачам математической фи- зики для уравнений эллиптического типа. Основные резуль- таты изложены К. в сочинении «Методы математической физики», написанной им самим, хотя на титульном листе указан еще и его учитель — Д. Гильберт. ФРЙДРИХС КУРТ ОТТО (Friedrichs Kurt Otto; 1901 — 1982) — немецкий математик. Главными областями его ин- тересов являлись математическая физика, функциональ- ный анализ и теория дифференциальных уравнений с част- ными производными. ЛЕВИ ГАНС (Lewy Hans; 1904—1988) — немецкий матема- тик. К основным направлениям его исследований относятся общие квазилинейные уравнения второго порядка и нели- нейные эллиптические и гиперболические дифференциаль- ные уравнения.
174 Глава 4. Численные методы решения уравнений в частных производных водится следующим образом. Первоначально исходное диффе- ренциальное уравнение заменяется более простым модельным уравнением. Это достигается либо замораживанием коэффициен- тов в уравнениях с переменными коэффициентами, либо, в слу- чае нелинейных уравнений, путем линеаризации последних. Для полученного модельного уравнения выписывается исследуемая разностная схема и рассматривается задача Коши при возму- щенных граничных условиях и возмущенных правых частях. Исследуется эволюция решения во времени, и, если возмущения с течением времени затухают, разностная схема считается устой- чивой, в противном случае — неустойчивой. Действительно, воз- мущения граничных условий и правых частей можно рассматри- вать как ошибки округления или аппроксимации, неизбежно возникающие при расчетах, и, если разностная схема будет их усиливать, решение будет неустойчивым. 4.7. Спектральный признак устойчивости Пусть решение икп+ 1 * имеет вид икп+ 1 = Suk, здесь р = j, i + 1, i - 1. Оператор перехода с одного временного слоя на другой S, дейст- вующий на вектор ик, позволяет в результате последовательного применения трансформировать начальные данные в разностное решение на любом шаге по времени. Для линейных схем опера- тор S линеен. Так, для схемы уголок назад (4.25) имеем 1 = u* f 1 + - u* , = S[u* , и* Д7, 771 7711 h } 1 h 771 771 1 где S — матрица 1-т/Л 0 О т/Л . Для линейных задач условием устойчивости по начальным данным разностной схемы является ||S||<1. (4.27) Очевидно, || и* +11| = ||Su*|| < ||S|| • ||w*|| или || +11| < || || < ... < ||и°||, и, следовательно, начальные возмущения затухают. Условие (4.27) есть условие того, что спектр оператора S лежит внутри круга единичного радиуса на комплексной плоскости. Это озна- чает, что шах ||Л || < 1, где X— собственное число оператора S. Достаточным условием устойчивости является |Л| < 1. В связи с этим условие (4.27) называют спектральным признаком устойчи-
4.9. Метод гармоник Фурье исследования устойчивости разностных схем 175 вости. Сформулируем более общее условие Неймана: существует постоянная С такая, что |Х| < 1 + о(т). 4.8. Принцип максимума Перепишем уравнение (4.26) в виде икт+1 — (1 - у) и1^ + гикт _ р где у = i/h. Так как у < 1, то в этом соотношении коэффициенты при значениях функций в правой части являются положительными числами и тогда соотношение (4.26) можно переписать в виде К' Ч = U - Y)< + -11 < [(1 - Y) + Y] max (|и* |, |u k _ |) = m = max (|u£J,\ukm_ J) C max |. m m Так как правая часть этого неравенства не зависит от значе- ния т, то можно написать, что max |u* + Ч < max |u* |. Применяя последовательно это неравенство, получаем неравенство max \ик + Ч < max < ... < max |, mm m называемое ПРИНЦИПОМ МАКСИМУМА для разностной схе- мы. Сформулируем его. Максимальное значение модуля решения разностной задачи до- стигается на границе области. Для задачи Коши, которую мы рассматривали, максималь- ное значение достигается при 7 = 0. Таким образом, начальные возмущения затухают. Для схемы уголок вперед условие устой- чивости по спектральному признаку и принципу максимума не будут выполнены. 4.9. Метод гармоник Фурье исследования устойчивости разностных схем Метод гармоник Фурье занимает одно из центральных мест среди методов исследования устойчивости разностных схем. Он исполь- зуется для линейных разностных уравнений с постоянными ко-
176 Глава 4. Численные методы решения уравнений в частных производных эффициентами на равномерной сетке. В методе гармоник Фурье при изучении устойчивости разностных схем рассматривается за- дача Коши относительно линейного модельного уравнения для возмущений (добавок) начальных данных и правых частей. При этом рассматриваются возмущения (гармоники) специального вида. Исследуем метод гармоник Фурье на примере задачи Коши для уравнения переноса Эи , Эм _ Эт Эх ’ и(х, 0) = и0(х). (4.28) Точное решение задачи можно записать в виде и(х, t) = f uft(0)ei0(x"')d6, где i = л/-1 . Решение задачи (4.28) представляется как суперпо- зиция бегущих монохроматических волн или гармоник вида uo(0)ei0(* " 0. Поскольку при разностной аппроксимации t = kr, х = mh, то соответствующую разностную гармонику можно пред- ставить в виде иД = Х*ег“тЛ, а решение разностного уравнения — в виде иД = У С(йХ*е’“тЛ. Здесь X — множитель, который выби- С0= —<х» рается таким образом, чтобы иД было решением разностной зада- чи, а со — номер гармоники в разложении в ряд Фурье — опреде- ляется из разложения начальной функции (начального возмуще- ния) в рассматриваемый ряд. Множитель X, называемый модулем перехода, в общем случае может быть комплексным числом и является показателем роста или затухания соответствующей гармоники. При значении |Х| > 1 начальные возмущения возрастают со временем, а при |Х| < 1 они затухают. Очевидно, что разностная схема будет устойчивой при условии |Х| < 1, поскольку любые возмущения правых частей и ФУРЬЕ ЖАН БАТИСТ ЖОЗЕФ (Fourier Jean Baptiste Joseph; 1768—1830) — французский математик, труды ко- торого относятся к алгебре, методам численного решения уравнений и математической физике. Ф. вывел дифферен- циальное уравнение теплопроводности, разработал для ре- шения этого уравнения метод разделения переменных (ме- тод Фурье), в основе которого лежит представление функ- ций тригонометрическими рядами Фурье.
4.10. Применение метода гармоник Фурье... 177 начальных условий (ошибки округления, аппроксимации и т. д.) будут затухать, так как |егых| < 1. Дж. фон Нейманом было сформулировано УСЛОВИЕ УСТОЙ- ЧИВОСТИ: |Х| < 1 + О(т), которое в ряде случаев является необхо- димым, но не достаточным условием сходимости. Далее, однако, при изучении разностных схем будем использовать более жест- кое условие: |Л| < 1. 4.10. Применение метода гармоник Фурье для исследования устойчивости разностных схем в уравнениях переноса Для уравнения (4.22) рассмотрим пять разностных схем, шабло- ны которых показаны на рис. 4.13: явный уголок вперед (рис. 4.13, а), явный уголок назад (рис. 4.13, б), явная схема вто- рого порядка точности (рис. 4.13, в), явная схема Лакса (рис. 4.13, г) и неявный уголок назад (рис. 4.13, д). Светлыми точками выделены узлы, в которых решение известно, темны- ми — узлы, в которых требуется определить решение. • тп,/г+1 лт,к + 1 т т т О-----О о—-—о о—-—о—-—о ттг, k m + l,k m-l,k m,k m-l,k m,k m + l,k a) 6) e) • 777, k + 1 i о—-—!—-—о m - l,k 777 + l,fe 2) Puc. 4.13
178 Глава 4. Численные методы решения уравнений в частных производных Выпишем некоторые вспомогательные формулы: е‘шх = cos (wx) + i • sin (сох), 1 - cos (сох) = 2sin2 , \ л } sin (сох) = 2sin — cos — \ Л J \ Li (4.29) ц(Л+1) =х^1,е;М(х-Л) т - 1 ’ + =xk + 1 е‘ш<х + /1\ uw = е1ШХ, т ’ u(ft) = X* • ег“(х"л> т - 1 ’ ит\1 = ^' е‘“(х + л>, ц(* + 1) = хА + 1 • е‘шх. т (4.30) По формуле (4.23) разностная схема для явного уголка вперед имеет вид Мщ | + 1 О-т _ 0 т h Преобразуем схему (4.23) с учетом соотношений (4.30) к виду X- 1 + e‘mh - 1 = 0 т h и с использованием формул (4.29) — к виду X — 1 + [1 — cos (сзй)] у - i sin (сой) у . h h Для квадрата модуля X имеем соотношение |Х|2 = / , Ч "12 1 , о . о ( СОЙ ) Т 1 + 2 smz — - \2 lh + sin2 (сой) j- , из которого следует, что |Х| > 1 при любых т и й, т. е. разностная схема (4.23) — явный уголок вперед — абсолютно неустойчива. Этот же результат был получен ранее из других соображений. ЛАКС ПЕТЕР Д. (Lax Peter D.; 1926) — американский ма- тематик, чьи основные труды относятся к теории диффе- ренциальных уравнений с частными производными, функ- циональному анализу и прикладной математике. В вычис- лительной математике известен метод Лакса — Вендорфа для численного решения задачи одномерного нестационар- ного истечения идеального газа.
4.10. Применение метода гармоник Фурье... 179 Для явного уголка назад (рис. 4.13, б) разностная схема по формуле (4.25) имеет вид - ulk) ит um-l _Q h ит цт Т Выкладки, аналогичные проведенным для явного уголка вперед, дают |Л|2- 1 + 4sin2f . \ 2 ) h Из этого соотношения следует, что разностная схема (4.25) — яв- ный уголок назад, как это было показано и ранее, условно устой- чива при т/й < 1. Схемы (4.23) и (4.25) имеют первый порядок аппроксимации по т и Л, так как отброшены члены порядка малости О(т, Л)*. Рассмотрим явную схему второго порядка точности, про- иллюстированную рис. 4.13, в, в которой производная по х аппроксимируется со вторым порядком точности, т. е. отброше- ны члены малости О(т, й2). Разностная схема имеет вид и(к) - u(k) ит+ I ит- I _ р 2й и(‘ + 1)- и(к) ит_____ит X а для квадрата модуля X может быть получено соотношение |Х|2 = 1 + sin2 (о>й) , nz из которого следует, что разностная схема (4.31) абсолютно неус- тойчива при условии |Х| < 1. При условии |Х| < 1 + О(т) схему можно рассматривать как частично устойчивую, если т2/й2 < Ст. Несмотря на повышение порядка аппроксимации по сравнению со схемой (4.23), при использовании условия |Л| < 1 схема абсо- лютно неустойчива. Для схемы Лакса разностная схема имеет вид "m LWm+l + - 1 J / J_ ит + 1 - 1 __ q (4.31) (4.32) Т 2Й Схема Лакса имеет второй порядок точности по h и является условно устойчивой при т/Л < 1. Эта схема обычно используется в задачах механики сплошных сред и принадлежит к схемам сквозного счета, так как позволяет без явного выделения прово- дить расчеты областей с поверхностями разрыва. * Здесь и далее под записью «...отброшены члены порядка малости О(а, ц)» или «О(а, ц, v)» подразумевается, что отброшенные члены стре- мятся к нулю при а -> 0, ц -> 0, v -> 0.
180 Глава 4. Численные методы решения уравнений в частных производных Для схемы неявный уголок назад (рис. 4.13, д') разностная схема имеет вид и(к+1)~ит ит ит Т (* + i) _ <* + !) ит+ 1 ит = 0. (4.33) h В этой схеме значение |Л| < 1 при любом соотношении шагов, и, следовательно, схема абсолютно устойчива. 4.11. Применение метода гармоник Фурье в задачах исследования устойчивости разностных схем для уравнения теплопроводности По отношению к одномерному уравнению теплопроводности = Й <4-34> dt дх2 рассмотрим две разностные схемы — явную и неявную, шаблоны которых показаны соответственно на рис. 4.14, а и 4.14, б. Для явной схемы имеем разностную аппроксимацию с поряд- ком малости О(т, Л2): „(* + D _,.(*) „(*) o„W + „<*) __ - 1 ^ит ит + 1 35) т h2 Модуль перехода X для этой схемы составляет -1 1 4т . o((ah\ х_1-»1юпЫ- Из этого соотношения следует, что явная схема (4.35) условно ус- тойчива при т/Л2 < 1/2. • m,k + 1 771-13+1 7П,/г + 1 771 + 13+1 О------б--------О т- l,k m,k т + 13 а) 6 m,k б) Рис. 4.14
4.12. Метод переменных направлений 181 Для неявной схемы имеем разностную аппроксимацию с по- рядком малости 0(1, h2): (k + 1) _ (к) (к + 1) _ 2 (к + 1) (к + 1) *^т- 1*^т + 1 36) т Л2 Можно показать, что для этой схемы |Х| < 1 при всех т и Л и, сле- довательно, схема абсолютно устойчива. Полученные результаты исследования устойчивости различ- ных разностных схем для уравнения переноса и одномерного уравнения теплопроводности сведены в табл. 4.2, при этом ис- пользовано условие устойчивости |Х| < 1. Из представленных ре- зультатов следует, что неявные разностные схемы более устойчи- вы, чем явные, и, как правило, в неявных схемах не накладыва- ются ограничения на шаги разностной сетки, связанные с устой- чивостью. Однако при использовании неявных разностных схем для определения значений неизвестных на (k + 1)-м слое необхо- димо решать систему алгебраических уравнений относительно неизвестных и(^ + (т = 0, ..., М). В то же время для явных схем значения неизвестных + 11 в каждой точке на (k + 1)-м слое яв- ным образом выражаются через известные значения на fe-м слое и их вычисление элементарно. Поэтому число операций для на- хождения М значений неизвестных на одном слое в явных схемах значительно меньше, чем в неявных схемах. В то же вре- мя из-за ограничений, связанных с устойчивостью разностных схем, число шагов по времени для достижения конечного зна- чения Т может быть значительно больше в явных схемах, чем в неявных. Таким образом, предпочтительность той или иной разност- ной схемы при заданной точности должна определяться с учетом общего числа операций, необходимого для полного цикла вычис- лений. С этой точки зрения существуют ситуации, когда может быть предпочтительной та или иная схема — явная или неявная. Например, для одномерных по пространству задач часто более выгодными оказываются неявные разностные схемы. 4.12. Метод переменных направлений На практике приходится иметь дело с многомерными задача- ми, когда необходимо учитывать изменение искомых функций по координатам х, у, г. Для таких задач выбор разностной схемы
Таблица 4.2 Дифферен- циальное уравнение Шаблон Условие устойчиво- сти схемы Разностная схема Порядок аппрокси- мации 1+ 0^1 н Is II о • т, k + 1 т т, k О—-—О m+l,k Абсолютно неустой- чива (fe + i)_ (fe) (М _ (fe) Um ит ит+\ ит g т Л О(т, Л) • 7П, k + 1 Т т - 1, k О—-—О т, k Условно устойчива, т/Л < 1 (Л + 1)_ (Л) (*)(*) । -1 — Q т h О(т, Л) * т, k + 1 m-l,k T]m, fc m + l,k h h Абсолютно неустой- чива u(fc + 1)-u(fe) u(fe) - u{k) um um । + 1 um-l _ g т 2Л О(Т, Л2) ф 7П, k + 1 т- 1, k 1 т+ 1, k Условно устойчива, Т/Л< 1 „(* + !)_ r (*) _ (fe) 1/2 W _u(k) um lum + 1 - 1J/Z . um + 1 um - 1 _ g т 2Л О Гт, Л2, — 'l \ т J • * т, k + 1 т - 1, k О m,k Абсолютно устойчива U(k + X}- u{k) u(fc + 1)- U{k + x) um um । um+ I um __ g T h О(Т, Л) ди _ д2и dt дх2 * т, k + 1 т-1, k I m, k m+ l,k Условно устойчива, Т/Л2 < 1/2 + ik) (i) _ 2 «')_ (k) um um um-\ £Um Um+\ т Л2 О (Т, Л2) m-1 ,^+l m +1, k +1 Tzn, k+ 1 Qm, k Абсолютно устойчива (t + D_ m (fc + i) _ 2 + „(л + i) т Л2 О(т, Л2) Глава 4. Численные методы решения уравнений в частных производных
4.12. Метод переменных направлений 183 является нетривиальным. Можно показать, что расчет по явной схеме до заданного момента времени Т с учетом связанных с ус- тойчивостью ограничений на шаги требует по явной схеме поряд- ка Np + 2 операций, а по неявной схеме — порядка N3P ~ 1 опера- ций. Здесь N — число точек на слое, а Р — пространственная размерность задачи. Для рассматриваемого здесь метода пере- менных направлений требуется Np + 1 операций. В табл. 4.3 пред- ставлено число операций для различных схем и различных про- странственных размерностей Р задачи. Из таблицы следует, что для задач с пространственной размерностью больше единицы предпочтительным является метод переменных направлений. Таблица 4.3 р Явная схема Неявная схема Метод переменных направлений 1 № № № 2 N4 N5 N3 3 ДГ5 N8 N4 Метод переменных направлений рассмотрим на примере ре- шения двумерного уравнения теплопроводности — уравнения па- раболического типа с двумя независимыми пространственными переменными 57 + Й + ««»•<> <4-ЗТ> at дхЛ дуЛ Требуется найти решение этого уравнения внутри параллелепи- педа [0 < х < а, 0 < у < b, 0 < t < Г] при начальном условии и I = и0(х, у, 0) (4.38) It = о и граничных условиях на гранях параллелепипеда и I = «0(х, у, t). (4.39) 1г Идея метода переменных направлений состоит в сведении ре- шения трехмерной задачи по переменным t, х и у к решению по- следовательности двумерных задач по переменным t, х и t, у.
184 Глава 4. Численные методы решения уравнений в частных производных Построим разностную схему. Пусть т, hx и hy — соответствен- но шаги по t, х, у и хт = mhx, уп = nhy, tk = kr; здесь тп = 0, М; п = 0, N; k = 0, К. Введем разностные операторы .,(*) _ О./*) 4- »<*’ Т Г„(*) 1 ___ _~ 1, я п * 4- 1, п ^х^т,п^ h2 нх ,,(*) _ О,/*) 4_ Г Ги(^) 1 ___ _п ~ п ‘ ит, п 4- 1 Ьу1ит,П1 L2 У L[uw ] = L Ги(/г) 1 + L [uw ], L n-l X*- m, nJ i/L m,n-i9 m = l, n= 1, ...,N- 1, fe= 1, ...,K- 1. Аппроксимируя уравнение (4.37) разностным, можем записать ~п’п ~Ujn’- +(LX + Ly)[ou^ +(l-o)^n] = /m, I s где о — параметр разностной схемы, который может принимать значения от 0 до 1. Погрешность аппроксимации такой схемы O(tv, Лр, где v = 2 при а = 1/2 и v = 1 при о Ф 1/2. Для явной схемы о = 0, для чисто неявной схемы о = 1. Рассмотрим шаблоны, изображенные на рис. 4.15. Отметим, что шаблон 4.15, в не переносится на трехмерный случай. 6) о=1 т,п - l,k + 1 О m,n,k Рис. 4.15
4.12. Метод переменных направлений 185 Явная разностная схема (рис. 4.15, а) (*+!)_ (*) Um.n -um,n +L[uMn} = fWn (4.40) устойчива при т/Л2 <1/4 (полагаем Л = hx = hy). Схема позволяет по известным значениям функции на k-м временном слое найти решение на (ft + 1)-м слое. Неявная разностная схема (рис. 4.15, б) (*+!)_ (k) Um’n ~Um’n +L[u^] = f™n (4.41) абсолютно устойчива и позволяет определить решение на (ft + 1)-м слое путем решения системы линейных алгебраических уравнений с ленточной матрицей, имеющей широкую слабо за- полненную ленту. Как следует из табл. 4.3, явная и неявная схе- мы требуют при Р = 2 порядка N* и порядка № операций соответ- ственно, но и в том, и в другом случае необходимое число опера- ций весьма велико. Между тем метод переменных направлений требует лишь АГ2 операций. Рассмотрим разностную схему метода переменных направ- лений. Для этого введем дополнительный промежуточный слой (ft + 1/2) и следующую разностную аппроксимацию уравнения (4.37) на этом слое на шаблоне (рис. 4.15, в): (k + 1/2) _ (*) Um’n ./Г"1”1 + + Ч<«(Д»1/2)) = Сп- (4-42) Согласно (4.42) вторая производная по х аппроксимируется на ft-м слое, а по у — на (ft + 1/2)-м слое. Поэтому на (ft + 1/2)-м слое имеем только три неизвестных значения и^+п^2), и(£+п1/2), ит n+Т в каждом уравнении системы, хотя требуется найти (N - I)2 неизвестных (полагаем N = М). Итак, во-первых, на (ft + 1/2)-м слое имеем систему линей- ных уравнений с трехдиагональной матрицей, которую можно записать в виде _L_ и + V2) _ С j , JL V* + 1/2)+ и(к + 1/2> = Fk (4 431 2д2ит,п-1 \^1^2h2JUm’n ^2h2U,n’n + 1 Г т.п' гДе Frn, П = um’n- (T/2)(Lx[u(^n] - f вычисляется по известным значениям функции на ft-м слое. Присоединив к системе (4.43) значения ^1/2) и н^^1/2), известные из краевых условий, мо-
186 Г лава 4. Численные методы решения уравнений в частных производных жем вычислить значения неизвестных на (ft + 1/2)-м слое. Для этого путем решения системы линейных уравнений с трехдиаго- нальной матрицей можно использовать такой эффективный ме- тод решения, как метод прогонки (см. § 1.5). Во-вторых, система линейных уравнений (4.43) распадается на М - 1 независимые трехдиагональные системы порядка М - 1 для каждого т. Независимое решение на (ft + 1/2)-м слое при фиксированном значении т позволяет существенно уменьшить объем вычислений по сравнению с решением одной системы по- рядка (М - I)2. После того как найдены все неизвестные и(* +п1/2) на промежу- точном слое, решение на (ft + 1)-м слое определяется разностной аппроксимацией уравнения (4.36): (Л +1) (* + 1/2) 5^-2--^-2— +L Ги(/г+1)] + L Ги('г + 1/2)] = f(* + 1/2). (4.44) т/2 xt т,п J i/L т, п 1 1 т, п V / Соотношение (4.44) может быть переписано в виде + _ _Н_ + -j- -L- u^k +11 =2?(fc + 1/2) (445) 2/l2um-i,n 2ft2 J т’п 2h2 m + 1’n m’n ’ ' 7 где значение F(^+n1/2) = - (т/2)(Лу[п(Д+п1/2)] - f™n) + и(Д+п1/2) вы- числяется по известным значениям функции на (ft + 1/2)-м слое. Аналогично ситуации на предыдущем промежуточном слое сис- тема (4.45) с присоединенными граничными значениями распре- деляется на (N - 1) независимые трехдиагональные линейные системы, отвечающие фиксированным значениям п, каждая из Рис. 4.16 которых решается методом прогонки. Однако здесь про- гонка выполняется по ин- дексу т, т. е. в направлении оси х. Отметим, что коэффи- циенты при неизвестных в уравнениях (4.43) и (4.45) та- ковы, что прогонка является корректной и устойчивой. На рис. 4.16 схемати- чески изображен переход с ft-го слоя на (ft + 1)-й слой с дробным шагом* и указано направление прогонок (пря- мой и обратный ход). * Метод переменных направлений носит также название метода дробных шагов.
4.13. Математические и физические основы метода установления 187 Таким образом, в методе переменных направлений переход с известного fe-го слоя на искомый (k + 1)-й слой происходит с использованием дробного шага т/2 и промежуточного слоя (k + 1/2). Разностная схема (4.42) и (4.44) в совокупности явля- ется абсолютно устойчивой, хотя при переходе с ft-го слоя на (ft + 1/2)-й модуль перехода |ЛХ| > 1, поскольку схема (4.45) ло- кально неустойчива. Однако при переходе со слоя (ft + 1/2) на слой ft модуль перехода |Л | < 1 и общее значение модуля перехода оказывается меньшим единицы. Отметим, что существуют так называемые локально-одно- мерные схемы (или схемы расщепления), в которых на промежу- точном (ft + 1/2)-м слое отсутствуют и аппроксимация, и устойчи- вость. Тем не менее при переходе со слоя ft на (ft + 1)-й слой ре- зультирующая схема становится аппроксимирующей и устойчи- вой. Например, для уравнения (4.37) при f = 0 предложена локально одномерная разностная схема: при переходе от ft-ro слоя к (ft + 1/2)-му решение имеет вид (*+1/2)_ (*) “т, п um, п Т с порядком аппроксимации О(т, А2), при переходе с (ft + 1/2)-го слоя на (ft + 1)-й — соответственно (*+!)_ (* + 1/2) Um’n \Um’n =Lx[u^] (4.47) с порядком аппроксимации О(т, й2). На промежуточных слоях ни одна из схем (4.46) и (4.47) не является аппроксимирующей, хо- тя результирующая схема — аппроксимирующая и устойчивая с порядком аппроксимации О(т, й2). [и(* + 1/2) •т.п (4.46) 4.13. Математические и физические основы метода установления Метод установления обычно используется для решения уравне- ний эллиптического типа или смешанных эллиптико-гиперболи- ческих уравнений. В задачах газовой динамики уравнения эл- липтического типа описывают стационарное дозвуковое течение, например, течение за отошедшей ударной волной при сверхзву- ковом обтекании затупленных тел или течение в сужающейся
188 Глава 4. Численные методы решения уравнений в частных производных части сопла Лаваля. Уравнение для функции тока и потенциала скорости в плоском несжимаемом течении является уравнением Лапласа. К эллиптическому уравнению приводит задача опреде- ления напряжений, возникающих при упругом кручении длин- ного цилиндрического стержня, задача о стационарных потоках тепла в двумерном теле и многие другие. Для уравнений эллиптического типа характерной является задача Дирихле, когда на границе Г области G, в которой ищется решение, задана искомая функция и(х, у) (рис. 4.17, а). Поясним идею метода установления на примере задачи Дирихле для урав- нения Лапласа с двумя независимыми переменными х и у: Ди = Щ = °, (4.48) дх2 ду2 и(х, у)| = и°(х, у). Задачу (4.48) будем называть СТАЦИОНАРНОЙ, так как ее ре- шение не зависит от времени. Наряду со стационарной задачей рассмотрим эволюционную (нестационарную) задачу для парабо- лического уравнения теплопроводности с теми же граничными условиями и произвольно выбранными начальными данными (рис. 4.17, б): ди _ д2и , <Ри dt дх2 ду2 ’ и(х, у, t)| = u°(x, у), (4.49) 1г и(х, у, 0) = и0(х, у). В общем случае, если граничные условия зависят от времени, задачу (4.49) называют НЕСТАЦИОНАРНОЙ КРАЕВОЙ ЗАДАЧЕЙ. В представленной формулировке задача (4.49) называется вы- Рис. 4.17
4.13. Математические и физические основы метода установления 189 рожденной нестационарной задачей, так как условие на границе области не зависит от времени. Таким образом, в методе установления вводится новая неза- висимая переменная t и задача формально усложняется — увели- чивается размерность задачи. Однако при этом увеличивается на- бор возможных разностных схем решения задачи, что допускает выбор из них устойчивых и экономичных. Далее будет показано, что кажущееся усложнение задачи не приводит ни к увеличению времени счета, ни к потере точности. Важным достоинством ме- тода установления является то, что краевая задача для эллипти- ческого уравнения сводится к задаче с начальными и краевыми условиями. Из физических соображений достаточно очевидно, что решение эволюционной задачи (4.49) при t —> °° будет стре- миться к решению стационарной задачи (4.48). Действительно, решение стационарной задачи (4.48) дает стационарное распределение значений искомой функции (напри- мер, температуры) в области G при заданном ее распределении на границе области Г. Решение эволюционной задачи (4.49) дает распределение значений функции во времени при тех же, что и в стационарной задаче, граничных условиях. Очевидно, что по ис- течении достаточно большого промежутка времени в области G установится распределение значений функции, не зависящее от начальных условий, а определяемое лишь значениями функции на границе. Приведенное рассуждение дает основание предпола- гать, что решение эволюционной задачи при t —> 00 сводится к ре- шению стационарной задачи и решение эволюционной задачи при достаточно большом t = Т может быть принято за прибли- женное решение исходной стационарной задачи. Приведем некоторые математические рассуждения, подтверж- дающие сделанное предположение о выходе решения эволюцион- ной задачи (4.49) на стационарный режим. Пусть и(х, у, t) и и(х, у) — решение задач (4.49) и (4.48) соответственно. Рассмот- рим разность w(x, у, t) = и(х, у, t) - и(х, у). Функция w удовлетворяет дифференциальному уравнению (4.49). Начальные данные имеют вид w (х, у, 0) = и0(х, у) - и(х, у), а однородные граничные условия — w(x, у, t) = 0. Используя метод разделения переменных Фурье при полу- чении решения линейной однородной краевой задачи для функ- ции iv, покажем, что iv(x, у, t) -> 0 при t —> 0. Рассмотрение прове-
190 Глава 4. Численные методы решения уравнений в частных производных дем на примере соответствующей одномерной задачи в области G: [О < t < Т, 0 < х < 1]. Имеем: dw _ d2w dt дх2 ’ (4.50) w(0, t) = u>(l, t) = 0, (4.51) u>(x, 0) = u0(x) - u(x). (4.52) Будем искать частное решение задачи в виде w(x, t) = X(x)Y(t). (4.53) Подставив (4.53) в (4.50), получаем Х"(х) _ Г(0 _ -X, (4.54) где Л = const. Подставляя выражение (4.53) в условие (4.51), по- лучаем w(0, t) = X(O)Y(t) = O, (4.55) u>(l, t) = X(l)Y(t) = 0. Из соотношений (4.55) следует, что Х(0) = Х(1) = 0. Выражение (4.54) дает два обыкновенных дифференциальных уравнения для нахождения функций Х(х) и Y(t)t ^+AY = 0, (4,56) at ^4+ХХ = 0. (4.57) ах2 Для уравнения (4.57) решаем краевую задачу с однородными условиями (4.55). Она сводится к простейшей задаче на собствен- ные значения, из которой необходимо определить значения пара- метра Л, при которых существуют нетривиальные решения зада- чи (4.57), (4.55). Рассмотрим три возможных случая. • Л < 0; Х(х) = Сге-^-х + С2е“-^*. Из соотношений (4.55) сле- дует, что С\ = С2 = 0; Х(х) = 0. • Л = 0; Х(х) = С\х + С2. Из соотношений (4.55) вновь следует, что С1 = С2 = 0; Х(х) = 0. • Л > 0; Х(х) = C1cos (А х) + C2sin (Ах). Подставляя выраже- ние для Х(х) в первую из формул (4.55), получаем: если Х(х) = 0, то С\ = 0 и Х(1) = C2sin Л = 0 и если Х(х) # 0, то С2 Ф 0.
4.14. Разностные схемы метода установления 191 Нетривиальные решения задачи (4.57), (4.55) возможны при Л = = (л;)2, 7 = 1,2,.... Тогда из уравнения (4.56) следует, что Y(t) = С; е“хЛ Согласно вы- ражению (4.53) частное решение w(x, t) имеет вид w(x, t) = Ce~Vsin (njx). Постоянные C; определяются из разложения начальной функции w (х, 0) в ряд Фурье. Не будем приводить конкретных формул для вычисления этих постоянных. Из последнего соотношения следу- ет, что w(x, t) —> 0 при t —> 0, т. е. решение эволюционной задачи стремится при 7 —> оо к решению стационарной задачи. Таким об- разом, решение задачи (4.48) можно рассматривать как предел решения нестационарной задачи (4.49) при t —> 00. Рассмотрим еще одну эволюционную задачу, описывающую колебания мембраны при наличии вязкого трения: ди dt , Э2и Л + да *4“’ U = и°(х, у), 1г ul =и0(х, у), =и1(х, у). It = о 1 It = о Колебания со временем будут затухать, и решение этой задачи будет стремиться к решению задачи (4.48), которую можно рас- сматривать как задачу о прогибе мембраны. Если в уравнении от- Эи ~ ~ бросить член -г-, то оно будет описывать процесс колебания dt мембраны без затухания амплитуды колебаний и решение уста- навливаться не будет. 4.14. Разностные схемы метода установления Рассмотрим для наглядности следующую прямоугольную об- ласть G:[O<x<l,O<j/<l,O<i<T]. Стационарная задача (4.48) сводится к простейшей разностной аппроксимации М/п + 1, п п + - 1, п h2x . ^т, n + 1 п Ут, п - 1 __ л h2 пу (4.58)
192 Глава 4. Численные методы решения уравнений в частных производных При решении этой системы линейных уравнений с пятидиаго- нальной матрицей может быть использован один из способов рас- смотренных ранее итерационных процессов. Для аппроксимации задачи (4.49) введем сетку М' т = О .,М, h хт = mh , т х* Уп = п\- п = О .,N, hy _1 ЛГ /г = 0, ...,К tk = kx, и обозначение п нения (4.49) запишем явную и неявную разностные схемы, шаб- лоны которых показаны соответственно на рис. 4.18, а, б: = и(хт, уп, tk). Для дифференциального урав- и{к + п - и{к) ит, п______ит, Т „(*) _ O7/fe) I 7/^) Um+l,n ^ит,п + ит~ и{к) - 2и(к) + и(к) ит, п + 1 ^ит, п ит, h2 у (4.59) ит, п ui X т, п + 1, п п ' ~ 1, hi „(*+!) _ , „(*+1) ит, n + 1 £,и’т, п ‘ ит, п - 1 60) hy Большинство итерационных методов (в том числе метод простой итерации и метод Зейделя) можно символически запи- сать в виде u(k+ 1) _ ц(*> Bk--------- + Auw = f, где Bk — произвольная матрица, xk — шаг разностной схемы. Ес- ли при этом Bk и xk не зависят от номера итерации k, процесс на- f m,n,k + 1 т,п + l,k о- т - \,n,k т,п - 1,А а) m,n,k m+l,n,k т - l,n,k + m,n,k + т + l,n,k + 1 О m,n,k т,п + l,k + 1 б) т,п - l,ft + 1 Рис. 4.18
4.14. Разностные схемы метода установления 193 зывается стационарным. В связи с этим разностные схемы (4.59) и (4.60) решения эволюционной задачи можно интерпретировать как итерационный метод решения системы линейных алгебраи- ческих уравнений, возникающей при разностной аппроксимации стационарного уравнения (4.48). Тогда для схемы (4.59) матрица Bk = Е и rk = т (здесь Е — единичная матрица). Если для достиже- ния заданной точности в методе установления потребуется мень- шее число итераций (т. е. шагов по времени), чем при решении системы уравнений (4.58) каким-либо другим итерационным методом, то применение метода установления целесообразно. Таким образом, при использовании метода установления важно понимать, что итерационный процесс можно рассматривать как разностную схему решения некоторой вырожденной нестацио- нарной (эволюционной) задачи. Исследование устойчивости новой разностной схемы (4.59) для возмущения специального вида um’ n = eiu>vnhv (4.61) (здесь i — мнимая единица) дает для модуля перехода соотно- шение A=l-gsin2^j -^sinSpA). (4.62) Учитывая, что величины сох и могут принимать произвольные значения, из соотношения (4.62) находим условие устойчивости 2’ или в частном случае квадратной сетки, когда hx = hy = h, йЧ- <4-63) Для неявной разностной схемы (4.60) модуль перехода опре- деляется соотношением л (* . 4т • о t 4т • о A z л ci л \ * = 1 + Т2 Sln “И + Г2 Sln “V ’ (4.64) \ X \ " / Чу \ £* ) ) из которого следует, что неявная разностная схема (4.60) абсо- лютно устойчива, так как |Л| < 1 при любых шагах т, hx и йу. Условие устойчивости (4.63) является весьма жестким. Оно, как правило, накладывает более сильные ограничения на шаг, чем естественные требования точности. В случае двух (и более) пространственных переменных применение неявных схем вызы- вает большие трудности, связанные с решением системы линей- ных уравнений.
194 Глава 4. Численные методы решения уравнений в частных производных Приведем пример, дающий некоторое представление о суще- стве дела. Рассмотрим квадратную сетку с шагом hx = hy = h. Вве- дем полуцелые временные слои для аппроксимации уравнения (4.49). Переход с ft-го слоя на (ft + 1)-й разобьем на два полушага: .(* + >/2) _ „<*) „(* + >/2) _ ,„(* + 1/2) <k + 1/2) 'т.п ит. п ит + 1. п п ' *^т - 1. п h2 <* +1) т. 00 - h2 (4.65) (4.66) Отметим, что схемы (4.65) и (4.66) — неявные и содержат не- известные значения на слое ft + 1/2 в схеме (4.65) и на слое ft + 1 в схеме (4.66). При этом в схеме (4.65) неизвестные значения функ- ции вычисляются прогонкой по слоям у = const, в схеме (4.66) — прогонкой по слоям х = const. Возникает вопрос о том, в каком смысле пара уравнений (4.65) и (4.66) приближает исходное уравнение (4.49). Заметим, что данное ранее определение аппроксимации здесь явно не го- дится: сеточные уравнения (4.65) и (4.66) не аппроксимируют уравнение (4.49) на дробных шагах. Однако можно показать, что для перехода с ft-го слоя на (ft + 1)-й результирующая схема явля- ется аппроксимирующей. Кроме того, если исходить из физиче- ских соображений, то имеются веские причины надеяться, что совокупность сеточных уравнений (4.65) и (4.66) приближенно описывает процесс распространения тепла. Действительно, урав- нение (4.65) представляет собой сеточную аппроксимацию пре- дельно анизотропного процесса теплопередачи, при котором рас- пространение тепла происходит лишь в направлении оси х; ана- логично можно истолковать уравнение (4.66). Можно надеяться, что при соответствующем подборе коэффициентов теплопровод- ности такое попеременное распределение тепла по двум направ- лениям будет приближенно описывать реальный (изотропный) процесс теплопроводности. Покажем, что модуль перехода, соответствующий двум полу- шагам, действительно аппроксимирует модуль перехода для уравнения (4.49). Методом гармоник Фурье можно получить вы- ражения для модулей перехода разностных схем (4.65) и (4.66): А' = 1 + sin2 (“1л/2) 1" Г-1 j4t . 2 (1 1
4.14. Разностные схемы метода установления 195 Для совокупности переходов (4.65) и (4.66) модуль перехода X = Л' Л". Из полученного соотношения очевидно, что схема (4.65), (4.66) абсолютно устойчива, т. е. устойчива при любых значениях шагов т и h. При Л —> 0 можно записать приближенное соотношение для модуля перехода: Л = 1 - Sln [~2-J - дг sin ["2-J = 1 ~ T(CDт 4- (02). С другой стороны, для точного решения уравнения теплопровод- ности и = e(°>i + а>2)‘ е‘Ш1Хе‘ш^ модуль перехода определяется соотношением X = е-(ш? + “22)t = 1 - т(а>1 + оф. Таким образом, имеет место аппроксимация по меньшей ме- ре в следующем смысле: при переходе с й-го слоя на (k + 1)-й ре- шение специального вида для сеточных уравнений изменяется так же, как и соответствующее решение дифференциального уравнения (4.49), с точностью до малых более высокого порядка, чем т. Используя преобразование Фурье, можно строго обосно- вать сходимость приближенного решения к точному. Для возмущения специального вида (4.61) скорость сходи- мости определяется модулем перехода Л, который для явной схе- мы (4.59) имеет вид (4.62). Наиболее медленно убывают низко- частотные возмущения, для которых 1= 1 - т(сох + со2). Условие устойчивости (4.63) ограничивает сверху допустимый шаг т; по- ложим т = ай2/4, 0 < а < 1. Заметим далее, что минимальные зна- чения частот со1 и со2 определяются размером области; в нашем случае сох 2 ~ л. Таким образом, для минимальных частот имеем Х = 1 - л2ай2/4. Из этого соотношения следует, что при малых значениях h сходимость оказывается весьма медленной. Для того чтобы уменьшить в 1/е раз амплитуду ошибки, требуется N = N(e) слоев, где значение N определяется соотношениями |Л|" = е-1, 112^1 =|1ПЕ| J- L . |1п Х| ал2 й2 В частности, для е = 0,01, а = 1 и h = 0,01 значение N = 8000. Из этого примера видно, что простейшие итерационные методы, основанные на явных аппроксимациях нестационарной краевой задачи, могут оказаться неэффективными.
196 Глава 4. Численные методы решения уравнений в частных производных Рассмотрим теперь неявную аппроксимацию (4.65), (4.66), построенную по методу дробных шагов. Выражение (4.64) для модуля перехода показывает, что скорость затухания возмуще- ний во всем спектре частот со1 и со2 может быть сделана сколь угодно большой при достаточно большом значении т. Однако с увеличением значения т возрастают и ошибки аппроксимации, связанные с представлением оператора перехода от fe-го слоя к (/г + 1)-му в виде произведения операторов, соответствующих по- лушагам. В предельном случае т = оо получаем два слоя (целый и полуцелый), не имеющие ничего общего с искомым решением и не похожие друг на друга. Возникает естественная идея варьи- рования т: сначала, когда преобладают возмущения, связанные с ошибками начального слоя, гасить побыстрее эти возмущения, а затем, когда начинают все большую роль играть ошибки аппрок- симации, постепенно уменьшать т. На основе этой идеи постро- ены весьма эффективные алгоритмы для решения стационарных сеточных краевых задач. При использовании метода установления иногда вычисления прекращают, когда удовлетворяется неравенство |и(/г + 11 - u(A)| < Е, где Е — заданная точность. Можно улучшить критерий оконча- ния счета на установление, сделав его по трем последним итера- циям (см. гл. 1, § 1.13, метод Эйткена). 4.15. Методы сквозного счета В задачах механики сплошных сред приходится иметь дело с те- чениями, в которых возникают поверхности сильного разрыва такие, как ударные волны, центрированные волны разрежения, поверхности контактного разрыва. На этих поверхностях терпят разрыв функции и их производные. При расчете таких течений приходится либо явно выделять эти поверхности, используя за- коны сохранения, либо строить специальные методы решения, называемые методами сквозного счета, в которых a priori неиз- ГОДУНбВ СЕРГЕЙ КОНСТАНТИНОВИЧ (1929) — матема- тик, чьи основные исследования относятся к теории чисел, теории функций комплексного переменного, теории диффе- ренциальных уравнений, численным методам линейной ал- гебры, приближенным и численным методам прикладной математики. Г. разработал разностные методы решения не- стационарных задач.
4.15. Методы сквозного счета 197 вестные поверхности разрыва явно не выделяются и просчитыва- ются насквозь вместе с областями непрерывного течения. Весьма эффективным и красивым методом сквозного счета является МЕТОД ГОДУНОВА. В основе метода Годунова лежат две идеи. Первая состоит в использовании при построении разностной схемы точных решений с кусочно-постоянными начальными дан- ными. Для гиперболических уравнений такими точными реше- ниями являются совокупности сравнительно простых и незави- симых решений задачи о распаде произвольного разрыва. Вторая идея состоит в использовании гибких и деформирую- щихся разностных сеток, связанных с поверхностями разрывов и выделяемых при расчете начальной стадии. Рассмотрим приме- нение метода Годунова при решении задачи Коши для уравнений акустики: ди £ ЭР = 0 dt Ро Эх ’ ЭР „ 2 ди п v + РЛ X- = О, dt ° 0 Эх (4.67) где U и Р — соответственно возмущения скорости и давления в акустической волне, а0 и р0— скорость звука и плотность в не- возмущенном газе. Используя инвариант Римана 1± — Р ± а0р017 и обозначив через fug произвольные функции, определяемые из начальных условий, для уравнений (4.67) можно записать общее решение U = | [f(x - aot) + g(x + aoi)], P = yy [f(x - aot) - g(x + aoi)]- (4.68) Построим с использованием (4.68) решение простейшей зада- чи о распаде. Обозначим через (7р J7ip Рр Рп некоторые постоян- РЙМАН ГЕОРГ ФРИДРИХ БЕРНХАРД (Riemann Georg Friedrich Bernhard; 1826—1866) — немецкий математик. Р. дал оригинальное построение теории аналитических функ- ций, положил начало геометрическому направлению в ней, выдвинул ряд основных идей новой науки — топологии. Труды Р. посвящены разработке неэвклидовой геометрии, рассматривавшейся им как учение о непрерывных п-мерных многообразиях. Таким образом, им были обобщены идеи Гаусса по внутренней геометрии поверхности, Гаусса — чьи лекции он слушал, будучи студентом Геттингенского уни- верситета. Работы Р. оказали глубокое влияние на развитие математики второй половины XIX—XX вв.
198 Глава 4. Численные методы решения уравнений в частных производных ные такие, что UT * 17п и Pt * Рц. Пусть в момент t = 0 заданы на- чальные условия l70(x) = I7I,P0(x) = PI прих<х*, (4 69) (70(х) = 17п, Р0(х) = Рп при х > х*. Начальные условия (4.69) таковы, что имеет место произ- вольный разрыв функций U и Р в точке х*, который с течением времени каким-то образом трансформируется в пространстве х, t. Такая задача и называется задачей о распаде произвольного разры- ва. Построим ее решение, используя свойства инвариантов Рима- на. Поскольку инвариант Римана 1+ постоянен вдоль характерис- тики х - aQt = const, а инвариант 1_ постоянен вдоль характерис- тики х + aQt — const, приходим к структуре решения, изображен- ной на рис. 4.19. Решенйе задачи о распаде разрыва имеет вид U = Uv Р = Рг 17 = (7П, Р = Рп и = и Ul + и“ U Uni 2 при x < x* - aot в области I, при x > x* + aot в области II, Р и ~ Pi 2а0Ро (4.70) Р = Р * ш Pi + Рп 2 аоРо Un - Ui 2 при х* - aot < х < х* + aot в области III. Эти области изображены на рис. 4.19*. Построенные таким образом функции L7(x, t) и Р(х, t) имеют разрывы вдоль характеристик х + aot = х* и х - aQt = х*, разде- ляющих области I, II и III. По- скольку функции U и Р не явля- ются непрерывными, то примем, что полученное решение являет- ся обобщенным решением зада- чи о распаде разрыва. Перейдем к построению раз- ностной схемы метода Годунова. *Формулы для области III в соотношениях (4.70) получены из рас- смотрения инварианта Римана на характеристиках АВ и ВС. Имеем рш аоРо^ш — Р\ aoPo^i на АВ, Рщ ~ аоРо^ш = Рп ~ ®оРо^п на ВС. Складывая и вычитая эти соотношения, получим выражения в форму- лах (4.70).
4.15. Методы сквозного счета 199 Рис. 4.20 Пусть в момент времени t = 0 заданы непрерывные функции UQ(x) и Р0(х). Заменим область непрерывного изменения аргумен- та дискретным множеством точек — разностной сеткой, узлы которой обозначим через хт. Расстояние между соседними узла- ми является шагом разностной сетки. Примем, что между точка- ми хт _ т и хт функции U и Р постоянны. Такое предположение эквивалентно тому, что непрерывные функции UQ(x) и Р0(х) за- менены некоторыми кусочно-постоянными функциями, сохра- няющими постоянные значения между узлами разностной сетки (рис. 4.20, а). Значения функций U(x) и Р(х) между узлами разностной сет- ки обозначим через Um _ 1/2 и Рт _ 1/2, присвоив соответствующему слою полу целый индекс (т - 1/2). На границе между слоями возникает распад разрыва. В ре- зультате в каждом узле сетки образуются звуковые волны, рас- пространяющиеся вправо и влево со скоростью звука а0. Через некоторый отрезок времени т структура решения примет вид, представленный на рис. 4.20, б. Согласно формулам (4.70) реше- ние в окрестности точки хт будет = - 1/2’ = ?т - 1/2 в области I: xm _ j + aot < х < хт - aot, U = + 1/2 ’ -Р = + 1/2 в области II: хт + ant < х < хт . . - ant, т U т + 1 О’ U 4- ТТ р - р (4.71) U = U ~ и т ~ 1/2 и т + г/2 — + 1/2 Гт-1/2 т 2 2а0р0 р __ р т -1/2 т. 4- 1/2 _ п _ т +1/2 т - 1/2 т 2 ^0^0 2 в области III: хт - ant < х < xm + ant. т U т и Здесь через Um и Рт обозначены значения, возникающие при рас- паде разрыва в узле т.
(4.72) 200 Глава 4. Численные методы решения уравнений в частных производных Изображенная на рис. 4.20 структура решения сохранится до тех пор, пока звуковые волны, вышедшие из соседних узлов, не встретятся между собой. После этого ее нужно перестроить зано- во, и даже в случае равномерной сетки эта процедура оказывает- ся чрезвычайно громоздкой. В связи с этим предлагается следующий способ построения решения в момент времени t = х. Заменим решение (4.71) другим решением таким, которое имеет ту же структуру, что и в началь- ный момент t = 0. Приближенно примем, что решение при t = т также кусочно-постоянно внутри интервалов, ограниченных прежними узлами сетки хт. Новые средние значения этих функ- ций при t = х между узлами хт _ г и хт обозначим через Um ~1/2 и рт - 1/2 Эти величины можно определить по формулам „т-1/2 = _ Х,р _р Ч U ит- 1/2 рт-1/2 = р -In a2(U -U ) Г Гт-\/2 ^Po“o'-L/m Um-1> в которых значения U и Р в правой части определяются по фор- мулам (4.61) для точек т и т - 1 соответственно. Действительно, рассмотрим законы сохранения в интеграль- ной форме для первого и второго уравнений (4.66), которые сле- дуют из формулы Грина + dXdH (Ф1ЙХ ~ ф2(к)’ в которой Фх = U или Ф1 = РиФ2 = Т’/Ро или Ф2 = роадП для перво- го и второго уравнений соответственно. Имеем f (tf dx - (P/p0)di) = О, pp dx-p0a2(7 di) = 0. Запишем эти соотношения для прямоугольной ячейки в плоскости (х, i), ограниченной прямыми х = хт _ р х = хт, i = О, t = х. Имеем ГРИН ДЖОРДЖ (Green George; 1793—1841) — английский математик. Г. нашел соотношение межд> интегралами по объему и поверхности, ограничивающей объем. Он ввел термин потенциал и развил теорию электричества и магнетизма.
4.16. Метод прямых 201 j U(x, t) dx = U(x, 0) dx - - [ Po J О j P(x, t) dx = T = j P(r, O)dx-poa2j p(*m> t)-P(xm_v t) di, i) di. (4.73) Так как U(x, 0) и P(x, 0) постоянны на интервале от xm _ j до хт и равны соответственно Um _ 1/2 и Рт _ 1/2 и, аналогично, U(x, т) и Р(х, т) равны Um 1/2 и Рт ~ 1/2, а на левой и правой сторонах ячейки U(x, i) и Р(х, i) принимают постоянные значения Um _ р и Рт _ р Рт соответственно, которые вырабатываются при рас- паде разрыва в узлах т и (т - 1), то из формул (4.73) следуют со- отношения (4.72). Формулы (4.73) справедливы до тех пор, пока не происходит пересечения звуковых волн, приходящих из соседних ячеек. Это имеет место при т < h/aQ, что, как видно, является условием Куранта — Фридрихса — Леви. Описанная разностная схема пе- рехода с одного временного слоя на другой имеет первый порядок точности поти й. 4.16. Метод прямых Основная идея метода прямых и рассматриваемого далее метода характеристик состоит в сведении уравнений в частных произ- водных к решению системы обыкновенных дифференциальных уравнений. В этом состоит их отличие от метода сеток, который непосредственно сводит решение систем уравнений в частных производных к решению систем алгебраических уравнений. Ме- тод прямых может быть использован для решения уравнений в частных производных любого типа, но используется в основном для решения эллиптических и параболических уравнений.
202 Глава 4. Численные методы решения уравнений в частных производных В методе прямых уравнения в частных производных рассмат- риваются на линиях, параллельных одной из координатных осей. Это приводит к исчезновению зависимости от одной из неза- висимых переменных. Сущность метода состоит в следующем. Пусть в прямоугольной области G: [а < х < 0, у0 < у < у0 + Н] не- обходимо найти решение дифференциального уравнения а(х, + Ь<х> + с('х’ у^ + d(-x’ у^ + е(-х’ у^и = t/Д- иу их и У = f(x, у), (4.74) где параметры а, b, с, d — положительные числа. Обозначим че- рез <р;(х), V;(y) О = 0, 1) заданные функции (рис. 4.21). Пусть уравнение (4.74) удовлетворяет граничным условиям u(x, i/0) = <р0(х), и(х, у0 + И) = фДх) при а < х <0, и(а, у) = у0(у), иф, у) = ^(у) при у0 < у < у0 + Н. (4,75> На отрезке [у0, у0 + И] через точки yn=yQ+nh(n= 1, ..., N), h = Н/(1 + N) проведем прямые у = уп = const (рис. 4.21). Предпо- лагая существование достаточно гладкого решения и(х, у) задачи (4.74)—(4.75), положим в уравнении (4.74) у = уп и заменим про- изводные по у разностными отношениями, приняв un(x) = и(х, уп) и воспользовавшись, например, соотношениями = К, +1(*) - ип - 1<х>] + о(Л2), У = Уп = ^2 + 1<х) " 2un(*) + Un _ j(x)] + о(й2). У = Уп Проводя такую замену на всех линиях уп = const (п = 1, ..., N) и пренебрегая малыми порядка O(h2), получаем систему N обык- Эи I Эу Эу2 О а р х Рис. 4.21
4.16. Метод прямых 203 новенных линейных дифференциальных уравнений второго порядка: an(x)u "(х) + Iйп + i(x> ~ 2ип(х) + ип - i(*)l + + сп(Х>и п(*) + Iйп + 1W - ип - 1(*)] + + en(*)un(x) = Лг(х)> П = 1, N, (4.76) где через ип(х) обозначено приближенное значение решения и(х, у) на прямой у = уп; а через ап(х), bn(x), сп(х), dn(x), еп(х) и fn(x) — значения коэффициентов а, Ь, с, d, е, f в уравнении (4.74) на линии у = уп = const. Используя граничные условия на границе области, получим и0(х) = <р0(х), а < х < р, uN(x) = фх(х), а<х<Р, (4.77) и„(а) = V0(!/n), “„(₽) = Wi(yn)’ n = 1- •••> N- На прямой у = уп каждое из уравнений (4.76) содержит три неиз- вестных значения функции ип + х(х), un(x), ип _ х(х). Всего с учетом граничных значений число неизвестных равно числу линий уп = const и равно числу уравнений в системе. Система (4.76) обыкновенных дифференциальных уравнений с граничными условиями (4.77) аппроксимирует уравнение (4.74) с граничными условиями (4.75) и называется СИСТЕМОЙ УРАВНЕНИЙ МЕТОДА ПРЯМЫХ. Эта система уравнений вместе с граничными условиями ре- шается численно (см. § 3.7—3.9) либо аналитически. В зависимости от способа замены производных по координа- те у разностными соотношениями будем иметь различные систе- мы метода прямых, с различной точностью аппроксимирующие дифференциальное уравнение (4.74). Метод прямых удобнее все- го применять, если коэффициенты в уравнении (4.74) не зависят от х. В этом случае система (4.76) будет системой обыкновенных дифференциальных уравнений с постоянными коэффициентами. Метод прямых можно рассматривать как предельный случай метода сеток, если шаг сетки по оси х устремить к нулю. Отметим важное свойство метода прямых. Если изменение искомой функ- ции внутри области незначительно, то можно ограничиться раз- биением области на одну или две полосы, что в ряде случаев су- щественно упрощает задачу, а иногда позволяет получить анали-
204 Глава 4. Численные методы решения уравнений в частных производных тическое решение. В механике сплошных сред широко применя- ется метод интегральных соотношений, аналогичный методу прямых. 4.17. Метод характеристик Метод характеристик применяется для решения уравнений ги- перболического типа в задачах газовой динамики и теории упру- гости. Метод характеристик позволяет уменьшать на единицу размерность задачи и в случае уравнений в частных производных с двумя независимыми переменными сводит их к системе обык- новенных дифференциальных уравнений. Метод характеристик тесно связан с решением задачи Коши. Характеристические по- верхности (линии) определяются как поверхности (линии), на ко- торых решение задачи Коши либо не существует, либо не един- ственно. Рассмотрим квазилинейную систему порядка р вида АЭи+вЭв=д (4 78) Эх ду в которой матрицы А и В и вектор f с элементами а^, b^, ft явля- ются функциями независимых переменных х, у и компонент ир ..., ир искомой вектор-функции. Оказывается, что в плоскости (х, у) существуют линии, называемые характеристиками, на ко- торых решение задачи либо не существует, либо не единственно. Уравнение этих линий можно получить, приравняв к нулю опре- делитель |в-А^| = 0. (4.79) I Эх | Из соотношения (4.79), которое является многочленом степе- ни р, можно найти производные dy/dx, определяющие характе- ристические направления. Таким образом, получаем р дифферен- циальных уравнений ^=\(х, у, u), i=l, ...,р, (4.80) dx 1 которые называют уравнениями направлений или уравнениями характеристик. Отметим, что р действительных корней уравне- ния (4.79) существуют только для гиперболических систем. Через каждую точку плоскости (х, у) проходит р характерис- тик. На характеристиках выполняются соотношения, называв-
4.17. Метод характеристик 205 мые уравнениями совместности. Эти соотношения связывают дифференциалы искомых функций с дифференциалами незави- симых переменных вдоль характеристик и получаются, если приравнять к нулю определитель порядка р расширенной матри- цы (Bdx - Ady, fdx - Adu). Таким образом, можно видеть, что система дифференциальных уравнений в частных производных (4.78) сводится к эквивалентной системе обыкновенных диффе- ренциальных уравнений. Поясним сказанное на примере системы уравнений в част- ных производных с двумя неизвестными функциями иг и и2. Имеем систему уравнений (4.81) дх ду где А и В — матрицы второго порядка, u = (и1г и2)т — векто- ры-столбцы, f = (fp f2)T— векторы-столбцы правых частей. Пе- репишем систему (4.81) в виде ди, , Эи, , ди, , Эи, “11Т1 +а12д~2 +&12 3J = Л> 11 Эх 12 Эх 11 ду ду 1 ди, Эи, , ди, , ди? “21эх + “22э7 + &21э7 +&22э7 (4.82) Введем обозначения: а = |А|, b = |В|, с = ^12 а12 ^21 а22 ап ^11 й12 ^22 Уравнение (4.79) для системы (4.82) имеет вид ак2 + ск + b = 0 или ^11 — ^а11 ^12 — ^а12 &21 — ка21 Ь22 — ка22 Решив это уравнение, найдем два уравнения для направлений двух характеристик, проходящих через каждую точку плоскости (х, S/) (рис. 4.22, а): is - 1'«(«, у. и2) - , (4.83) g - Л«(х, у. о„ »2) - -‘-А2- . (4.84) Уравнения совместности получим, если приравняем к нулю определители первого и третьего или второго и третьего столбцов расширенной матрицы < budx - alrdy b12dx-a12dy fldx-alldu1~a12du2\ \b21dx-a21dy b22dx - a22dy f2dx - a21du1 ~ a22du2 J'
206 Глава 4. Численные методы решения уравнений в частных производных Если ввести обозначения с = а22Ь12 ~ а12^22’ = ^2гЛ ~ ^12^2’ е = a12f2 - a22fr, S = h + еЛ(А), то уравнения совместности примут вид [аЛ(А) + ft]du. + cdu„ + hdx + edy = 0, k = 1, 2, (4.85) hdx + edy = gdx. Уравнения (48.3)—(4.85) образуют систему четырех обыкно- венных дифференциальных уравнений для нахождения значе- ний х, у, Up и2 вдоль характеристик. Перейдем к изложению существа численного метода харак- теристик. Рассмотрим в плоскости (х, у) две достаточно близкие точки 1 и 2 (рис. 4.22, б), не лежащие на одной характеристике, и зададимся целью определить значения иг и и2 в точке 3 пересе- чения характеристик, проходящих через эти точки. Координаты точки I будем обозначать через (х;, уг), а значение любой функции q в точке I — через qt. Переходя в уравнениях (4.83), (4.84) от дифференциалов к разностям, получим для определения координат точки 3 (х3, у3) систему двух линейных уравнений Уз ~ У1 ~ (-^з — Л:1)> Уз ~ У2 ~ ^2 ^Х3 ~ Х2^' Аналогично из соотношений (4.85) получаем (Л(1)а + b\(u13 - un) + с^и23 - и21) + g1(x3 - хг) = О, (Л. а + b)2(u13 — U12) + c2(u23 ~ и22^ + £2(^3 " Х2^ ~ О’ где ui;. = и((х;., у.). Решая эту систему относительно х3, у3, и13 и и23, находим приближенные значения х3, у3 и ир и2 в точке 3. Это приближение может оказаться недостаточно точным, так как характеристики, выходящие из точек 1 и 2, заменены отрезка- ми прямых. В действительности точка 3 должна быть точкой пересечения, вообще говоря, криволинейных характеристик. Рис. 4.22
4.18. Метод конечных элементов 207 Кроме того, дифференциалы всюду заменим разностями. Ошибка в определении переменных х3, у3, и13 и и23 будет иметь порядок квадрата расстояния от точки 3 до точек 1 и 2. Решение можно уточнить, если при вычислении коэффициентов при диффе- ренциалах в (4.77)—(4.79) использовать значения искомых вели- чин в точке 3. Этого можно достичь, используя итерационный процесс: г/(/,-г/1-(^(1))(?)(х(/)-х1), ^-y2 = (^>(X</>-X2), (Л(1)а + (u<*>3 - иь,) + cf (u^3 - u2 ,) + g*\x™ - xx) = 0, (Л(2)»а + b)™ (u® - ult 2) + c™ (u<%- u2 2) + g£\xf - x2) = 0, где k = 1, 2, 3, ... — номер итерации, = (q(3 11 + ?()/2 — общая формула для определения значений коэффициентов уравнений при переходе с итерации на итерацию, при этом первая итерация соответствует методу Эйлера, а вторая — методу Эйлера с пере- счетом. Пусть теперь и и2 заданы на дуге АВ некоторой кривой, ко- торая ни в одной точке не имеет характеристического направле- ния. Требуется определить решение в окрестности отрезка АВ, что является задачей Коши. Выберем на отрезке АВ ряд точек А, а, Ь, ..., В (рис. 4.22, в) и проведем через каждую из них харак- теристики обоих семейств (4.77) и (4.78). В точках их пересече- ния описанным выше способом можно вычислить искомые функ- ции. Зная решение в этих точках, можно вычислить решение еще на одном слое, и так до тех пор, пока не будет найдено реше- ние в точке С. Таким образом последовательно определяется ре- шение и одновременно выстраивается характеристическая сетка. Аналогично определяется решение в характеристическом тре- угольнике ABD (рис. 4.22, в). 4.18. Метод конечных элементов В последние годы для решения краевых задач механики сплош- ной среды интенсивно развивается метод конечных элементов. Этот метод начал использоваться для задач строительной меха-
208 Глава 4. Численные методы решения уравнений в частных производных ники, а затем превратился в общий численный метод решения систем обыкновенных дифференциальных уравнений и уравне- ний в частных производных. Метод конечных элементов содержит в себе основные кон- цепции метода сеток, связанные с дискретизацией областей не- прерывного изменения аргумента и искомой функции, и метода Галёркина, использующего вариационные принципы для на- хождения искомых функций в узлах рассматриваемой области. В конечном итоге решение краевой задачи сводится к реше- нию системы линейных алгебраических уравнений, обладаю- щих ленточной матрицей. Порядок системы равен числу узловых точек. Основная идея МЕТОДА КОНЕЧНЫХ ЭЛЕМЕНТОВ состоит в том, что любую непрерывную функцию — такую, как зависимость температуры, давления, перемещения от координат — можно аппроксимировать дискретной моделью, которая строится на множестве кусочно-непрерывных функций, определенных на ко- нечном числе подобластей. Кусочно-непрерывные функции опре- деляются с помощью значений непрерывной функции в конеч- ном числе точек рассматриваемой области. В общем случае значения непрерывной функции заранее не- известны и нужно определить их в некоторых внутренних точках области. Дискретную модель, однако, легко построить, если сна- чала предположить, что числовые значения искомой функции в каждой внутренней точке области известны. Построение дискретной модели состоит из нескольких этапов. • В рассматриваемой области фиксируется конечное число то- чек. Эти точки называются узловыми точками или просто узлами. • Значения непрерывной функции в каждой узловой точке считаются неизвестными, которые должны быть определены. ГАЛЁРКИН БОРИС ГРИГОРЬЕВИЧ (1871—1943) — инже- нер и ученый, труды которого посвящены строительной ме- ханике и теории упругости. Г. разработал эффективные методы точного и приближенного решения уравнений теории упругости, предложил метод приближенного интегрирования краевых задач (метод Бубнова — Галёр- кина), нашедший широкое применение при решении задач теории упругости, вариационного исчисления, математиче- ской физики.
4.18. Метод конечных элементов 209 • Область определения разбивается на конечное число под- областей, называемых элементами. Эти элементы имеют об- щие узловые точки и в совокупности аппроксимируют форму области. • Непрерывная функция аппроксимируется на каждом эле- менте полиномом, который определяется с помощью узловых значений функции. Для каждого элемента определяется свой по- лином, но полиномы подбираются таким образом, чтобы сохра- нилась непрерывность функции вдоль границы. Основные концепции метода конечных элементов могут быть наглядно проиллюстрированы на примере заданного одномерно- го распределения температуры в стержне (рис. 4.23, а). Рассмат- ривается непрерывная функция Т(х), областью определения ко- торой является отрезок OL вдоль оси х. Фиксированы и пронуме- рованы пять точек на оси х (рис. 4.23, б). Эти узловые точки не обязательно располагать на равном расстоянии друг от друга. Очевидно, можно ввести в рассмотрение и более пяти точек, но этих пяти вполне достаточно, чтобы проиллюстрировать основ- ную идею метода. Значения функции Т в данном случае известны в каждой узловой точке. Эти фиксированные значения представ- лены графически на рис. 4.23, в и обозначены в соответствии с номерами узловых точек. Разбиение области на элементы может быть проведено раз- личными способами. Можно, например, ограничить каждый эле- мент двумя соседними узловыми точками, образовав четыре эле- мента (рис. 4.24, а), или разбить на два элемента, каждый из ко- торых содержит три узла (рис. 4.24, б). Соответствующий элементу полином определяется по значе- нию функции Т в узловых точках элемента. В случае разбиения области на четыре элемента, когда на каждый элемент приходит- ся по два узла, функция элемента будет линейна по Т (две точки
210 Глава 4. Численные методы решения уравнений в частных производных однозначно определяют прямую линию): окончательная аппрок- симация функции Т будет состоять из четырех кусочно-линей- ных функций, каждая из которых определена на отдельном эле- менте. В случае разбиения области на два элемента с тремя узло- выми точками в каждом функция элемента представляет собой полином второй степени; окончательная аппроксимация функ- ции Т будет состоять из двух кусочно-непрерывных квадратич- ных функций. Отметим, что и в том, и в другом случае прибли- жение будет именно кусочно-непрерывным, так как углы накло- на аппроксимирующих полиномов в граничных угловых точках, принадлежащих двум элементам, могут иметь различные зна- чения. В общем случае распределение температуры неизвестно и не- обходимо определить ее значение в некоторых фиксированных точках. Методика построения дискретной модели остается точно такой же,'как описано в предыдущем случае, но с добавлением одного дополнительного шага. Снова находится множество узлов и значения температуры в этих узлах, но теперь эти значения яв- ляются неизвестными. Область решения разбивается на элемен- ты, на каждом из которых определяется соответствующая функ- ция элемента. Узловые значения функции Т должны быть теперь определены таким образом, чтобы обеспечивалось в каком-то смысле наилучшее приближение к истинному распределению температуры. Это наилучшее приближение находится из условия минимизации некоторой величины, связанной с физической сущностью задачи. Если рассматривается задача о распределении тепла, то минимизируется функционал, связанный с соответст- вующим дифференциальным уравнением. Процесс минимизации сводится к решению системы линейных алгебраических уравне- ний относительно узловых значений Т. При построении дискретной модели непрерывной величины, определенной в двух- или трехмерной области, основная кон- цепция метода конечных элементов используется аналогично. В двумерном случае элементы описываются функциями от пере- Рис. 4.24
4.18. Метод конечных элементов 211 менных х и у. При этом чаще всего рассматриваются элементы в форме треугольника или четырехугольника. Функции элемен- та представляются здесь плоскими или криволинейными поверх- ностями: функция элемента представляется плоскостью, если для данного элемента взято минимальное число точек. Для тре- угольного элемента оно равно трем, а для четырехугольного — четырем. Важным аспектом метода конечных элементов является воз- можность выделить из набора элементов типичный элемент при нахождении функции элемента. Это позволяет определить функ- цию элемента независимо от относительного положения элемента в общей модели и от других функций элементов. Задание функ- ции элемента через произвольное множество узловых значений и координат дает возможность использовать функции элемента для аппроксимации искомой функции на выбранных узлах. Простейшим из элементов является одномерный элемент, схематически изображенный в виде отрезка. Простейший одно- мерный элемент имеет два узла, по одному на каждом конце эле- мента. Одномерные элементы более высокого порядка, трехузло- вые (квадратичные) и четырехузловые (кубичные), содержат по три и четыре узла соответственно. Порядок элемента, как будет показано, определяется порядком интерполяционного многочле- на, с помощью которого аппроксимируется искомая функция. Так, на рис. 4.24, а представлены одномерные линейные элемен- ты, а на рис. 4.24, б — квадратичные. В качестве двумерных эле- ментов используются треугольники и четырехугольники. При этом количество узлов, которые содержит элемент, определяет его порядок и порядок его интерполяционного многочлена. В соответствии с этими рассуждениями искомую функцию ф записывают на элементе в виде интерполяционного многочлена. В случае линейного одномерного элемента, содержашего два узла (так называемого одномерного симплекс-элемента), интерполя- ционный многочлен имеет вид Ф = + а2х, а в случае двумерного линейного элемента, содержащего три узла (так называемого двумерного симплекс-элемента), интерполяци- онный многочлен имеет вид Ф = + а2х + а3у. В случае квадратичного одномерного элемента (так называемого одномерного комплекс-элемента) интерполяционный многочлен имеет вид Ф = + а2х + а3х2,
212 Глава 4. Численные методы решения уравнений в частных производных а в случае квадратичного двумерного элемента (так называемого двумерного комплекс-элемента) интерполяционный многочлен имеет вид Ф = + а2х + а3у + а4х2 + а5ху + а6у2. Входящие в интерполяционные формулы коэффициенты выражаются через значения функции в узлах. В частности, если ввести так называемые функции формы и Njt определяемые соотношениями = (Х) х) = (х Xj) 1 L ’ i L ’ где Xt и Xj — координаты узлов элемента, L — длина элемен- та, Ф; и Фу — значения искомых функций в узлах i и у, [N] = [2Уг, Л^] — матричная строка, а {Ф} = {Ф;Фу} — вектор-столбец искомых функций, то для одномерного симплекс-элемента имеем ф = Nfix + Nft = [?/]{Ф). Если ввести обозначения Ni^ ^ai + bix + ciV^ ^rh^ + bix + c>y)< Nk=" ±(ak + bkx + cky), “^Х]Ук-ХкУг b^Yr c^Xk- X., “ГХкХгхРк’ brY^Yv сГХ1-Хк, Як-х?ГХ^’ Ьк-Х1-хР ск = ХгХе A = 1 x> 1 Xi 1 xk k [AT] = [2V., N., Nk], {Ф} = {Ф., Ф., Фк}, то для двумерного комплекс-элемента имеем Ф = + Np. + Nk<bk = [ДГ]{Ф}. (4.86)
4.18. Метод конечных элементов 213 Функция формы N, равная единице вр-м узле, равна нулю во всех остальных узлах в соответствии с построением интерполя- ционных многочленов. Следующим этапом метода конечных элементов является по- лучение системы уравнений для нахождения неизвестных значе- ний функций в узлах. С этой целью данному дифференциальному уравнению с заданными граничными условиями ставится в соот- ветствие некоторый функционал, минимум которого достигается в том случае, при котором удовлетворяется исходное дифферен- циальное уравнение. Иными словами, вариационным уравнени- ем Эйлера для данного функционала является наше исходное уравнение. Например, задача Дирихле для уравнения Лапласа с целью отыскания потенциала скорости Э2Ф , Э2ф _ о дх2 ду2 эквивалентна отысканию минимума функционала Минимизация этого функционала должна быть осуществлена на множестве узловых значений {Ф}. Перед процедурой минимиза- ции проведем некоторые преобразования. Представим функцио- нал в виде X = х ( feTO ds, 4 J G (4.87) где {g}T = Эф Эф Эх ’ Эу . Рассмотрим область G, в которой ищется ре- шение на М элементах, и заменим интеграл (4.87) суммой интег- ралов по этим элементам. Имеем X = X Б [ U(m)} ds = х(1) + Х<2) + ••• + Х(Л/)- m-1 G Потребуем теперь, чтобы функционал % был минимальным на множестве узловых значений {Ф}. Для этого необходимо, чтобы Эх = Э у (т) = у Эх<т> = 0 Э{Ф) Э{Ф}“1^ ^Э{Ф)
214 Глава 4. Численные методы решения уравнений в частных производных Поскольку согласно (4.80) имеем <р<т) = [^т)]{Ф}, то {g(m)} = а<р<и)' дх эу(г) дх dN^> дх эу;т) дх Ф1 Ф2 a<p(m) dN{2m) dN^> Эу J L ду 'ду ду J Фр1 (4.88) или {g^} = [В<т>]{Ф}, (4.89) где В(т* — матрица, содержащая информацию, связанную с функ- цией формы. Учитывая соотношения (4.88), (4.89), функционал X можно переписать в виде Х^ = 1J {ф}т [в<т)]т [В<т>] {Ф} ds. G Окончательно условие минимума функционала принимает вид ~ м A-S№“>!№>-0. (4.90) где = J [В(т)]т [B(m)] ds. Из (4.86) следует, что матрицы В<т) и определяются следующими соотношениями для дву- мерного комплекс-элемента: В<т) = — 24 [ с. с;. ck J’ X'(m) = _L 44 b* bjbi bkbt bfij bibk bJ bjbk bkbj bl 1 4A cl cicj cick cjci cf cick -ckcl ckci ck - Уравнения (4.90) представляют собой систему линейных ал- гебраических уравнений относительно значений искомой функ- ции в узлах {Фр Ф2, ..., Фр}. Таким образом, решение краевой за- дачи для уравнения в частных производных сведено к решению системы линейных алгебраических уравнений. Матрица этой системы является матрицей ленточного типа, содержащей боль- шое число нулевых элементов. Матрица системы будет трехди- агональной, если используются двумерные симплекс-элементы. При использовании квадратичных элементов и элементов более
4.18. Метод конечных элементов 215 высокого порядка матрица системы будет содержать большое число диагоналей. Матрица системы является хорошо обуслов- ленной. Важным свойством матрицы является ее симметрия и поло- жительная определенность. Симметрия матрицы позволяет не хранить в памяти почти половину ее элементов. Положительная определенность матрицы означает, что элементы, стоящие на главной диагонали, всегда положительны и обычно много больше по величине, чем любой коэффициент соответствующей строки или столбца. Для симметричных положительно определенных матриц удается значительно сократить время вычислений и уменьшить влияние ошибок округления. При решении систем линейных уравнений такого типа эффективным является метод Гаусса и его различные варианты, в том числе метод прогонки.
Литература 1. Бахвалов Н. С. Численные методы. М.: Наука, 1973. 2. Вержбицкий В. М. Численные методы. Линейная ал- гебра и нелинейные уравнения. М.: Высшая школа, 2000. 3. Вержбицкий В. М. Численные методы. Математиче- ский анализ и обыкновенные дифференциальные уравнения. М.: Высшая школа, 2001. 4. Волков Е. А. Численные методы. М.: Наука, 1987. 5. Годунов С. К. и др. Численное решение многомерных задач газовой динамики / Под ред. С. К. Годунова. — М.: Наука, 1976. 6. Демидович Б. П., Марон И. А. Основы вычислитель- ной математики. М.: Наука, 1970. 7. Калиткин Н. Н. Численные методы. М.: Наука, 1976. 8. Киреев В. И., Пантелеев А. В. Численные методы в примерах и задачах. М.: Изд-во МАИ, 2000. 9. Пирумов У. Г., Росляков Г. С. Численные методы га- зовой динамики. М.: Высшая школа, 1987. 10. Роуч П. Вычислительная гидродинамика. М.: Мир, 1980. 11. Самарский А. А., Попов Ю. П. Разностные схемы га- зовой динамики. М.: Наука, 1975. 12. Самарский А. А. Введение в численные методы. М.: Наука, 1982. 13. Самарский А. А. Теория разностных схем. М.: Нау- ка, 1977. 14. Самарский А. А., Николаев Е. С. Методы решения сеточных уравнений. М.: Наука, 1978. 15. Сегерлинд Л. Применение метода конечных элемен- тов. М.: Мир, 1979.
Именной указатель Адамар (Hadamard J.S.) 9 Адамс (Adams J.C.) 139 Бернулли Якоб старший (Bernoulli J.) 108 Больцман (Boltzmann L.) 107 Бюффон (Buffon L.L.) 106 Вандермонд (Vandermonde A.Th.) 74 Вольтерра (Volterra К) 149 Галёркин Б.Г. 208 Гаусс (Gauf3 C.F.) 15 Гильберт (Hilbert D.) 89 Годунов С.К. 196 Грин (Green G.) 200 Гурса (Goursat E.J.B.) 154 Гюа де (De Gua de Malves J.) 33 Декарт (Descartes R.) 32 Дирихле (Dirichlet P.G.L.) 120 Евклид (EuKXei3r|g) 58 Зейдель (Seidel Ph.L.) 28 Картезий см. Декарт Коши (Cauchy A.L.) 127 Крамер (Cramer G.) 13 Кристоффель (Christoffel E.B.) 150 Кронекер (Kronecker L.) 25 Крылов A.H. 49 Курант (Courant R.) 173 Кутта (Kutta M.W.) 126 Лангранж (Lagrange J.L.) 75 Лакс (Lax P.D.) 178 Ланцош (Lanczos C.) 49 Лаплас (Laplace P.S.) 120 Лаппо-Данилевский И.A. 49 Леверье (Le Verrier U.J.J.) 49 Леви (Lewy H.) 173 Липшиц (Lipschitz P.O.S.) 63 Мюллер см. Региомонтанус Нейман фон (Neimann J. von) 112 Нейман (Neimann K.G.) 157 Ньютон (Newton I.) 38 Пуассон (Poisson S.D.) 156 Региомонтанус (Regiomontanus) 42 Риман (Riemann G.F.B.) 197 Ричардсон (Richardson L.F > 103 Ролль (Rolle M.) 81 Рунге (Runge C.D.T.) 82 Симпсон (Simpson Th.) 102 Тейлор (Taylor B.) 39 Улам (Ulam S.M.) 106 Фредгольм (Fredholm E.I.) 148 Фридрихе (Friedrichs K.O.) 173 Фробениус (Frobenius F.G.) 54 Фурье (Fourier J.B.J.) 176 Хильберт см. Гильберт Чебышев П.Л. 83 Эвклид см. Евклид Эйлер (Euler L.) 133 Эйткен (Aitken А.С.) 47 Якоби (Jacobi C.G.J.) 45

СБОРНИК ЗАДАЧ

Предисловие Настоящее учебное пособие представляет собой сборник задач по основным разделам курса «Численные методы и алгоритмы». Излагаемый материал соответствует учебному пособию У. Г. Пи- румова «Численные методы» [7]. Книга содержит пять основных разделов. Первый раздел по- священ численным методам линейной алгебры. Здесь рассмот- рены базовые алгоритмы решения систем линейных алгебраиче- ских уравнений и решения проблемы собственных значений и собственных векторов матриц. Во втором разделе изучаются численные методы решения нелинейных уравнений и систем. Третий раздел посвящен вопросам приближения функций, чис- ленному дифференцированию и интегрированию. В четвер- том разделе рассматриваются численные алгоритмы решения начальных и краевых задач для обыкновенных дифференциаль- ных уравнений (ОДУ) и систем ОДУ, а в пятом — конечно-раз- ностные алгоритмы решения задач для уравнений с частными производными. Пособие предназначено для освоения читателями навыков применения численных методов при решении конкретных задач. С этой целью изложение материала построено по единой схеме, включающей постановку задачи, описание алгоритма решения, детально разобранные типовые примеры, демонстрирующие работу изучаемого алгоритма. В предлагаемых задачах требуется довести результат до конкретных численных значений. Во мно- гих задачах в качестве ответа представлено точное (аналитиче- ское) решение. Это позволит читателю самостоятельно провести анализ поведения погрешности численного решения в зависимо- сти от параметров метода. Материал, изложенный в книге, соответствует програм- мам практических занятий по дисциплине «Численные методы и алгоритмы», преподаваемой в технических вузах. Для освоения представленного материала читатель должен обладать знанием основ линейной алгебры, математического анализа, теории обык- новенных дифференциальных уравнений и уравнений в частных
222 Предисловие производных. Авторы рекомендуют читателям при решении задач активно использовать современные компьютерные технологии. Это касается как автоматизации расчетов на основе известных программных продуктов, так и разработки собственных про- грамм. Применение компьютерных технологий сделает работу с книгой более эффективной и интересной. Книга предназначена для студентов технических вузов, аспирантов и преподавателей, а также инженеров и научных работников, использующих в практической деятельности числен- ные методы.
Глава 1 ЧИСЛЕННЫЕ МЕТОДЫ ЛИНЕЙНОЙ АЛГЕБРЫ Рассматриваются численные методы решения систем линейных алгебраиче- ских уравнений (СЛАУ) и задач на собственные значения и собственные векторы матриц. Среди численных методов алгебры существуют прямые, в которых решение получается после фиксированного числа операций, и итерационные, в которых результат достигается в процессе последовательных приближений. 1.1. Численные методы решения систем линейных алгебраических уравнений В качестве прямых методов решения СЛАУ рассмотрим методы Гаусса и прогонки. 1.1.1. Метод Гаусса При решении методом Гаусса матрица СЛАУ с помощью рав- носильных преобразований превращается в верхнюю треуголь- ную матрицу в результате прямого хода. В обратном ходе опреде- ляются неизвестные. Пусть дана СЛАУ + @inxn = ^1’ a2ixi + a22x2 + — +a2nxn = ^2> anixi + @п2х2 + + @ппхп — &п' Выпишем расширенную матрицу системы: Ведущая x2 x3 • xn b строка ап ai2 «13 &ni bi a2i a22 «23 an2 ^2 Ведущий a3i a32 a33 an3 столбец ^n2 an3 • &nn * — а21 . а11 °31 а11 а11 1-й шаг
224 Глава 1. Численные методы линейной алгебры На первом шаге алгоритма Гаусса выберем диагональный эле- мент йц*0 (если он равен нулю, то первую строку переставляем с какой-либо нижележащей строкой) и объявляем его ведущим, а соответствующую строку и столбец, на пересечении которых он стоит, — ведущими. Обнулим элементы a2i, ... , ап1 ведущего столбца. Для этого сформируем числа (_«21/ац); (-а31/аИ); ...; (-«„i/«n). Умножая ведущую строку на число (~а21/аИ), скла- дывая со второй и ставя результат на место второй строки, полу- чим вместо элемента a2i нуль, а вместо элементов a2],j = 2, ..., п, Ь2 — соответственно элементы a\j=aij + aij(-aii/аи\ Ц=Ь2 + Ь1(-аи/ап) и т.д. Умножая ведущую строку на число (~ani /«и), складывая с и-й строкой и ставя результат на место и-й строки, получим вместо элемента ап1 нуль, а остальные элементы этой строки будут иметь вид ®nj ~ ®nj "* ®lj (_®nl / ^11)> -Ьп+ />1 «и1 / «и). Сохраняя ведущую строку неизменной, получим в результате первого шага алгоритма Гаусса следующую матрицу: На втором шаге алгоритма Гаусса в качестве ведущего эле- мента выбирается элемент а22 ? 0 (если он равен нулю, то вторую строку взаимно меняем на нижележащую строку). Формируются следующие числа: ( а^2/а22); ...; ( Умножая веду- щую строку на число ( а'12 / «22) и складывая результат с третьей
1.1. Численные методы решения систем линейных алгебраических уравнений 225 строкой, получим вместо элемента нуль, а вместо элемен- тов a^j j = 3, 4, ..., п, Ц — элементы a3j+a\j{ «39/«22)’ bl bl +b\ ( «|2 /«22) и Т-Д- Умножая ведущую строку на число ( а^2 / «22) > складывая результат с п-й строкой и ставя получен- ную сумму на место п-й строки, получим вместо элемента а]п2 нуль, а вместо элементов а^, Ь]п — соответственно элементы anj anj+a2j( ап2/а22\ ьп Ь1+Ы2( aln2/al22),j 3,4,...,п. Сохраняя первую и вторую строки матрицы неизменными, получим в результате второго шага алгоритма Гаусса следующую матрицу: Ведущая строка Xt Х2 Х3 ... Х„ Ь см сч в4 "сГ ° «13 «23 а2п ^2 Ведущий столбец 0 0 азз ••• «Я23 bl ► ••• ► 0 0 апЗ 1 - «L bi 3-й шаг (п - 1)-й шаг После (п - 1)-го шага алгоритма Гаусса получаем следую- щую расширенную матрицу, содержащую верхнюю треугольную матрицу СЛАУ: х{ х2 х3 ... хп b au «12 «13 - ain К О «22 «23 ••• а2п ^2 О 0 а%3 ... а% Ы ОО ОН о О 0 0 ... 1 Прямой ход алгоритма Гаусса завершен.
226 Глава 1. Численные методы линейной алгебры В обратном ходе алгоритма Гаусса из последнего уравнения сразу определяется хп, из предпоследнего — хп _ j и т.д. Из первого уравнения определяется хг: Пп iy — hn 1 —ч -V* ^пп ип y-iTi 2, у □_ лИ 2 у — Aw 2 \ у ип 1 п 1лп 1 ' ип 1 плп ип 1 г лп 1’ allxl+.... + alnxn=bl ^х{. Замечание 1. Если элементы какой-либо строки матрицы системы в результате преобразований стали равными нулю, а правая часть не равна нулю, то СЛАУ несовместна, поскольку не выполняются усло- вия теоремы Кронекера — Капелли. Замечание 2. Если элементы какой-либо строки матрицы системы и правая часть в результате преобразований стали равными нулю, то СЛАУ совместна, но имеет бесконечное множество решений, получа- ющееся с помощью метода Гаусса для СЛАУ порядка г, где г — ранг матрицы исходной СЛАУ, Замечание 3. В результате прямого хода метода Гаусса можно вычис- лить определитель матрицы А исходной СЛАУ: det А = (-if аи а122 а|3 •... • аппп ‘. При этом с помощью множителя (— 1 )р, где р — число перестановок строк в процессе прямого хода, учитываются соответствующие пере- мены знаков вследствие перестановок строк. Замечание 4. Метод Гаусса можно применить для обращения невы- рожденной (det А * 0) матрицы. Действительно, пусть требуется обратить невырожденную матрицу А = [а^], i,j = 1,2 п. Тогда, обозначив А'1 = X, X = [х^], можно выписать матричное уравнение АХ = Е, где ’1 0 ... 0 „ 0 1 ... 0 0 0 ... 1 единичная матрица, и на его основе записать цепочку СЛАУ
1.1. Численные методы решения систем линейных алгебраических уравнений 227 каждую из которых можно решить методом Гаусса. При этом, поскольку верхняя треугольная матрица для всех СЛАУ будет одной и той же, пря- мой ход метода Гаусса применяется лишь один раз. Строится следующая расширенная матрица: • ^пп %1п х2п • XI2 х22 •• хп2 *11 *21 .. Xni bi ь2 а11 «12 ... а1п 1 0 ... 0 а21 «22 •• а2п 0 1 ... 0 ап1 ап2 • ” &пп 0 0 ... 1 В результате применения (и - 1)-го шага метода Гаусса получаем: •^in х2п •• ^пп bi b2 *12 *11 *22 *21 • Хп2 а11 «12 .. Ьц bi2 • ' ^ln 0 а22 • • «2П b\i ^22 • •• b2n 0 0 & bnn~il bnnil b"~l При этом первый столбец (хи х21... хп1)т обратной матрицы опреде- ляется в обратном ходе метода Гаусса с правой частью Ь{, второй столбец (х12 х22... хп2)т — с правой частью Ь2 и т.д. Столбец (х1п х2п ... хпп)топре- деляется с правой частью Ьп. Пример 1.1. Методом Гаусса решить СЛАУ 10xt + х2 + х3 = 12, 2х{ + 10х2 + х3 = 13, 2х{ + 2х2 + 10х3 = 14. Решение. Прямой ход: *^2 '10 1 2 10 2 2 х3 1 1 10 12 13 (-2/10); (-2/10) 14 7 1-й шаг b
228 Глава 1. Численные методы линейной алгебры xt х2 х3 b xt х2 х3 b <10 1 1 12 ► <10 1 1 12 А 0 9.8 0.8 10.6 (-1.8/9.8) 2-й шаг 0 9.8 0.8 10.6 0 1.8 9.8 V. Обратный ход: 11.6 9. 7 553х3 = 9.653 0 х3 = 0 1, 9.653 9.653 7 9.8х2 + 0.8x3 = 10-6 => х2 = 1, Юхз + Хз + Хз =12 =>xt = l. Ответ: xt = х2 = х3 = 1. Пример 1.2. Методом Гаусса вычислить определитель матрицы и обратить матрицу СЛАУ из примера 1.1. Решение. Имеем \ А = 2 10 1 ; 2 2 10 V. 7 detA = 10 • 9.8 • 9.65 = 945.994 (точное значение — 946). Прямой ход: х13 Х23 х33 х12 xii х23 Хи Х21 x3i bi Z>2 b 10 1 1 1 0 0 V—2/10);(—2/10) 2 10 1 0 1 0 1-й шаг 2 2 10 0 0 1 7 Х13 Х23 хзз х12 х22 х23 Хи x2i x3i bi ^2 Ьз <10 1 1 1 0 0 ¥-1.8/9.8) 0 9.8 1.8 Х13 0.8 9.8 Х23 -0.2 -0.2 X33 1 o 0 ( 1 2-й шаг 7 х12 х22 x23 Хц x2i x3i bi ь2 Ьз <10 1 1 1 0 0 0 9.8 0.8 -0.2 1 0 0 0 9.653 — 0.163 0.184 1 7
1.1. Численные методы решения систем линейных алгебраических уравнений 229 Обратный ход: 9.653х31 =-0.163, 9.8х21 + 0.8х31 = -0.2, 10xu + х21 + х31 = 1. 9.653х32 = -0.814, 9.8х22 + 0.8х32 = 1, 10х12 + х22 + х32 = 0. Отсюда 9.6 9.8 Юл еле; 53*33 -1, х23 + 0.8х33 = 0, -13 +Х23 + Х33 1ует: *11 х12 х13 ' 0.104 -0.0085 -0.0095' А 1 _ *21 *22 *23 *31 *32 *33 у = -0.019 -0.0169 0.104 -0.0085 -0.019 0.104 7 Проверка: '10 1 1 ' ' 0.104 -0.0085 -0.0095' А-А ‘ = 2 10 1 -0.019 0.104 -0.0085 = 2 2 10 -0.0169 -0.019 0.104 V. 7 '0.104 0 - -0.0005' = 0.001 0.104 - -0.0085 , 0.001 V. 0.001 1.004 7 т.е. с точностью до ошибки округления получена единичная матрица. Замечание 5. Компьютерная реализация метода Гаусса часто осу- ществляется с использованием LU-разложения матриц. L [/-разложение матрицы А представляет собой разложение матрицы А в произведение нижней и верхней треугольных матриц, т.е. A = LU, где L — нижняя треугольная матрица (матрица, у которой все элементы, находящиеся выше главной диагонали, равны нулю, 1$ = 0 при i < j), U — верхняя треугольная матрица (матрица, у которой все элементы, находя- щиеся ниже главной диагонали, равны нулю, и& = 0 при i >f). [.[/-разложение может быть построено с использованием описанного выше метода Гаусса. Рассмотрим k-H шаг метода Гаусса, на котором осуществляется присваивание нулевых значений (обнуление) поддиа- гональным элементам k-ro столбца матрицы A<-k ~ О. Как было описано, с этой целью используется следующая операция: a^=atj 4)- i = k + i.п, j = k.п. akk 7
230 Глава 1. Численные методы линейной алгебры В терминах матричных операций такая операция эквивалентна умно- жению A(k) = -1), где элементы матрицы Mk определяются следу- ющим образом: 1, i = j, т1 = 0, -uW i*j, j*k, i*j, j = k, т.е. матрица Mk имеет вид fl 0 0 0 0 0 "l 0 1 0 0 о 0 0 0 1 0 о 0 0 0 -pW I 0 о о о -pW о о i V. 7 Выражение для обратной = MklA^k\ здесь операции запишется в виде A^k ‘) = f 1 0 0 0 0 0 "I 0 1 0 0 0 0 0 0 1 0 0 0 Mkl = 0 0 & 1 0 0 0 0 0 0 1 I 7 В результате прямого хода метода Гаусса получим 4) = U, А = а(°) = Mv MW = Mv 'М^А® = Mv 1М^...Мп\А^п ‘), где _!) = U — верхняя треугольная матрица, а
1.1. Численные методы решения систем линейных алгебраических уравнений 231 — нижняя треугольная матрица, имеющая вид ' 1 0 0 0 0 0 ' 1 0 0 0 0 J1) u(2) 1 0 0 0 М-з М-з 1 u L= .................. ............. ......... 1 О о Таким образом, получено искомое разложение А = LU. В частности, для рассматриваемого выше примера 1.1 L [/-разложение матрицы А имеет вид А = '10 2 2 1 10 2 1 1 10 1 0.2 0.2 0 1 0.18 о А Гю о • о 1 о 7 V 9.8 0.8 =£[/. 0 9.65 7 1 1 А В дальнейшем £ [/-разложение может быть эффективно использовано при решении систем линейных алгебраических уравнений вида Ах = Ь. Действительно, подставляя Z[/-разложение в СЛАУ, получим LUx = b, или Ux = L~lb. Далее процесс решения СЛАУ сводится к двум простым этапам. На первом этапе решается СЛАУ Lz = b. Поскольку матрица системы — нижняя треугольная, решение можно записать в явном виде: i 1 Zi=bit г = 2, 3. п. М На втором этапе решается СЛАУ Ux = z с верхней треугольной матрицей. Здесь, как и на предыдущем этапе, решение представляется в явном виде: 2 -г — п лп ~ ^пп if п xi = — zi~ X uijxj “4 j=M i = п-1, .., 1. Отметим, что второй этап эквивалентен обратному ходу метода Гаусса, тогда как первый соответствует преобразованию правой части СЛАУ в процессе прямого хода.
232 Глава 1. Численные методы линейной алгебры Замечание 6. В программных продуктах для научных расчетов обще- принятой считается реализация метода Гаусса с помощью L [/-разложения с выбором ведущего элемента. Выбор ведущего (главного) элемента необходим, чтобы избежать деления на малые или нулевые величины при обнулении поддиагональных элементов. Строго говоря, в этой моди- фикации метода [.[/-разложение выполняется над матрицей РА, где Р — матрица перестановок. Пусть на k-м шаге метода известна матрица A<-k ~Э (nk 1 “11 “12 - alk 1 aik &in 0 а22 - a2k 1 a2k a2n 0 0 ... “з/? 1 a3k a3n A(k ‘) = 0 0 - ak tk i ak Ik • in 0 0 0 akk akn 0 0 . 0 ank &nn V. 7 Для матрицы A<-k “^производится выбор главного элемента akk. Главным элементом будем считать максимальный по абсолютному значению элемент из подмножества элементов k-то столбца. Пусть amk^ = max|ai£ тогда матрицу перестановок P(k'> получим перестановкой в единичной матрице строк т и k. Матрица A^k 4) с выбранным главным элементом = a^k будет равна Л^ = = p(k 1)а^ 4). Далее будем производить замещение поддиагональных элементов k-ro столбца матрицы Л(* согласно следующим правилам: a<iP=Sij ^-Р?^ =~^’i = k + i n'j = kп- ®kk 7 Это выражение эквивалентно произведению матриц А^ = MkAlk ') = MkP^A(k
1.1. Численные методы решения систем линейных алгебраических уравнений 233 где Л О ... 0 0 ... О ' О 1 ... 0 0 ... О О 0 ... 0 0 ... О Нижнетреугольная матрица на k-м шаге метода определяется выра- жением zW = p(k)^k ^Р^мк1. На первом шаге = Mv Г Алгоритм Z [/-разложения завершается после (и -1)-го шага: L = An 1\и = А^п ^,р = р(п 2)х...хР^. Окончательно £ [/-разложение имеет вид: PA = LU. Отметим, что det Р = (- 1)р. Этим объясняется наличие множителя (- 1 )р в формуле вычисления определителя. Решение СЛАУ вида Ах = b осуществляется в два этапа. На первом этапе решается СЛАУ с нижнетреугольной матрицей Lz = Pb. На втором этапе решается СЛАУ с верхнеугольной матрицей Ux = z. 1.1.2. Метод прогонки Метод прогонки является частным случаем метода Гаусса. Он применяется для решения СЛАУ с трехдиагональными матри- цами. Такие системы часто возникают при конечно-разностной аппроксимации задач для обыкновенных дифференциальных уравнений (ОДУ) и уравнений в частных производных второго порядка. Рассмотрим СЛАУ
234 Глава 1. Численные методы линейной алгебры blxl + clx2 = dlt ^"2^1 ^2^2 ^2^3 = ^2’ a3x2 + ^3X3 + c3XA = fA> (11) ап Iхп lXn i+Cn iXn ~^п 1’ 6Zr/Xr/ 1 + ЬпХп = dn, при этом будем полагать, что а{ = О, с„ = 0. Решение (1.1) будем искать в виде xi=Pixi+i + Qi> * = U.....п, (1.2) где Pt, Qj — прогоночные коэффициенты, подлежащие определе- нию. Для этого выразим х{ из первого уравнения системы (1.1) через х2 и получим х1=-^х2+^- = Р1х2+01. (1-3) bi b{ откуда следует Из второго уравнения системы (1.1) с помощью (1.3) выразим х2 через х3, получим х2=---~—хз+ ~= Р2х3 + Q2, Ь2 + а2Р{ b2 + a2Pi откуда следует р ~с2 q _ d-2 ~ а2Й1 2 М«2Р1’ 2 b2 + a2Pi ’ Продолжая этот процесс, получим из г’-го уравнения систе- мы (1.1) ~cj х dj — djQj t bt + аР{ t !+1 + а{Р{ t ’
1.1. Численные методы решения систем линейных алгебраических уравнений 235 следовательно, Qi = dj ®iQi 1 bi + aiPi 1 ' р _Z Ь;+а:Р: 1 ’ Из последнего уравнения системы (1.1) имеем х п Сп х _|_ апОп 1 "I" 1 1 О * ^и+1 + Qra’ т.е., так как сп = О, Ри=0, Q_ ^nQn 1 _ v И L . Г» 4" ClnPn 1 Таким образом, прямой ход определения прогоночных коэф- фициентов Pr Qf, i = 1, 2, ..., п, завершен. В результате эти коэф- фициенты вычисляются по следующим формулам: р = ,'\ Q,= dLai(i г’=2-3...........«-1- (1-4) bi + aft t bi + aft t Pi = Tk- & = T' <t5> bl bi p =0, Q = d«~a^ i = r . (i,6) П ’ 1 , n П \ / -\i + 1 Обратный ход метода прогонки осуществляется в соответ- ствии с выражением (1.2) х, х, х, Рп^п+1 I ~ Рп i-^n 2=Рп 2хп + Qn - 0 • xn+l + Qn - Q, (1-7) Х1 =Р1Х2 +Q1- Формулы (1.4)—(1.7) являются формулами правой прогонки. Аналогично, начиная с последнего уравнения СЛАУ (1.1), можно вывести формулы левой прогонки. Общее число операций в методе прогонки равно 8п + 1, т.е. пропорционально числу уравнений. Такие методы решения СЛАУ называют экономичными. Для сравнения число операций в методе Гаусса пропорционально п3 [ 1].
236 Глава 1. Численные методы линейной алгебры Для устойчивости метода прогонки (1.4)—(1.7) достаточно выполнения следующих условий: а:*0 с^О, 1 = 2,3.....п-1, 1ФИ14 ....<t8> причем строгое неравенство имеет место хотя бы при одном i. Здесь устойчивость понимается в смысле ненакопления погреш- ности решения в ходе вычислительного процесса при малых погрешностях входных данных (правых частей и элементов матрицы СЛАУ). Пример 1.3. Методом прогонки решить СЛАУ 8х{ - 2х2 = 6, -х{ + 6х2 - 2х3 = 3, 2х2+10х3-4х4 =8, - х3 + 6х4 = 5. Решение. Имеем Pt = —= —= 0.25; Q =^ = 0.75; 1 \ 8 \ р _ ~с2 _ 2 = Q _^2~Д2Й1 _(3 + 1'0-75) = 2 Ь2 + а2Р{ 6-1-0.25 ^2 Ь2 + а2Р{ 5.75 = 0.3478; =0.6522; Р3 = ^— = 0.374; />3+а3Р2 Q3 = (/3~a3Q2 = 0.626; Z>3+a3P2 Р1 = 0(с4=0); ^ = di-aiQ3 =10; />4+а4Р3 х4=Р4х5+<24=1.0; х2 = Р^х3 + Q2 = 1.0; х3 =Р3х4+Q3 =1.0; х{ = Ррс2 + Qi = 1.0. 1.1.3. Нормы векторов и матриц Для исследования сходимости численных методов реше- ния задач линейной алгебры вводятся понятия нормы векторов и матриц. Нормой вектора х = (хг, х2,..., хп)Т (обозначают ||х||) в и-мерном вещественном пространстве векторов х е Rn называют неотри-
1.1. Численные методы решения систем линейных алгебраических уравнений 237 цательное число, вычисляемое с помощью компонент вектора и обладающее следующими свойствами: • ||х||>0 ||х|| = 0 тогДа и только тогда, когда х — нулевой вектор; для нулевого вектора введем обозначение 9; • ||а-х|| |ос|-||.г|| для любых действительных чисел а; Нормой матрицы Апхп (обозначается || Л ||) с вещественными элементами в пространстве матриц называют неотрицательное число, вычисляемое с помощью элементов матрицы и обладаю- щее следующими свойствами: • |Л| > О ||л|| = 0 тогда и только тогда, когда Л — нулевая матрица; для нулевой матрицы введем обозначение ®; • ||ос-Л|| |а|-||л|| для любых действительных чисел а; • || Л + В|| < || Л || + ||В|| для всех п х п матриц Л и В рассматрива- емого пространства; • ||Л •В||<|Л|-|В| для всех ихи матриц Л и соответствую- щих матриц В. Как видно из последнего свойства (если в качестве матри- цы В использовать вектор х), норма матриц должна быть согла- сована с нормой векторов. Это согласование осуществляется связью (1-9) Наиболее употребительными являются следующие нормы векторов: М=Й4 г=1 V Z=1 ||х|| =шахЫ. (1.10) (1.11) (1.12)
238 Глава 1. Численные методы линейной алгебры Наиболее распространенными согласованными с ними с помо- щью связи (1.9) нормами матриц будут соответственно: IH = maxS|ai/|. (1-13) J i=l Н2 = Д^. <1.14> у tj=i ||А||с=тахХ|аг>|. (1-15) г j=i Отметим, что норма (1.15) согласована со всеми приведен- ными выше нормами векторов. Для исследования погрешностей, возникающих при решении СЛАУ, вводят понятие числа обусловленности матрицы'. %М=И1И Ч- Число обусловленности характеризует степень зависимости относительной погрешности решения СЛАУ от погрешности входных данных (правые части, элементы матрицы). Можно показать, что для ненулевых векторов х справедливы следующие неравенства: |М<УыМ МЦы IMI М ^И’ |х|| ||а+да||' Таким образом, чем больше число обусловленности, тем силь- нее влияние погрешности входных данных на конечный резуль- тат. Матрица считается плохо обусловленной, если % (А) » 1. Если в качестве нормы матрицы принять ее спектральный радиус max |\| (см. раздел 1.2), то поскольку спектральный радиус обратной матрицы А-1 равен обратной величине модуля минимального собственного значения исходной матрицы. Пример 1.4. Для матрицы А и вектора b вычислить различные нормы Hi’111’INI' Проверить выполнение условия согласованности норм
1.1. Численные методы решения систем линейных алгебраических уравнений 239 ||Лх||" ||Л||||х|| для различных комбинаций норм. Вычислить число обус- ловленности матрицы А, если Г-1 2 А , ( ЗА А = . > Ь = 3-5 -4 V. 7 \ J Решение. Вычислим соответствующие нормы: Н1=13Н-41=7’ Нг=(3!+(-4)!)1!=5’ Н,=тах(13И-41)=4; ЦлЦ, = тах(|-1| + |3|,|2| + |-5|) = 7, / 9 ,Л/2 .- I4=((-1) +32 + 22+(-s)) =7ж ||Л||_ = max(|-l| + |2|,|3| + |-5|) = 8. Для проверки условия согласованности вычислим различные нормы вектора Hi = 1-11| + И = 4«. На = ((-11)! + 292)'/! = а/962, ||с||с =шах(|-11|,|29|) = 29. Легко убедиться в том, что условие согласованности выполняется для следующих комбинаций норм: И = 40 М4 И, = 7'7 = 49- И, = * Ml И, = ^3S 5 = ^75, Н = 29ФШ1=8'4 = 32. Кроме того, известно, что матричная норма ||А||С согласована со всеми введенными выше нормами векторов. В данном примере это подтверж- дается выполнением неравенств Н,=49 3 MIL И,=8 7=» И=3 MIL HL=8'5=40- В то же время использование ряда других комбинаций норм матрицы и вектора приводит в данном случае к нарушению условия согласован- ности lcIL=29>Mllill6IL=7'4=28’ HL=29>MILH=''39'4-
240 Глава 1. Численные методы линейной алгебры Рассмотренный пример наглядно иллюстрирует важность использования согласованных норм матрицы и вектора. Вычислим число обусловленности матрицы А, взяв в качестве нормы матрицы ||-|| . Для этого найдем сначала обратную матрицу и вычислим ее норму |Л '||с = тах(|5| + |2|,|3| + |1|) = 7. В результате получим zW’HIML'8'7'56- 1.1.4. Итерационные методы решения СЛАУ Метод простых итераций. При большом числе уравнений прямые методы решения СЛАУ (за исключением метода про- гонки) становятся труднореализуемыми на ЭВМ, прежде всего из-за сложности хранения и обработки матриц большой размер- ности. В то же время характерной особенностью ряда часто встре- чающихся в прикладных задачах СЛАУ является разреженность матриц. Число ненулевых элементов таких матриц мало по срав- нению с их размерностью. Для решения СЛАУ с разреженными матрицами предпочтительнее использовать итерационные методы. Методы последовательных приближений, в которых при вычислении последующего приближения используются преды- дущие, уже известные приближенные решения, называются ите- рационными. Рассмотрим СЛАУ с невырожденной матрицей (det А * 0) + СЦ2Х2 + + @1пхп — ^1’ а21Х1 + а22х2 + - + а2пХп = ^2> @ntXt + @п2х2 + + @ппхп — &п' Приведем СЛАУ к эквивалентному виду х{ = а]]х] + а, 2х2 +... + + pt, х2 = «214 + «22*2 + - + (х2пхп + ₽2 . (1-16) (1-17) Хп — + Clw2*^2 "I" ••• "I" ^nn^n "I" Ри’
1.1. Численные методы решения систем линейных алгебраических уравнений 241 или, в векторно-матричной форме, Такое приведение может быть выполнено различными спо- собами. Одним из наиболее распространенных является следу- ющий. Разрешим систему (1.16) относительно неизвестных при нену- левых диагональных элементах аи * 0, г = 1, 2,..., и; если какой- либо коэффициент на главной диагонали равен нулю, достаточно соответствующее уравнение поменять местами с любым другим уравнением. Получим следующие выражения для компонентов вектора р и матрицы а эквивалентной системы: Ь- ₽/=—; aij=—г’ = 1-2......и. У = 1.2.п, i*j; «й «й (1.18) ай=0, г = 1, 2.....п. При таком способе приведения исходной СЛАУ к эквивалент- ному виду метод простых итераций носит название метода Якоби. В качестве нулевого приближения вектора неизвестных „ ,(И „ / (о) (0) (О)\г примем вектор правых частей г0-1 = р или Lq 'х\ I = = (Р|Р|... Pj )Г. Тогда метод простых итераций примет вид х(°) =р, = ах(°) + р, х(2) = со/1) + р, (1.19) х^ =ax(k +р. Из (1.19) видно преимущество итерационных методов по срав- нению, например, с рассмотренным методом Гаусса. В вычис- лительном процессе участвуют только произведения матрицы
242 Глава 1. Численные методы линейной алгебры на вектор. Это позволяет работать только с ненулевыми эле- ментами матрицы, что значительно упрощает процесс хранения и обработки матриц. Имеет место следующее достаточное условие сходимости метода простых итераций. • Метод простых итераций (1.19) сходится к единственному решению СЛАУ (1.17) (а следовательно, и к решению исход- ной СЛАУ (1.16)) при любом начальном приближении х<°>, если какая-либо норма матрицы а эквивалентной системы меньше единицы ||а|| < 1. Если используется метод Якоби (выражения (1.18) для экви- валентной СЛАУ), то достаточным условием сходимости явля- II п I I ется диагональное преобладание матрицы А, т.е. S \а^ V? j=l,j*i (для каждой строки матрицы А модули элементов, стоящих на главной диагонали, больше суммы модулей недиагональных элементов). Очевидно, что в этом случае ||а||с меньше единицы и, следовательно, итерационный процесс (1.19) сходится. Приведем также необходимое и достаточное условие сходимо- сти метода простых итераций. • Для сходимости итерационного процесса (1.19) необходимо и достаточно, чтобы спектр матрицы а эквивалентной системы лежал внутри круга с радиусом, равным единице. При выполнении достаточного условия сходимости оценка погрешности решения на &-й итерации дается выражением ||xW -х*||< eW = -х(М||, (1.20) где х* — точное решение СЛАУ. Процесс итераций останавлива- ется про выполнении условия < г, где е — задаваемая вычис- лителем погрешность. Принимая во внимание, что из (1.20) следует неравенство можно получить априорную оценку необходимого для дости- жения заданной точности числа итераций. При использовании
1.1. Численные методы решения систем линейных алгебраических уравнений 243 в качестве начального приближения вектора 0 такая оценка опре- делится неравенством ||а| м е, из которого получаем априорную оценку числа интераций k при Н<1: lge-lg||0|| + lg(||a||) На11 ’ Следует подчеркнуть, что это неравенство дает завышенное число итераций k, поэтому редко используется на практике. Замечание. Поскольку ||а|| < 1 является только достаточным (не необ- ходимым) условием сходимости метода простых итераций, итерационный процесс может сходиться и в случае, если оно не выполнено. Тогда кри- терием окончания итераций может служить неравенство || - xtk ~ й || < < е. Отметим, однако, что при этом не гарантируется достижение задан- ной точности. Пример 1.5. Методом простых итераций с погрешностью е = 0.01 решить СЛАУ 10х, + х2 + х3 = 12, 2xt + 10х2 + х3 = 13, 2xt+ 2х2 + 10х3=14. Решение. Приведем СЛАУ к эквивалентному виду: х{ =1.2-0.1 х2 -0.1х3, х2 = 1.3-0.2х1-0.1х3, х3 = 1.4 - 0.2 х{ - 0.2х2 или х = ах + 0, где а = 0 -0.2 -0.2 V. -от -о. Г 0 -0.1 -0.2 О 0 = (1.2 1.3 1.4)Г. Здесь ||а||с = 0.4 < 1, следовательно, достаточное условие сходимости метода простых итераций выполнено.
244 Глава 1. Численные методы линейной алгебры Итерационный процесс выглядит следующим образом: х(°)=₽; xW = ap + p = (0.93 0.92 0.9)Г; х(2)=ах<1) + р = (1.018 1.024 1.03)Г; х(3) = ах(2) + р = (0.9946 0.9934 О.9916)Г; х(4)=ах(3)+₽ = (1.0015 1.00192 1.0024)Г; eW = 0.333 >е; е<2) = 0.0867 >е; е(3) = 0.0256 >е; е(4)= 0.0072 >е. Таким образом, вычислительный процесс завершен за четы- ре итерации. Отметим, что точное решение исходной СЛАУ в данном случае известно: х* = (1 1 1)г. Отсюда следует, что заданной погрешности е = 0.01 удовлетворяло решение, полу- ченное уже на третьей итерации. Но поскольку для вычисле- ния погрешности используется оценочное выражение (1.20) (в данном случае ||х(3) - х*|| < е<3>, при этом е<3> > е, хотя ||х<3> - - х*|| < е), процесс останавливается только на четвертой ите- рации. Отметим также, что априорная оценка необходимого количе- ства итераций в данной задаче дает: (k + 1) > (-2 + 1g 0.6 - 1g 1.4)/ lg 0.4 = 5.95, т.е. для достижения погрешности е = 0.01, согласно априорной оценке, необходимо сделать не менее пяти итераций. Это иллюстрирует характерную для априорной оценки тенден- цию к завышению числа итераций. Метод Зейделя решения СЛАУ. Метод простых итераций сходится довольно медленно. Для его ускорения существует метод Зейделя, заключающийся в том, что при вычислении компоненты хр+1^ вектора неизвестных на (k + 1)-й итерации (&+1) (&+1) (&+1) используются компоненты х) ',х\ , -,х> t , уже вычис- ленные на (k + 1)-й итерации. Значения остальных компонент (А) W (А) л » т xi+i>xi+2’ —>хп берутся из предыдущей итерации. Так же, как и в методе простых итераций, строится эквивалентная СЛАУ (1.17) и за начальное приближение принимается вектор пра- вых частей х0 = (Рь р2, ..., р„)г. Тогда метод Зейделя для из- вестного вектора -,х^ на k-й итерации имеет вид х ax + Р:
1.1. Численные методы решения систем линейных алгебраических уравнений 245 х<*+1) = аих^ + а12х^ +... + а1пх^ + pt, х^+1) = а2|Х|/,+1) + а22х^ +... + а2пх^ + р2, г(*+1)_ге r(*+1)+re r(*+1)+re rW+ + а rW + R х3 ~азЛ +u32x2 +и33х3 + ••• + а3пхп + Рз> (£+1) U+1) (&+1) , , (^+1) , W . о х„ ’ = anlx\ '+ая2^ >+... + апп lx\l’ + annx'n’ + Y>n. Из этой системы видно, что х = Bxl)l + О + Сх^ + р, где В — нижняя треугольная матрица с диагональными элементами, рав- ными нулю, а С — верхняя треугольная матрица с диагональными элементами, отличными от нуля, а = В + С. Следовательно, (E-B)xM=CxW + p, откуда получаем ХМ=(Е-В) 1CxW + (E-B) ‘р. Таким образом, метод Зейделя является методом простых ите- раций с матрицей правых частей а = (Е - В) -1С и вектором пра- вых частей (Е - В)~1 р. Следовательно, сходимость и погрешность метода Зейделя можно исследовать с помощью формул, выве- денных для метода простых итераций, в которых вместо матрицы а подставлена матрица (Е - В)~1С, а вместо вектора правых частей — вектор (Е - В)~1 р. Для практических вычислений важно, что в качестве достаточных условий сходимости метода Зейделя могут быть использованы условия, приведенные выше для метода простых итераций (||a|| < 1 или, если используется эквивалентная СЛАУ в форме (1.18), — диагональное преобладание матрицы А). При выполнении этих условий для оценки погрешности на &-й итерации можно использовать выражение Отметим, что, как и метод простых итераций, метод Зейделя может сходиться и при нарушении условия ||a|| < 1. В этом случае е(^) ||х(А) х^ ОЦ. Пример 1.6. Методом Зейделя решить СЛАУ из примера 1.5 с той же погрешностью е = 0.01.
246 Глава 1. Численные методы линейной алгебры Решение. Приведение СЛАУ к эквивалентному виду аналогично примеру (1.5). Диагональное преобладание элементов исходной матрицы СЛАУ гарантирует сходимость метода Зейделя. Итерационный процесс выглядит следующим образом: х(°) = (1.2 1.3 1.4)Г; = -0.1-1.3-0.1-1.4 + 1.2 = 0.93; • х^ = -0.2 • 0.93 - 0.1 • 1.4 +1.3 = 0.974; 44) = -0.2 • 0.93 - 0.2 • 0.974 +1.4 = 1.0192; 42> = -0.1 • 0.974 - 0.1 • 1.0192+1.2 = 1.0007; • =-0.2-1.0007-0.1-1.0192+1.3 = 0.998; хф = -0.2 • 1.0007 - 0.2 • 0.998 +1.4 = 1.0003. Таким образом, уже на второй итерации погрешность ||х<2) - х*|| < е, т.е. метод Зейделя в данном случае сходится быстрее метода простых итераций. 1.2. Численные методы решения задач на собственные значения и собственные векторы матриц 1.2.1. Основные определения и спектральные свойства матриц Рассмотрим матрицу Апхп в и-мерном вещественном простран- стве Rn векторов х = (хг х2... хп)т. Собственным вектором х матрицы А называется ненулевой вектор (х * О), удовлетворяющий равенству Ах = Хх, (1.21) где X — собственное значение матрицы А, соответствующее рас- сматриваемому собственному вектору. Собственные значения матрицы А с действительными элемен- тами могут быть вещественными различными, вещественными кратными, комплексными попарно сопряженными, комплекс- ными кратными. Классический способ нахождения собственных значений и собственных векторов заключается в следующем. Для однород- ной СЛАУ, полученной из (1.21), (а-хб)х=й, а=(о о ... о)г,
1.2. Численные методы решения задач на собственные значения... 247 ненулевые решения х * $ (а именно такие решения и находятся) имеют место при det(A-XE) = 0, (1.22) причем уравнение (1.22) называют характеристическим урав- нением, а выражение в левой части — характеристическим многочленом. Сначала каким-либо способом находят реше- ния Хь Х2, ... , Х„ алгебраического уравнения (1.22) и-й сте- пени (предположим, что они вещественны и различны). Затем, решая однородную СЛАУ (1.22) для различных собственных значений X,-, j = 1, 2, ... , п, J J (A-XjE^xi =&, получают линейно независимые собственные векторы xi, соответствующие собственным значениям Ху. Попарно различным собственным значениям соответствуют линейно независимые собственные векторы; ^-кратному кор- ню характеристического уравнения (1.22), построенного для произвольной матрицы Апхп, соответствуют не более k линейно независимых собственных векторов. Если количество линейно независимых собственных векторов матрицы Апхп совпадает с размерностью пространства Rn, то их можно принять за новый базис, в котором матрица Апхп примет диагональный вид A = U l-A-U. (1.23) Здесь на главной диагонали находятся собственные значе- ния, а столбцы матрицы преобразования U являются собствен- ными векторами матрицы А. Матрицы А и А, удовлетворяющие равенству (1.23), называются подобными. Собственные значения подобных матриц А и Л совпадают. Симметрическая матрица А, А = АГ имеет полный спектр Ху, j = 1, 2,..., п, вещественных собственных значений; положительно определенная симметрическая матрица А = АТ, {Ах, х) > 0, имеет полный спектр вещественных положительных собственных значе- ний; ^-кратному корню характеристического уравнения (1.22) симметрической матрицы соответствуют ровно k линейно неза- висимых собственных векторов. Симметрическая матрица имеет ровно п ортогональных собственных векторов. Приняв их за новый базис (т.е. построив матрицу преобразования U, в качестве столбцов которой взяты
248 Глава 1. Численные методы линейной алгебры координатные столбцы собственных векторов), можно преобра- зовать симметрическую матрицу А к диагональному виду с помо- щью преобразования (1.23). Для симметрической матрицы А матрица преобразования Uв (1.23) является ортогональной, U~l = = ifi, следовательно, преобразование (1.23) имеет вид A = UT-A-U. (1-24) 1.2.2. Метод вращений Якоби численного решения задач на собственные значения и собственные векторы матриц Метод вращений Якоби применим только для симметри- ческих матриц Апхп(А = Ат) и решает полную проблему соб- ственных значений и собственных векторов таких матриц. Он основан на отыскании с помощью итерационных процедур матрицы U в преобразовании подобия Л = U~\A U, а поскольку для симметрических матриц А матрица преобразования подо- бия U является ортогональной t/-1 = UT, имеем Л = t/L4 U, здесь Л — диагональная матрица с собственными значениями на глав- ной диагонали Пусть дана симметрическая матрица А. Требуется вычислить для нее с погрешностью е все собственные значения и соответ- ствующие им собственные векторы. Приведем алгоритм метода вращения. Пусть известна матрица .А^ на k-ii итерации, при этом k = 0 для Д(°> = А. Выбирается максимальный по модулю недиагональный эле- (*) мент аУ ’ У матрицы Д(А>, иу шах а^ alm l<m. Ставится задача найти ортогональную матрицу Iffi) такую, чтобы в результате преобразования подобия А(к + О = U^TA^UM произошло обнуление элемента а^+^ матрицы А$ + О. В качестве ортогональной матрицы выбирается матрица вращения, имею- щая следующий вид:
1.2. Численные методы решения задач на собственные значения... 249 1 = = .....coscpW--- - sincpW = 1 = Uk = = 1 = .... sincpW ••• coscpW j = = 1 0 = = •. = = 1 V. 7 В матрице вращения на пересечении г-й строки и ;-го столбца находится элемент sincpW, где <р^ — угол вращения, под- лежащий определению. Симметрично относительно главной диа- гонали (j-я строка, г-й столбец) расположен элемент sin <pW. тг (k) (k) (k) Диагональные элементы utl ’ и ’ равны соответственно ’ cos(pW,w^ cos(p^; другие диагональные элементы г$т 1, т 1, 2, ..., п, m^i, mt j. Остальные элементы в матрице вра- щения ЦЮ равны нулю. Угол вращения определяется из условия 0 : 1 2а^ “й ujj причем если а$ aff, то ф^) л / 4 . • Строится матрица Л^+1) (Ui) „ в которой элемент аг) ’ ~ 0 .
250 Глава 1. Численные методы линейной алгебры В качестве критерия окончания итерационного процесса используется условие малости суммы квадратов внедиагональ- ных элементов: / 9\1/2 = s («!**') • Если t(A<k +1>) > е, то итерационный процесс а(*+1) = =и^Ти^к продолжается. Если t{A(k +1>) < е, то итерационный процесс останавливается, и в качестве искомых собственных значений принимаются = а^+1\х2 = ... Координатными столбцами собственных векторов матри- цы А в единичном базисе будут столбцы матрицы U = = U^T...и№, т.е. (х1)7 = (w11,w21.uni), (x2f = (w12,w22.w„2), (xnf = (uln,u2n..ипп), причем эти собственные векторы будут ортогональны между собой, т.е. (xz, xm)~0, 1фтп. Пример 1.7. С погрешностью е = 0.3 вычислить собственные значе- ния и собственные векторы матрицы 4 2 1 А = 2 5 3 еЛ1°). 1 3 6 Решение. Используем приведенный алгоритм. • Выбираем максимальный по модулю внедиагональный элемент матрицы А<°), т.е. находим такой, что |a^| = max|a^|, l<m. Им является элемент а23' = 3.
1.2. Численные методы решения задач на собственные значения... 251 • Находим соответствующую этому элементу матрицу вращения: [/(°) = 0 coscp(°) -sin<p(°) О sin<p(°) coscp(°) <р(°) = -arctg-|-^- = 0.7033; sin <p(°) = -0.65; coscp(°) = 0.76; 2 5-6 cz(°) = • Вычисляем матрицу АО): 0 -0.65 0 0.65 0.76 4 0.87 2.06 а(1)=[/(0)га(0)с/(°)= 0.87 2.46 -0.03 2.06 -0.03 8.54 В полученной матрице с точностью до ошибок округления элемент «2^ =0. Так как / 2 \1/2 t(x(1))= X (42) = (о.872 + 2.062 + (-0.03)2) 2 Л/2 >е, итерационный процесс необходимо продолжить. Переходим к следующей итерации (k = 1): 42 =2.06; | |4?|= max и^ = coscpW 0 sincpW 0 - sincpW 1 0 0 coscpW 1 О <pW = ^arctg = -0.3693; sin ср/1) = -0.361; cos q/1) = 0.933; 0.933 0 0 c/W = 0 0.361 1 0 0 0.933
252 Глава 1. Численные методы линейной алгебры а(2)=[/(1)га(1Ы1) = 3.19 0.819 0.005 0.819 2.46 0.28 0.005 0.28 9.38 = (0.8192 + 0.282 + 0.0052 )1/2 > е. Переходим к следующей итерации (k = 2): =0.819; Па$| = max |а$ <p(2) = -arctg 2 0-819 _ q 575g. sjn(p(2) _ 0.5445; coscp(2) = 0.8388; 2 &3.19-2.46 0.8388 -0.5445 C/(2)= 0.5445 0.8388 0 0 0 0 1 3.706 а(3)=С/(2)га(2)[/(2)= 0.0003 0.1565 0.0003 0.1565 1.929 0.232 0.232 9.38 t(x(3)) = (0.00032 + 0.15652 + 0.2322)1/2 = 0.078391/2 < e. Таким образом, в качестве искомых собственных значений могут быть приняты диагональные элементы матрицы А<3); ^=3.706; Х2 =4.929; Х3=9.38. Собственные векторы определяются из произведения ' 0.78 -0.5064 0.361" 0.2209 0.7625 0.6 -0.58 -0.398 0.7 0.78 -0.5064 0.361 0.2209 ; х1 = 0.7625 ; х3 = 0.6 -0.58 -0.398 0.7 Полученные собственные векторы ортогональны в пределах задан- ной точности, т.е. (х1,х2) = -0.00384;(х1,х3) = 0.0081;(х2,х3) = -0.0039 .
1.2. Численные методы решения задач на собственные значения... 253 1.2.3. Частичная проблема собственных значений и собственных векторов матрицы. Степенной метод Рассмотренный метод вращения решает полную проблему собственных значений и собственных векторов матриц (симме- трических) в том смысле, что определяются все собственные зна- чения и собственные векторы. Зачастую не нужно находить все собственные значения (спектр), а необходимо найти лишь максимальное по модулю из них (спектральный радиус). Существует степенной метод по определению спектрального радиуса матрицы, т.е. максималь- ного собственного значения матрицы и соответствующего ему собственного вектора. Пусть дана матрица А, и пусть ее собственные значения упоря- дочены по абсолютным величинам: М >|Х2| >.„>|ХИ|. (1.25) Тогда, выбрав некоторый вектор у(°), например вектор, ком- поненты которого равны единице у(°) = (1, 1, ..., 1)г, можно для определения построить следующий итерационный про- цесс: ю (2) /2)=А/),М2)=^Т; Л 1 у(1) (1.26) (А) где yf , у^ — соответствующие компоненты векторов y(k , При этом в качестве номера j может использоваться любое число из диапазона.) = 1, 2,..., п. В связи с тем, что вектор на &-й итерации может быть представлен в виде Ay^k Aj(°), рассматриваемый итера-
254 Глава 1. Численные методы линейной алгебры ционный процесс носит название степенного метода. При выпол- нении условий (1.25) итерационный процесс сходится к искомому собственному значению и соответствующему собственному вектору, причем скорость сходимости определяется отношением I ^11 (чем оно меньше, тем выше скорость сходимости). В каче- стве критерия завершения вычислений используется условие < е, где е — задаваемая вычислителем погреш- ность расчета. Пример 1.8. Вычислить спектральный радиус матрицы 2 1 3 с погрешностью е = 0.1. Решение. В качестве начального приближения собственного вектора возьмем #<°) = (1, 1, 1)г. Реализуем итерационный процесс (1.26), пола- гая) =1: J(1)=Ay(°)=(8 6 6)Г, /2) = А/1) = (58 38 40)Г, e(2)=|x(2)-xW| = 0.75>e; j(3) = Ду(2) = (480 250 274)Г, е(з) = |х(3) _ х(2) | = 0.216 >е; j(4) = Ау(3) = (2838 1682 1888)Г, е(4) = |х(14)-^3) | = 0.078 >е. 1 ’/р ’ ^2) = С = у=7-25; у\ 1 6 (з)_£_408_ “и(2)“ 58 “7-03 ’ Hi 44) = ^2 = ^ = 6.9559; 1 м(3 408 У\ Таким образом, полученное на четвертой итерации значение = = 6.9559 удовлетворяет заданной погрешности и может быть взято в ка-
1.2. Численные методы решения задач на собственные значения... 255 честве приближенного значения Xt. Искомое значение спектрального радиуса р(А) = шах|Х,| = |Xt| = 6.9559. Рассмотренный пример наглядно иллюстрирует существен- ный недостаток алгоритма (1.26), связанный с возрастанием ком- понент итерируемого вектора у^ в ходе итерационного процесса. Видно, что М) , (А 1) у}1 /У} 1 ~ 1. Во избежание неограниченного воз- растания (при |Xj > 1) или убывания (при |Xj < 1) компонент у^ по мере увеличения числа итераций k обычно при проведении компьютерных расчетов применяется степенной метод с норми- ровкой итерируемого вектора. С этой целью алгоритм (1.26) модифицируется следующим образом: г«=А/п z* 9 zW (1-27) При этом в качестве начального приближения г/(°) берется век- тор с единичной нормой. Широко распространена также версия степенного метода, использующая скалярные произведения: = Aylh 4), yW = p^ij, = (yW.AyW). (1.28) 1.2.4. QR-алгоритм нахождения собственных значений матриц При решении полной проблемы собственных значений для несимметричных матриц эффективным является подход, основан- ный на приведении матриц к подобным, имеющим треугольный или квазитреугольный вид. Одним из наиболее распространен- ных методов этого класса является QR-алгоритм, позволяющий находить как вещественные, так и комплексные собственные зна- чения. В основе QR -алгоритма лежит представление матрицы в виде А = QR, где Q — ортогональная матрица, Q~l = QT, a R — верхняя треугольная. Такое разложение существует для любой квадратной матрицы. Одним из возможных подходов к построению QR-разложения является использование преобразования Хаусхолдера, позволяю-
256 Глава 1. Численные методы линейной алгебры щего обратить в нуль группу поддиагональных элементов столбца матрицы. Преобразование Хаусхолдера осуществляется с использова- нием матрицы Хаусхолдера, имеющей вид 2 Н = Е—=-vvr, (1.29) V'V где v — произвольный ненулевой вектор-столбец, Е — единичная матрица, vvr — квадратная матрица того же размера. Легко убе- диться, что любая матрица такого вида является симметричной и ортогональной. При этом произвол в выборе вектора v дает воз- можность построить матрицу, отвечающую некоторым дополни- тельным требованиям. Рассмотрим случай, когда необходимо обратить в нуль все элементы какого-либо вектора, кроме первого, т.е. построить матрицу Хаусхолдера такую, что Ь = НЬ, b = {bvb2.й/, b = (bit 0.о) . Тогда вектор v определится следующим образом: v= Z» + sign(Z>1)||Z»||2c1. (1.30) Здесь ||й||2 У/2 — евклидова норма вектора, er = (1, г 0,..., 0/. Применяя описанную процедуру с целью обнуления под- диагональных элементов каждого из столбцов исходной матрицы, можно за фиксированное число шагов получить ее Q-R-разложение. Рассмотрим подробнее реализацию этого процесса. Положим Ло = А и построим преобразование Хаусхолдера Нг переводящее матрицу Ло в матрицу А{ с нулевыми элементами первого столбца под главной диагональю Аг = НГАО: „О /А ... я0 “11 “12 “in ло „0 ... „0 “21 “22 и2п • • • /7^ ип1 ип2 ипп “11 “12 " ain 0 а22 а2п ° <2 ••• апп Ясно, что матрица Хаусхолдера Hi должна определяться по первому столбцу матрицы Ло, т.е. в качестве вектора b в выра-
1.2. Численные методы решения задач на собственные значения... 257 жении (1.30) берется вектор (а^а^, . Тогда компоненты вектора v вычисляются следующим образом: v|=a?i + ( п 2?/2 sign^ft) Х(4) vi=4- i = 2, 3......п. Матрица Хаусхолдера вычисляется согласно (1.29): Я1 = Е-2 v«V На следующем, втором шаге рассматриваемого процесса стро- ится преобразование Хаусхолдера Н2, обнуляющее элементы вто- рого столбца матрицы Лр расположенные ниже главной диаго- нали: А2 = Н2Аг. Взяв в качестве вектора b вектор (а^2,а^2, ...,а^2 размерности (п - 1), получим следующие выражения для компо- нент вектора v: = 0, Г ” 2 Y/2 v?=alp г = 3,4.и. Повторяя процесс (п - 1) раз, получим искомое разложение А = QR, где Q = (Я„ 4Я„ 2...Н1 )Т = HtH2...Hn р R = Ап р Следует отметить определенное сходство рассматриваемого процесса с алгоритмом Гаусса. Отличие заключается в том, что здесь обнуление поддиагональных элементов соответствующего столбца осуществляется с использованием ортогонального пре- образования. Процедура (?Я-разложения многократно используется в (ЯСалгоритме вычисления собственных значений. Строится следующий итерационный процесс: Ж») = А, Л (°) = Q(°)7?(°) — производится (ЯСразложение,
258 Глава 1. Численные методы линейной алгебры Ж1) = 7?(°)Q(°) — производится перемножение матриц, А(*) = — разложение, A<k + О = R(k + AQ(k) — перемножение. Таким образом, каждая итерация реализуется в два этапа. На первом этапе осуществляется разложение матрицы А(*) в про- изведение ортогональной Q(*) и верхней треугольной _R(*) матриц, а на втором — полученные матрицы перемножаются в обратном порядке. Нетрудно показать подобие матриц A(k + О и А(*). Дейст- вительно, учитывая ортогональность QW, = Е, можно записать: A<k + 1) = R(k)Q(k) = Q(k)TQ(k)R(k)Q(k) = Q(k)TA(k)Q(k)_ Аналогично можно показать, что любая из матриц Л(*> ортого- нально подобна матрице Л. При отсутствии у матрицы кратных собственных значений последовательность Л(*> сходится к верх- ней треугольной матрице (в случае, когда все собственные зна- чения вещественны) или к верхней квазитреугольной матрице (если имеются комплексно-сопряженные пары собственных зна- чений). Таким образом, каждому вещественному собственному значе- нию будет соответствовать столбец со стремящимися к нулю под- диагональными элементами и в качестве критерия сходимости итерационного процесса для таких собственных значений можно использовать неравенство < е. При этом соответ- ствующее собственное значение принимается равным диагональ- ному элементу данного столбца. Каждой комплексно-сопряженной паре соответствует диаго- нальный блок размерностью 2x2, т.е. матрица Л(^) имеет блочно- диагональную структуру. Принципиально то, что элементы этих блоков изменяются от итерации к итерации без видимой законо- мерности, в то время как комплексно-сопряженные собственные значения, определяемые каждым блоком, имеют тенденцию к сходимости. Это обстоятельство необходимо учитывать при формировании критерия выхода из итерационного процесса. Если в ходе итераций прослеживается комплексно-сопряженная пара собственных значений, соответствующая блоку, образуе- мому элементамиу-го и (j + 1)-го столбцов
1.2. Численные методы решения задач на собственные значения... 259 , то, несмотря на значительное изменение в ходе итераций самих этих элементов, собственные значения, соответствующие дан- ному блоку и определяемые из решения квадратного уравнения начиная с некоторого k отличаются незначительно. В качестве критерия окончания итераций для таких блоков может быть использовано условие - ~/Sk 4)| < е. Замечание. Существенным недостатком рассмотренного алгоритма является большое число операций (оно пропорционально и3, где п — размерность матрицы), необходимое для QR-факторизации матрицы на каждой итерации. Эффективность QK-алгоритма может быть повы- шена, если предварительно с помощью преобразования подобия приве- сти матрицу к верхней Хессенберговой форме, в которой равны нулю все элементы, находящиеся ниже главной диагонали, за исключением элементов первой поддиагонали. Иными словами, предварительно про- изводится операция А(0) = IP АН, где А(°> — матрица Хессенберга, имеющая следующую структуру (знак х обозначает ненулевые элементы): "V* "V* "V* "V* "V* л л л ... л л "V* "V* "V* "V* "V* л л л ... л л О X X ... X X О 0 х ... х х ................ X X 0 0 0 0 хх V. 7 Здесь принципиально то, что в дальнейшем, в ходе QK-итераций, матрицы АР> сохраняют верхнюю Хессенбергову форму, что позволяет более экономно проводить их QK-разложение. Подробное изложение данного вопроса можно найти, например, в [2]. Пример 1.9. Используя преобразование Хаусхолдера, построить (^-разложение матрицы 1 3 1 1 4 3 1 А = 1 4 Решение. Будем следовать предложенному алгоритму.
260 Глава 1. Численные методы линейной алгебры • Положим Ао = А и найдем ортогональную матрицу Хаусхолдера Нг такую, что в матрице Л, = Н^А^ все поддиагональные элементы первого столбца равны нулю. С этой целью компоненты вектора v определим, используя элементы первого столбца матрицы Ао: Л з 2 v}=a1°i + sign(a1oi) Х(«д) V=1 = l + (l + l + 42)1/2 =5.24, vi=a0i = 4 В результате получен вектор v1 = (5.24 1 4)г. Найдем соответствую- щую этому вектору матрицу Хаусхолдера: Г-0.24 -0.24 -0.94 > Н.=Е-2-^— = -0.24 0.96 -0.18 1 v17V -0.94 -0.18 0.28 7 В заключение первого шага вычислим матрицу At: Таким образом, после первого шага получена матрица с нулевыми поддиагональными элементами в первом столбце. • На втором шаге проделаем аналогичную процедуру, обнуляя под- диагональный элемент второго столбца. v2 =0, / 3 2 v3 = а32 = _2.17, Л/2 = -0.29 - (0.292 + 2.172 )1/2 = -2.48, т.е. искомый вектор v2 = (0, -2.48, -2.17)г. Далее найдем соответствующую ему матрицу Хаусхолдера: Я2=Е-2 V2V2r V2rV2 '1 О О' 0 -0.13 -0.99 0 -0.99 0.13 V 7 и вычислим матрицу Л2:
1.2. Численные методы решения задач на собственные значения... 261 -4.24 -3.77 -2.12" А - - 0 2.19 0.91 0 0 -3.56 7 Таким образом, исходная матрица А приведена к верхнему треуголь- ному виду, т.е. получена матрица R = А2 искомого разложения. Результирующая ортогональная матрица преобразования Q получа- ется в результате перемножения матриц Hit i = 1, 2: '-0.24 0.97 0.11 " Q = h1h2 = -0.24 0.05 -0.97 -0.94 -0.25 0.22 7 В заключение выпишем окончательный результат А = QR в явном виде: '1 3 Г -0.24 0.97 0.11 " '-4.24 -3.77 -2.12" А = 1 1 4 = -0.24 0.05 -0.97 0 2.19 0.91 4 3 1 < 7 -0.94 -0.25 0.22 < 7 0 0 -3.56 V 7 Пример 1.10. С помощью QR-алгоритма вычислить собственные зна- чения матрицы А из примера 1.9 с погрешностью е = 0.01. Решение. Приступим к процедуре решения. • Положим А<°) = А и найдем QR-разложение этой матрицы А<°) = = Q(°)R(°). Эта процедура подробно рассмотрена в предыдущем примере. Получены следующие матрицы Q<°), R(°); Г-0.24 0.97 0.11 A f-4.24 Q(°)= -0.24 -0.94 0.05 -0.97 , R(°) = -0.25 0.22 -3.77 -2.12" 2.19 0.91 0 -3.56 7 0 0 Матрицу АО) определим перемножением полученных в результате QR-разложения матриц в обратном порядке АО) = R(0) Q(0); ' 3.89 -3.75 AW= -1.38 -0.12 2.74 ' -1.92 3.35 0.9 =0.77 7 Первая итерация завершена. Поддиагональные элементы матрицы АН) достаточно велики, поэтому итерационный процесс необходимо продолжить.
262 Глава 1. Численные методы линейной алгебры • Находим QR-разложение А<1) = используя преобразование Хаусхолдера аналогично примеру 1.9: -0.73 0.68 0.05" -5.32 2.14 -2.024 q(1) = 0.26 0.21 0.94 , 7?W = 0 3.21 -2.0 -0.63 -0.7 0.33 7 0 0 -1.93 7 Перемножая полученные выше матрицы в обратном порядке, нахо- дим матрицу А<2); '5.72 Л(2)= 2.09 1.22 1.75 1.09 " -2.08 2.37 -1.36 -0.64 7 Продолжая итерационный процесс, получим соответственно на 6-й и 7-й итерациях следующие матрицы: ( 6.34 0.94 -0.73А 6.34 Л(6) = 0.034 -2.53 0.023 -1.86 1.69 , Л<7)= -0.0014 -0.81 0.0006 7 V. 0.27 1.13 ' -2.01 -2.58 0.98 -1.33 7 Видно, что поддиагональные элементы первого столбца становятся (7) достаточно малыми, и, следовательно, диагональный элемент а\ ' может быть принят в качестве собственного значения. В то же время отчетливо прослеживается комплексно-сопряженная пара собственных значений, соответствующая блоку, образуемому элементами второго и третьего столбцов >аз7а'й • Несмотря на значительное изменение в ходе итераций самих этих элементов, собственные значения, соответствую- щие данному блоку и определяемые из решения квадратного уравнения ^а.22 - _ > меняются незначительно — в пределах допустимой погрешности. Таким образом, окончательное решение задачи можно записать в виде: Х1=^7) = 6.34, Х2=47)=-1.67 +1.55г, Х3 = ^7) =-1.67-1.55/. Задачи 1.1. Методом Гаусса решить системы линейных алгебраических урав- нений (СЛАУ). Для матрицы СЛАУ вычислить определитель и обратную матрицу.
Задачи 263 xt + 2х2 - 2х3 + 6х4 = 24, -Зх| -5х2+ 14х3+ 13х4 =41, х4 + 2х2 - 2х3 - 2х4 = О, -2xt - 4х2 + 5х3 +10х4 = 20. 9х{ - 5х2 - 6х3 + Зх4 = -8, х{-7х2+х3 = 38, Зх{ - 4х2 + 9х3 = 47, 6л'| - х2 + 9х3 + 8х4 = -8. Зх| -8х2+х3-7х4 =96, 6л'| + 4х2 + 8х3 + 5х4 = -13, -х{ + х2 - 9х3 - Зх4 = -54, -6х4 + 6х2 + 9х3 - 4х4 = 82. х{ - 5х2 - 7х3 + х4 = -75, х{ - Зх2 - 9х3 - 4х4 = -41, -2xt + 4х2 + 2х3 + х4 = 18, -9х{ + 9х2 + 5х3 + Зх4 = 29. -7Xi - 9х2 + х3 - 9х4 = 29, -6х4 - 8х2 - 5х3 + 2х4 = 42, -Зх{ + 6х2 + 5х3 - 9х4 =11, -2xt - 5х3 - 9х4 =75. 2х, - 8х2 + 5х4 = -40, -9xt + 9х2 - 7 х3 + 6х4 = -58, -6х4 + 7 х2 + Зх3 + 8х4 = -75, —xt + 8х2 + 5х3 + х4 = 1. -6xt - 5х2 - Зх3 - 8х4 =101, 5xt - х2 - 5х3 - 4х4 =51, -6х4 + 5х3 + 5х4 = -53, -7х{ - 2х2 + 8х3 + 5х4 = -63. -9х{ + 8х2 + 8х3 + 6х4 = -81, -7х{ - 9х2 + 5х3 + 4х4 = -50, -Зх{ - х2 + 8х3 = -69, Зх{ - х2 - 4х3 - 5х4 = 48. 2xi + 7х2 - 8х3 + 6х4 = -39, 4Х| +4х2-7х4 =41, —xt - Зх2 + 6х3 + Зх4 = 4, 9xt - 7х2 - 2х3 - 8х4 =113. —xt - 7х2 - Зх3 - 2х4 = -12, -8х{ + х2 - 9х3 = -60, 8х{ + 2х2 - 5х3 - Зх4 = -91, -5х{ + Зх2 + 5х3 - 9х4 = -43. х{ + 2х2 - х3 - 7х4 = -23, 8х{ - 9х3 - Зх4 = 39, 2х{ -Зх2 +7х3 + х4= -7, xt - 5х2 - 6х3 + 8х4 = 30. -4xt - 9х2 + 4х3 + Зх4 = -51, 2х{ + 7х2 + 9х3 + 8х4 =76, iXi - 4х2 + 2х4 = 26, -8х{ + 5х2 + 2х3 + 9х4 = -73. -7х{ + Зх2 - 4х3 + 7х4 = -126, 8х{ - х2 - 7х3 + 6х4 = 29, 9xt + 9х2 + Зх3 - 6х4 = 27, -7х4 - 9х2 - 8х3 - 5х4 = 34. -xt - 8х2 + 5х4 = -60, 6л'| - 6х2 + 2х3 + 4х4 = -10, 9xt - 5х2 - 6х3 + 4х4 = 65, -5х| -9х3 + х4 =18. -xt - Зх2 - 4х3 = -3, Зх{ + 7х2 - 8х3 + Зх4 = 30, xt - 6х2 + 2х3 + 5х4 = -90, -8х{ - 4х2 - х3 - х4 = 12. -5х{ - х2 - Зх3 - х4 = 18, -2х4 + 8х2 - 4х4 = -12, -7Xi - 2х2 + 2х3 - 2х4 = 6, 2х4 - 4х2 - 4х3 + 4х4 = -12.
264 Глава 1. Численные методы линейной алгебры 8х{ + 8х2 - 5х3 - 8х4 =13, 8х{ - 5х2 + 9х3 - 8х4 = 38, 5х{ - 4х2 - 6х3 - 2х4 =14, 8х{ + Зх2 + 6х3 + 6х4 = -95. xi ~ х2 + хз ~ 2^4 = “20, -9х{ -х2 + х3 + 8х4 = 60, -7 х{ + 8х2 - 6х4 = -60, Зх{ - 5х2 + х3 - 6х4 = -44. -8х{ + 5х2 + 8х3 - 6х4 = -144, 2х4 + 7х2 - 8х3 - х4 = 25, -5х{ - 4х2 + х3 - 6х4 = -21, 5х{ - 9х2 - 2х3 + 8х4 = 103. -6х, - 8х2 - 2х3 - 8х4 = -32, 9х{ + 8х3 + Зх4 = 8, -9х{ - 5х3 + 9х4 = -2, -х{ + 4х2 - 8х3 - 4х4 = -36. 7х{ + 8х2 + 4х3 - 6х4 = -126, -х{ + 6х2 - 2х3 - 6х4 = -42, 2х| + 9х2 + 6х3 - 4х4 =-115, 5х{ + 9х2 + х3 + х4 = -67. 7Х| -5х2 + 6х3 + 7х4 =120, 8х{ - х2 - 9х3 + х4 = 31, -Зх{ + 8х2 + 8х3 + 8х4 = 6, 2х4 - Зх2 + 6х3 - 4х4 = 25. 23. 2х{ - 7х2 + 8х3 - 4 х4 = 57, -xt + 4х3 - х4 = 24, Зх{ - 4х2 + 2х3 - х4 = 28, -9х{ + х2 - 4х3 + 6х4 =12. -5xt - 6х2 + 4х3 - 2х4 = 64, Зх2 - 4х3 - 6х4 = -55, 2х4 + 4х2 - 4х3 + 2х4 = -48, х{ - 8х2 + 2х3 + 8х4 = 68. -2х{ - х2 - 9х3 - 5х4 = 93, -4xt + 4х2 - 2х3 + 6х4 =16, 5х{ + 7х3 - 4х4 = -80, 9х2 +7х3 + 7х4 =-119. 9х{ - 7х2 - х3 + х4 = 55, 2х{ + 7х2 + Зх3 - 6х4 = -66, 4Х| +7х2 -Зх3 -7х4 = —43, -9х{ - 5х2 - х3 - 6х4 = -24. -7х{ - 2х2 - х3 - 4х4 = -12, -ix{ + 6х2 - 4х4 = 22, -8х{ + 2х2 - 9х3 - Зх4 =51, -7х3 + х4 =49. -2х{ - 9х2 - Зх3 + 7х4 = -26, -7 х{ + 8х2 + 2х3 + 5х4 = -25, -6х{ +2х2 =-16, -Зх2 + 8х3 - Зх4 = -5. xt + 4х2 - 9х3 + 7х4 = -67, 2х{ - 2х2 - 2х3 + Зх4 = -57, -х{ + Зх2 - 9х3 - х4 = -26, -5х{ + 2х2 + 2х3 + х4 = 52. -5х{ + 2х2 + 4х3 - 4х4 = 57, 4Х| + 9х2 - 7х3 - 5х4 = -23, -5х1 + 6х3 + 7 xi = 23, 4Х| - 8х2 - 6х3 - 6х4 = -20.
Задачи 265 1.2. Методом прогонки решить СЛАУ. 1. -1 1х4 - 9х2 = -122, 5xt - 15х2 - 2х3 = -48, -8х2 +11х3 - Зх4 =14, 6х3 - 15х4 + 4х5 = -50 Зх4 + 6х5 = 42. 2. 10х| + 5х2 =-120, Зх{ + 10х2 - 2х3 = -91, 2х2 - 9х3 - 5х4 = 5, 5х3 +16х4 - 4х5 = -74, -8х4 + 16х5 =-56. 3. 13х4 -5х2 =-66, -4xt + 9х2 - 5х3 = -47, —х2 - 12х3 - 6х4 = -43, 4. • -14xt -6х2 =-78, -9xt + 15х2 - х3 = -73, х2 -11х3 + х4 = -38, 5. 6х3 + 20х4 - 5х5 = -74, 4х4 +5х5 =14. 8х{ + 4х2 = 48, -5х{ + 22х2 + 8х3 = 125, -5х2 -11х3 + х4 = -43, 6. -7х3 + 12х4 + Зх5 = 77, 6х4 -7х5 =91. 6х| - 5х2 = -58, -6х4 +16х2 + 9х3 = 161, 9х2 -17х3- Зх4 =-114, 7. -9х3 - 15х4 + х5 = 18, х4 +7х5 =-23. 15х4 + 8х2 =92, 2х4 - 15х2 + 4х3 = -84, 4х2 +11х3 + 5х4 = -77, 8. 8х3 + 22х4 - 8х5 = -90, 6х4 -13х5 = -55. -11х1-8х2 =99, 9xt-17х2 + х3=-75, -4х2 + 20х3 + 9х4 = 66, 9. -Зх3 + 16х4 — 7х- =15, Зх4 +8х5 =-11. 8х{ - 4х2 = 32, -2xt + 12х2 - 7х3 = 15, 2х2 - 9х3 + х4 = -10, 10. -4х3 - 14х4 + Зх5 = 54, -6х4 +14х5 =8. -7х4-6х2 =-75, 6х4 +12х2 =126, -Зх2 +5х3 = 13, 11. -8х3 + 17х4 - 4х5 = 133, —7х4 + 13х5 =-76. - 10х| - 9х2 =7, -5xt - 21х2 - 8х3 = 29, 7х2 + 12х3 + 2х4 =31, 8х4 + 2х5 =56, 2х4 + 10х5 =-24. 12. -9х3 + 21х4 + 8х5 = -40, -5х4 - 6х5 = -24. -11X4 + 9X2=-! 14, х4 - 8х2 + Зх3 = 81, -2х2 -11х3 + 5х4 = -8, Зх3 -14х4 +7х5 = —38, 8х4 +10х5 =144.
266 Глава 1. Численные методы линейной алгебры 13. 14Х| + 9х2 =125, -8xt +14 х2 + 6х3 = -56, -5х2 -17х3 + 8х4 = 144, х3 + 5х4 - 2х5 = 36, -4х4 -Юх5 =70. 14. -xt - х2 = -4, 7х3 -17х2 -8х3 =132, -9х2 + 19х3 + 8х4 = -59, 7х3 - 20х4 + 4х5 = -193, -4х4 +12х5 =-40. 15. 16х| -8х2 =0, -7xt -1 6х2 + 5х3 = -123, 4х2 +12х3 + Зх4 = -68, -4х3 +1 2х4 - 7х5 = 104, -х4 +7х5 =20. 16. 18х4-9х2 =-81, 2х4 - 9х2 - 4х3 = 71, -9х2 + 21х3 - 8х4 = -39, -4х3 - 10х4 + 5х5 = 64, 7х4 +12х5 =3. 17. -6Х| +5х2 =51, -х{ +13х2 + 6х3 = 100, -9х2 -15х3 - 4х4 = -12, -х3-7х4+х5 =47, 9х4 -18х5 =-90. 18. 8х4-2х2 =-14, 7xt - 19х2 + 9х3 = -55, -4х2 + 21х3 - 8х4 = 49, 7х3 - 23х4 + 9х5 = 86, 4х4 -7х5 =8. 19. 1ОХ| — х2 =16, -8x4 + 16x2 + х3 =-110, 6х2 - 16х3 + 6х4 = 24, -8х3 + 16х4 - 5х5 = -3, 5х4 -13х5 =87. 20. —6х4 + 6х2 = 30, 2х4 + 10х2-7х3 = —31, -8х2 + 18х3 + 9х4 = 108, 6х3-17х4 -6х5 =-114, 9х4 +14х5 =124. 21. 7х4 -2х2 = 65, -3xt - 7х2 + 4х3 = 23, -2х2 + 15х3 + 5х4 = 1, -2х3 - 12х4 - 8х5 = -58, -Зх4 -10х5 =-8. 22. -14xt +6х2 =82, 2х4 + 7х2 =-51, -7х2 - 18х3 - 9х4 = -46, 2х3 - 13х4 + 2х5 =111, —7х4 -7х5 =35. 23. 7х4-5х2 = 38, —6х4 + 19х2 - 9х3 =14, 6х2 - 18х3 + 7х4 = -45, -7х3 -11х4 - 2х5 =30, 5х4 -7х5 = 48. 24. —1 lxt + 9х2 = —117, -9xt + 17х2 + 6х3 + х4 = -97, 5х2 + 20х3 + 8х4 = -6, —6х3 - 20х4 + 7х5 = 59, 2х4 + 8х5 = -86.
Задачи 267 25. 12х4-5х2 =148, -Зх{ - 18х2 - 8х3 = 45, -2х2 -16х3 -9х4 =-155, -4х3 + 18х4 - 1х5 = 11, 4х4 - 9х5 = 3. 26. -12х4 - 1х2 = -102, -1х{ -11х2 - Зх3 = -92, -1х2 + 21х3 - 8х4 = -65, 4х3 - 13х4 + 5х5 = 38, - 6х4 +14х5 =-12. 27. -6х4 + Зх2 = -33, 6х4 - 23х2 - 9х3 = -107, 2х2 -1х3 -х4 = 18, 4х3 + 15х4 - 9х5 = -69, 5х4 -11х5 = —31. 28. 16Х| -9х2 =-27, 8х{ - 13х2 - 5х3 = -84, -Зх2 - 21х3 + 9х4 = -225, -9х3 +16х4 - 5х5 = -89, х4 - 9х5 = 69. 29. -llxt + 9х2 = -158, -8х2 - 6х3 = 66, 6х2 + 15х3 - 2х4 = -45, 4х3 + 6х4 - х5 = 24, -7х4 -Юх5 =-1. 30. 6х4 + Зх2 = 0, -9х{ - 17х2 + Зх3 = -99, -Зх2 + 12х3 - lxi = -107, 2х3 - 9х4 - 6х5 = 5, -4х4 + 5х5 = -6. 1.3. Методом простых итераций и методом Зейделя решить СЛАУ с погрешностью е = 0.01. 19Х| - 4х2 - 9х3 - х4 = 100, -2х{+ 20х2 - 2х3 - 7х4 = -5, 6х4 - 5х2 - 25х3 + 9х4 = 34, -Зх2 - 9х3 + 12х4 = 69. -23х4 - 1х2 + 5х3 + 2х4 = -26, -7xt - 21х2 + 4х3 + 9х4 = -55, 9xt + 5х2 - З1х3 - 8х4 = -58, х2 - 2х3 + 10х4 = -24. 20х, + 5х2 + 7х3 + х4 =-117, -х{ + 13х2 - 7х4 = -1, 4xt - 6х2 + 17х3 + 5х4 = 49, -9xt + 8х2 + 4х3 - 25х4 = -21. 24xt + 2х2 + 4х3 - 9х4 = -9, -6х, - 21 х2 - 8х3 - 6х4 = -76, -ix{ + 8х2 + 19х3 + 6х4 = -79, 4xt - 5х2 - Зх3 - 13х4 = -70. 26х4 - 9х2 - 8х3 + 8х4 = 20, 9xt -21х2 -2х3 +8х4 =-164, -Зх{ + 2х2 - 18х3 + 8х4 = 140, х{ - 6х2 - х3 +11х4 = -81. 23х4 - 6х2 - 5х3 + 9х4 = 232, 8х{ + 22х2 - 2х3 + 5х4 = -82, 1х{ - 6х2 + 18х3 - х4 = 202, Зх{ + 5х2 + 5х3 - 19х4 = -57.
268 Глава 1. Численные методы линейной алгебры 29х| + 8х2 + 9х3 - 9х4 = 197, -7xt - 25х2 + 9х4 = -226, х4 + 6х2 +16х3 - 2х4 = -95, -7Х| +4х2 -2х3 + 17х4 =-58. -7 х4 -х2 + 2х3 + 2х4 = -24, Зх4 - 2Ох2 - 8х4 = -47, -9х{ + х2 +18х3 - 6х4 = 28, —х4 -х3- 6х4 = -50. 12Х| - Зх2 -х-,+ Зх4 = -31, 5х{ + 20х2 + 9х3 + х4 = 90, 6Х| -Зх2-21х3-7х4 =119, 8Х| - 7х2 + Зх3 - 27х4 =71. 28х| + 9х2 - Зх3 - 7х4 = -159, -5xt + 21х2 - 5х3 - Зх4 = 63, -8х{ + х2 -16х3 + 5х4 = -45, -2х2 + 5х3 + 8х4 = 24. 21х| +х2-8х3 +4х4 =-119, -9х{ - 23х2 - 2х3 + 4х4 =79, 7Х| - х2 -17х3 + 6х4 =-24, 8х{ + 8х2 - 4х3 - 26х4 = -52. 24х| - 7х2 - 4х3 + 4х4 = -190, -Зх4 - 9х2 - 2х3 - 2х4 = -12, Зх4 + 7х2 + 24 х3 + 9х4 = 155, xt - 6х2 - 2х3 - 15х4 = -17. -14Х| + 6х2 + х3 + -5х4 = 95, —6xt + 27 х2 + 7х3 - 6х4 = -41, 7х4 - 5х2 - 2,Зх3 - 8х4 = 69, Эх, -8х2-7х3 + 26х4 =27. -19Х| + 2х2 - х3 - 8х4 = 38, 2х{ +1 4х2 - 4х4 = 20, 6Х| - 5х2 - 20х3 - 6х4 = 52, -6х4 + 4х2 - 2х3 +1 5х4 = 43. 15х4 + 7х2+5х4 =176, -Зх4 -1 4х2 - 6х3 + х4 = -111, -2х{ + 9х2 +13х3 + 2х4 =74, 4Х| - х2 + Зх3 + 9х4 =76. 14Х| - 4х2 - 2х3 + Зх4 = 38, -Зх4 + 23х2 - 6х3 - 9х4 = -195, -7Х| -8х2 + 21х3 -5х4 = -27, -2х{ - 2х2 + 8х3 +1 8х4 = 142. -22х4 - 2х2 - 6х3 + 6х4 = 96, Зх| -1 7х2 - Зх3 + 7х4 =-26, 2х{ + 6х2 -17х3 + 5х4 = 35, —х4 - 8х2 + 8х3 + 23х4 = -234. 21х| - 6х2 - 9х3 - 4х4 = 127, -6х4 + 20х2 - 4х3 + 2х4 = -144, -2х{ - 7х2 - 20х3 + Зх4 = 236, 4Х| + 9х2 + 6х3 + 24х4 = -5. 18Х| + 8х2 - Зх3 + 4х4 = -84, -7 х4 +1 5х2 - 5х3 - 2х4 = -5, -4х4 +13х2 + 4х4 = -38, -8х{ - 8х2 - 6х3 + 31х4 = 263. 10х, - х2 - 2х3 + 5х4 = -99, 4х4 + 28х2 + 7 х3 + 9х4 = О, 6Х| + 5х2 - 2,Зх3 + 4х4 = 67, х4 + 4х2 + 5х3 -1 5х4 = 58.
Задачи 269 24xt + 9х2 - х3 - 5х4 = -24, -18х4 + 9х2 - х3 - 8х4 = -60, 21. —х4 - 14х2 + х3 + 9х4 = 40, 22. 6х4 + 22х2 + 9х3 = -109, -7 х4 + 5х2 - 21х3 = -84, -4xt + 2х2 -16х3 + 9х4 = -103, х4 + 4х2 + 8х3 - 22х4 = -56. х4 + 6х2 - х3 - 14х4 = -33. -24х4 - 6х2 + 4х3 + 7х4 = 130, -25х4 + 4х2 - 4х3 + 9х4 = 86, 23. -8х{ + 21х2 + 4х3 - 2х4 = 139, 24. -9xt + 21х2 + 5х3 - 6х4 = 29, 6х4 + 6х2 +16х3 = -84, 9х{ + 2х2 + 19х3 - 7х4 = 28, -7х, - 7х2 + 5х3 + 24х4 =-165. -7xi + 4х2 - 7 х3 + 25х4 = 68. 15х, - 4х2 - 6х3 + 5х4 = 104, 18х, - 2х3 + 7х4 = 50, 25. 4х4 - 14х2 - х3 + 4х4 =70, 26. —х4 + 14х2 - Зх3 + 2х4 = 2, 7х4-7х2+ 27х3-8х4 =170, 5xt + 5х2 + 26х3 + 7х4 = 273, -Зх4 - Зх2 + 2х3 - 14х4 = 48. -2х{ - 6х2 + 9х3 + 24х4 =111. -26х4 - 7х2 - 8х3 - 2х4 =51, 10х4 + 2х3 + 4х4 =110, 27. 2х{ -Пх2- 6х3 - 2х4 = 85, 28. 2xt +16х2 - Зх3 + 8х4 = 128, -7х1 - 6х2 - 23х3 - Зх4 =71, х4 + 5х2 +11 х3 - 4х4 = 102, Зх4-2х2-7х3-13х4 =91. 8х{ + х2+ 6х3 - 17х4 = 81. 15х, + Зх2 - 5х3 - 5х4 = 36, 22х{ - Зх2 - 8х3 + 7х4 = -158, 29. 7х4 -15х2 -6х3 + х4 =-112, 30. -8х{ - 22х2 - 4х3 - 8х4 = 254, -4xt+7х2-19х3-6х4 =19, 8х4 - 2х2 - 18х3 + 2х4 = -108, Зх4 - 5х3 + 8х4 = -23. 7х4 + 2х2 - 9х3 - 24 х4 = -24. 1.4. Используя метод вращений, найти собственные значения Х2, Х3 и собственные векторы hr, h2, h3 симметрических матриц с погрешностью £ = 0.01. -7 4 5 > -9 7 5" '5 5 3" 1. 4 -6 -9 2. 7 8 9 3. 5 -4 1 5 -9 -8 5 9 8 3 1 2 < 7 < 2 ' 8 2 -Г ' 0 -7 7 > ' 9 2 - -7 4. 2 -5 -8 5. -7 -9 - 5 6. 2 -4 - -1 -1 -8 -5 7 -5 - -1 -7 -1 1 < 7 7 1 о о 1 00 ' 9 -2 '4 7 - г 7. 6-4 9 8. -2 6 В 9. 7 -9 - 6 1 00 о 1 ьс 3 8- 6 7 -1 -6 - 4 7
270 Глава 1. Численные методы линейной алгебры '-7 -6 8 '-3 -2 -4 А ' 7 3 -Г 10. -6 3 -7 и. -2 -3 -7 12. 3 -7 -8 8 -7 4 -4 -7 -3 -1 -8 -2 7 7 7 ' 8 0 -2 '-7 -5 -эА '-3 -1 3' 13. 0 5 4 14. -5 5 2 15. -1 8 1 -2 4 -6 -9 2 9 3 1 5 7 7 7 ' 8 -3 9 ' 5 -3 -4 А '2 8 7 " 16. -3 8 -2 17. -3 -3 4 18. 8 2 7 9 -2 -8 -4 4 0 7 7 - -8 7 7 7 -8 9 6' '-7 -9 17 -4 1 7 " 19. 9 9 1 20. -9 7 2 21. 1 8 -5 6 1 8 1 2 9 7 -5 1 7 7 7 ' 2 -9 4" ' 9 -5 -67 -8 -4 8' 22. -9 0 9 23. -5 1 -8 24. -4 -3 9 4 9 6 -6 -8 -3 8 9 -5 7 7 7 ' 5 -4 7 -4 1 -7 А -8 5 -Т 25. -4 -3 4 26. 1 9 1 27. 5 1 4 7 4 -1 -7 1 7 -7 4 4 7 7 '3 2 6 ' ' 2 -1 -8 А '-1 3 4 ' 28. 2 -3 -7 29. -1 -3 4 30. 3 5 -1 6 -7 3 7 -8 4 -3 7 4 -1 -5 7 1.5. Используя степенной метод, оценить спектральный радиус матриц из задачи 1.4 с погрешностью е = 0.01. 1.6. Используя QR-алгоритм, найти собственные значения заданных матриц с погрешностью е = 0.01. ' 3 -7 -Г '-6 -4 0 ' 5 -5 -6' 1. -9 -8 7 2. -7 6 -7 3. -1 -8 -5 5 2-2 -2 -6 -7 2 7-3 < 7 < 7 -4 -6 -3> Си 00 1 ю > 00 1 1—*• 1 со > 4. -1 5 -5 5. 7 -2 -4 6. -5 9 -8 6 2 5 < 7 Си 00 1 1—ь \ 4-5 7 < 7
Ответы 271 9 0 2 Z -9 2 2 Z -5 -8 4 " 7. -6 4 4 8. -2 0 7 9. 4 2 6 1 -2 -7 5 2 1 8 2 0 1 -2 5 -6 7 '-1 4 4Ч ' 7 6 -3' '5 -1 -24 10. 2 -5 ) И 5 -6 8 12. -4 3 -3 -8 -2 ) -7 4 -5 -2 -1 1 7 '-1 2 9 ' 2 -4 5 ' 1 7 -Г 13. 9 3 4 14. -5 -2 -3 15. -2 2 -2 8 -4 6 1 -8 -3 9 -7 3 7 ' 1 2 '-6 1 -4 z-2 7 -64 16. -8 0 6 17. -6 8 -2 18. -1 9 = 4 7 -9 7 2 -9 5 -1 8 -3 7 ' 0 -1 3 ' 6 5 -6' ' 7 4 2 " 19. -1 6 3 20. -4 -6 9 21 -8 -6 5 -8 4 2 -6 6 1 9 0 -8 7 '-1 8 5> 4 5 - 6 '-3 1 -Г 22. 8 -4 4 23. 9 -7 - 9 24. 6 9 -4 2 9 2 7 6 -1 - 9 7 5 -4 -8 7 -9 9 -7 -9 -9 -3 '-1 0 64 25. -7 5 -1 26. -9 0 -2 27. 1 -1 5 -4 3 4 7 -5 -1 -4 8 4 -3 7 '-6 -3 7 '-7 6 ' 8 -9 -6Ч 28. 9 1 6 29. 0 7 3 30. -6 7 -5 3 -5 1 5 - 4 7 -1 -7 8 7 Ответы 1. (2, 4, 2, 3). 3. (О, -5, 3, -5). 5. (-3, -6, 8, -7). 2. (8, -3, 2, -3). 4. (-2, -4, 8, 9). 6. (6, 6, -1, 6).
272 Глава 1. Численные методы линейной алгебры 7. (2, 4, 7, -8). 8. (8, 4, 8, -5). 9. (-4, 2, -8, -3). 10. (8, -9, 2, -5). И. (7, 3, -2, -6). 12. (7, 6, -6, -1). 13. (-2, -3, -6, -7). 14. (-3, 6, -3, -9). 15. (-1, 0, -9, -3). 16. (-2, 3, -3, -2). 17. (-4, -3, -1, -8). 18. (-4, 0, -8, -4). 19. (9, -6, -6, -1). 20. (-4, -5, -7, 5). 21. (-4, 2, 4, 4). 22. (6, -5, 3, 5). 23. (1, -5, 7, 9). 24. (6, 3, -8, -7). 25. (-2, -5, 7, 2). 26. (3, 1, -1, -2). 27. (-9, -7, -7, -1). 28. (-5, 9, 7, -5). 29. (2, -4, -4, 5). 30. (-3, 5, 8, 0). 1.2. 1. (7, 5, 4, 6, 4). 2. (-9, -6, 2, -7, -7). 3. (-7, -5, 6, -4, 6). 4. (6, -1, 4, 7, -7). 5. (3, 6, 1, -2, -3). 6. (-8, 2, 9, -7, 1). 7. (4, 4, 8, -1, -1). 8. (-9, 0, 6, -6, -2). 9. (6, 4, 3, 9, -1). 10. (3, -9, 8, 0, 4). И. (2, -3, 3, 8, 4). 12. (3, -9, 6, 8, 8). 13. (7, 3, -7, 5, -9). 14. (6, -2, -7, 7, -1). 15. (2, 4, -9, 8, 4). 16. (-8, -7, -6, 3, 2). 17. (-1, 9, -3, -6, -2). 18. (-1, 3, 1, -5, -4). 19. (1, -6, -6, -6, -9). 20. (-5, 0, 3, 6, 5). 21. (7, -8, -3, 6, -1). 22. (8, -5, 8, -7, 2). 23. (9, 5, 3, -3, -9). 24. (9, -2, 3, -7, -9). 25. (9, -8, 9, 3, 1). 26. (5, 6, -3, -5, -3). 27. (9, 7, 0, -4, 1). 28. (0, 3, 9, -3, -8). 29. (7, -9, 1, 3, -2). 30. (-3, 6, -8, -1, -2)
Ответы 273 1.3. Точные решения СЛАУ 1. (8, 4, 3, 9). 3. (1, 2, 3, -2). 5. (-8, 2, 4, 5). 7. (7, 6, -9, -3). 9. (0, 7, -5, -5). 2. (4, 2, -7, 9). 4. (2, 8, -9, -4). 6. (8, -7, 6, 4). 8. (7, 1, 7, 6). 10. (-6, 3, 6, 0). 11. (-6, -1, -1, 0). 12. (-1, -6, -2, 8) 13. (-6, 2, 7, -1). 4. (-5, -2, -6, -9) 15. (-8, -2, -5, 0). 16. (1, -9, -8, 5). 17. (-2, 2, -4, 1). 19. (9, 5, 3, 4). 21. (0, 0, 4, 4). 18. (-5, -4, -6, 5) 20. (-8, 4, -5, -5) 22. (0, -7, 5, -1). 23. (-9, 3, -3, -8). 25. (8, -4, 2, 4). 24. (-3, 0, 4, 3). 26. (3, 2, 9, 2). 27. (4, -3, -3, -4). 29. (1, 7, 2, -2). 1.4. Х=-3.71, Х2 = 2.07, Х3=- ( 0.88'1 Г-0.05 А 28. (9, 7, 6, 2). 30. (-6, -9, 4, -3) -19.36 -0.45 h^ = 0.34 ,Л2 = 0.73 ,7г3 = 0.3 -0.67 L V. 7 V. 7 X =-11.69, Х2 = 19.53, Х3 ( 0.95 А (0.28 А 2. /z-i = -0.28 ,/z2 = 0.69 X = -0.11 0.66 L V. 7 \ 7 Х = 8.7, Х2 = -6.23, Х3=0. ( 0.83 А Г-0.41А 3. /zj = 0.36 ,/z2 = 0.9 ,/z3 = 0.42 0.04 L V. 7 V. 7 0.58 . 0.66 V. 7 = -0.83 '-0.1Г -0.66 . 0.74 V. 7 53 ^-0.37' -0.21 . 0.9 < 7
274 Глава 1. Численные методы линейной алгебры 4. 5. 6. 7. 8. 9. 10. Xt = 8.79, X2 =-13.02, X3 = 2.22 ' 0.93 \ = 0.26 ,Л2 = 0.71 ,/z3 = -0.65 -0.22 -0.03 0.70 ( 0.34 0.67 Х3=-7.33 Г-0.59 > Xt = 10.30, X2 =-12.96, '0.68 1^= -0.41 ,h2= 0.9 ,h3= 0.15 0.60 <0.14 0.13 0.78 Х1=13.34, Х2=-4.30, Х3=-З.О4 ' 0.85 1^= 0.12 ,/z2= 0.98 ,Лз= 0.11 -0.16 ( 0.48 -0.49 -0.03 0.86 Xt=0.77, Х2 =-19.34, Х3 = 6.57 <—0.25 ' 0.76 = 0.62 ,/z2 = 0.56 ,h3 = 0.53 -0.17 <-0.59 -0.56 0.80 ^ = 9.35, Х2 = 10.29, Х3 =-10.65 0.81 At = 0.43 ,h2= 0.78 ,h3 = -0.44 0.38 ( -0.55 0.28 -0.17 0.87 Xt=8.07, X2=-14.62, X3=-2.44 ' 0.84 \ = 0.44 ,/z2= 0.84 ,/z3= -0.29 -0.29 ( 0.44 -0.29 0.44 0.84 = -11.61, ( 0.91 Х2 = -3.41, (о.оэА Х3 = 15.02 С 0.41 ' At= 0.19 ,Л2 = 0.77 ,h3= -0.60 0.68 -0.37 0.62
Ответы 275 12. 13. 14. 15. 16. Х1 = -1.31, Х2 =-12.02, Х3=4.32 ' 0.87 ' -0.46 -0.13 V. 7 z0.43 z-0.22 /z2 - 0.61 ,7z3 = -0.63 0.66 0.73 V. 7 V. 7 Xt = 8.57, Х2 =-13.05, Х3 = 2.47 f ЬАЧ " -0.47 0.74 = 0.34 ,/г2 = 0.81 ,h3 = 0.57 -0.34 Х1 = 8.41, Х2 = 6.12, Х3 = -7.53 /„„-ч /„„_ч <0.12' -0.30 . 0.94 < 7 Х = -11.9, Х2 = 4.21, Х3= 14.68 /„„„ч / ........ <_0 42ч 0.38 . 0.81 < 7 Х = -4.13, Х2 = 8.30, Х3=5.82 f 0.33 ' -0.26 0.90 /z-i = -0.22 ,/z2 = 0.92 = 0.25 -0.19 /zj = 0.22 ,/z2 = 0.89 ,/z3 = 0.36 -0.44 /zj = 0.10 ,/z2 = 0.95 ,/z3 = 0.28 -0.32 X1 = 14.11, X2 = 5.94, X3 =-12.05 z„_„4 z„ <_олч 0.03 . 0.91 7 7 /zj = -0.5 ,/z2 = 0.86 ,/z3 = 0.36 0.18 Xt = 9.006, X2 =-5.77, X3=-1.23 z 0.78 " z 0.02 4 z0.62 7zi = -0.36 -0.51 ,/z2 - 0.82 -0.55 ,7z3 = 0.42 0.65
276 Глава 1. Численные методы линейной алгебры \=-6, Х2= 14.37, Х3 =-12.37 18. 19. 20. 21. 22. 23. 24. к = ' 0.71' -0.71 0 ,/z2 - '0.644 0.64 , 0.40 ч. 7 Л3 = -0.28' -0.28 . 0.91 7 х= -13.14, ' 0.90 > Х2 = = 14.75, '0.42' х3 = = 7.38 0.005' к= -0.35 -0.23 ,/z2 = 0.75 0.49 Л3 = -0.54 . 0.83 - < 7 7 х= -11.55, ' 0.89 > Х2 = = 12.03, '-0.36 х3 = = 8.51 ' 0.25 ' к= 0.44 -0.08 ,/z2 = 0.82 0.42 ,Л3 = -0.34 0.90 >- 7 V. 7 х= -9.73, ' 0.77 > Х2 = 11.07, '-0.19 Х3 = 3.66 'о.бГ к= -0.21 -0.60 ,/z2 = 0.81 -0.54 ,Л3 = 0.53 . 0.58 - 7 V. 7 х= 7.7, А, ' 0.78 > = -1 2.82, ; ' 0.54 i-3 =1 \ 3.12 '-0.29' к= -0.23 0.57 ,/z2 = 0.70 -0.45 ,Л3 = 0.67 0.67 - 7 V. 7 х= 11.89, ' 0.93 > Х2 = 7.23, А ' 0.04 3 =“ \ 12.13 '0.34' к= -0.25 -0.24 ,/z2 = 0.77 -0.62 ,Л3 = 0.57 . 0.73 - V. 7 х= -2.02, ' 0.76 > Х2 = 5.63, А '0.23' ^3 =- / 19.6 -0.60' к = -0.58 0.27 < 7 ,/z2 = 0.64 0.72 < 7 Лз = -0.48 . 0.63 7
Ответы 277 25. 26. 27. 28. 29. 30. 1. Xt = 9.73, Х2=1.29, Х3 =-10.02 0.85 \ = -0.11 ,/г2 = 0.77 ,Л3 = -0.62 0.51 Г-0.25 0.57 -0.46 0.63 Xt = -7.51, Х2 = 8.96, Х3 = 10.54 ( 0.89 ( 0.202 -0.39 \ = -0.08 ,/г2 = 0.94 ,h3 = 0.30 0.43 = -13.84, Г 0.82 ''I -0.24 0.86 Х2=3.11, Х3=7.72 ( QA1 -0.30 -0.38 ,/г2 = 0.86 ,h3 = 0.31 -0.13 0.41 0.90 Xt = 2.47, Х2=-9.71, Х3= 10.22 ' 0.74 \ = 0.61 ,/г2 = 0.71 ,/г3 = -0.32 -0.38 ( 0.54 -0.26 0.57 0.77 Xj = 8.76, X2 = —2.80, X3 = —9.96 ' 0.75 At = -0.26 ,h2= 0.88 ,h3= -0.37 -0.60 Г 0.43 ( 0.49 0.15 0.78 Xt = 0.66, Х2 = 6.28, Х3 = -7.94 Г-0.55 ' 0.72 ht= -0.36 ,h2 = 0.91 ,Zk. = 0.19 0.57 1.6. ( 0.41 0.06 0.81 =-13.496, Х2 = 5.248+2.864г, Х3= 5.248-2.864г. 2. '2 = 10.016, = -11.349, = -5.667.
278 Глава 1. Численные методы линейной алгебры Х = -5.416 + 5.831/, X = 7.112, 3. X =-5.416-5.831/, 4. X = -0.556 + 3.821/, Х= 4.832. X =-0.556-3.821/. Х=4.76, Х = 13.403, 5. Х=-5.351, 6. Х = 8.779, Х3 = 2.591. Х3 = 1.819. Х= 10.027, Х = -9.071, 7. X = 3.986 + 6.096г, 8. X =5.071, Х = 3.986-6.096г. Х=-4.999. Х=-6.224 +4.709г, Х = 5.665, 9. Х2=-6.224-4.709г, 10 Х=-7.548, Х= 3.448. Х3 =-4.117. Х = 8.907, X = 6.384, 11 Х=-13.982, 12 Х2 = 3.839, Х = 1.076. Х3 =-1.224. X =-13.006, Х= 7.813, 13 Х= 4.503 +2.803г, 14 X =-5.406 + 1.501/ Х = 4.503 -2.803г. х =-5.406-1.501/ X =4.134 + 4.655/, X =7.211, 15 X =4.134-4.655/, 16 X =-11-932, X = -2.269. X =-1-278. Х = 8.321, Х= 4.854, 17 X = -6.268, 18 х =-1.854, Х= 4.946. Х=1- X =2.311 + 5.103/, Х = 9.861, 19 X =2.311-5.103/, 20 X =-13.276, Х= 4.414. Х = 4.414. Х=-6.834+ 2.908/, Х= 9.637, 21 Х2 =-6.834-2.908/, 22 X =-Ю.524, Х = 6.669. X=-б.из.
Ответы 279 23. \ = -1.827, Х2=-12.787, Х3=-0.384. 24. Х = 10.313, Х2 =-7.861, Х3 = -4.452. 25. \ = 6.114, Х2=-3.057 +2.245г, Х3=-3.057-2.245г. 26. Х =-15.996 Х2 = 5.536, Х3=-2.54. 27. X = 6.497, Х2 = -10.147, Х3 =-1.35. 28. Х= 7.443, Х2 =-7.388, Х3 = -0.054. 29. Х = 8.313, Х2 =-6.156 +0.681г, Х3=-6.156-0.681г. 30. х= 14.697, Х2 =11.784, Х3 =-3.481.
Глава 2 НЕЛИНЕЙНЫЕ УРАВНЕНИЯ И СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ При проведении научных и инженерных расчетов достаточно часто возникает необходимость решения скалярных нелинейных уравнений или систем нелинейных уравнений. В настоящем разделе рассматривается ряд численных методов, позво- ляющих решать подобные задачи. 2.1. Решение нелинейных уравнений Численное решение нелинейных (алгебраических или транс- цендентных) уравнений вида /(х) = 0 (2.1) заключается в нахождении значений х, удовлетворяющих с задан- ной точностью данному уравнению, и состоит из следующих основных этапов: • отделение (изоляция, локализация) корней уравнения; • уточнение с помощью некоторого вычислительного алго- ритма конкретного выделенного корня с заданной точностью. Целью первого этапа является нахождение отрезков из обла- сти определения функции /(х), внутри которых содержится только один корень решаемого уравнения. Иногда ограничива- ются рассмотрением лишь какой-нибудь части области определе- ния, вызывающей по тем или иным соображениям интерес. Для реализации данного этапа используются графические или анали- тические способы. При аналитическом способе отделения корней полезна следу- ющая теорема [2]. Теорема 2.1. Непрерывная строго монотонная функция/(х) имеет единственный нуль на отрезке [а, Ь\ тогда и только тогда, когда на его концах она принимает значения разных знаков.
2.1. Решение нелинейных уравнений 281 Достаточным признаком монотонности функции /(х) на отрезке [а, Ь\ является сохранение знака производной функ- ции. Графический способ отделения корней целесообразно исполь- зовать в случае, когда имеется возможность построения графика функции у = f(x). Наличие графика исходной функции дает непосредственное представление о количестве и расположении нулей функции, что позволяет определить промежутки, внутри которых содержится только один корень. Если построение гра- фика функции у = f(x) вызывает затруднение, часто оказывается удобным преобразовать уравнение (2.1) к эквивалентному виду /1(х) = /2(х) и построить графики функций у = J\(x) и у = f2(x). Абсциссы точек пересечения этих графиков будут соответство- вать значениям корней решаемого уравнения. Так или иначе, при завершении первого этапа должны быть определены промежутки, на каждом из которых содержится только один корень уравнения. Для уточнения корня с требуемой погрешностью обычно применяется какой-либо итерационный метод, заключающийся в построении числовой последовательности х^ k = 0, 1, 2,..., схо- дящейся к искомому корню лХ*) уравнения (2.1). Метод половинного деления. Процесс уточнения корня урав- нения (2.1) на отрезке [а, Ь\ при условии, что функция/(х) непре- рывна на этом отрезке, заключается в следующем ([1], [3]). Исходный отрезок делится пополам. Если/((а + 6)/2) = 0, то корнем уравнения является х<*> = (а + Ь)/2. Если/((а + Ь)/2) * * 0, то выбирается та из половин [а, {а + Ь)/2] или [(а + Л>)/2, Ь\, на концах которой функция/(х) имеет противоположные знаки. Новый суженный отрезок [«И), &(!)] снова делится пополам и проводится то же рассмотрение и т.д. В результате на каком-то этапе либо находится точный корень уравнения (2.1), либо имеется последовательность вложенных друг в друга отрезков [дХ1), Z>W], [а<2>, ZA2)], ..., \а$\ для которых/(«W)/(ZA^>) < О, k = 0, 1, 2,.... Если требуется найти корень с погрешностью е, то деление отрезка пополам продолжается до тех пор, пока длина отрезка не станет меньше 2е. Тогда середина последнего отрезка даст зна- чение корня с требуемой погрешностью. Метод Ньютона (метод касательных). При нахождении корня уравнения (2.1) методом Ньютона итерационный процесс определяется формулой
282 Глава 2. Нелинейные уравнения и системы нелинейных уравнений x(w) = x(k) _ Л* ) £ = О, 1, 2........ (2.2) fV'k} Для начала вычислений требуется задание начального при- ближения х<0>. Условия сходимости метода определяются следу- ющей теоремой [2]. Теорема 2.2. Пусть на отрезке [а, Ь\ функция f(x) имеет пер- вую и вторую производные постоянного знака и пусть f(a)f(b) < < 0. Тогда, если точка х<°> выбрана на [а, Ь\ так, что /(х(°))/'(х(°))>0, (2.3) то начатая с нее последовательность х(А), k = 0, 1, 2, ..., опреде- ляемая методом Ньютона (2.2), монотонно сходится к корню х(*) е («, Ь) уравнения (2.1). В качестве условия окончания итераций в практических вычис- лениях часто используется правило |х^+|) | < е => ~ х^+|). Метод секущих. Использование метода Ньютона предпо- лагает вычисление на каждой итерации значения функции и ее производной. Заменяя производную функции приближенным разностным отношением /'(xW) /р))-/р ‘)) - х^к и подставляя это отношение в (2.2), получаем итерационную формулу метода секущих х(к ') = х^ - k = l, 2......... (2.4) Использование этого метода избавляет от необходимости расчета производной функции в процессе вычислений. Метод является двухшаговым; как видно из формулы (2.4), результат (k + 1)-го шага зависит от результатов (^)-го и (k - 1)-го шагов. Для выполнения первой итерации требуется задание двух начальных точек х<0> и.^1). Выбор начальной точки х<0> осущест- вляется по тому же принципу, что и в методе касательных, напри- мер с использованием условия (2.3). Вторая начальная точка хО
2.1. Решение нелинейных уравнений 283 выбирается в непосредственной близости от х(°), желательно между точкой лХ°> и искомым корнем. Окончание счета по методу секущих, учитывая его быструю сходимость, можно контролировать путем проверки на малость или модуля невязки |/’(xW)|, или модуля |лХ^ + О - ^)| (см. [2]). Метод простой итерации. При использовании метода простой итерации уравнение (2.1) заменяется эквивалентным уравнением с выделенным линейным членом х = ср(х). (2.5) Решение ищется путем построения последовательности x(*+1) = q>(xW), k = 0, 1, 2 (2.6) начиная с некоторого заданного значения х(0). Если <р(х) — непрерывная функция, а лХ^), k = 0, 1, 2,..., — сходящаяся последо- вательность, то значение lim является решением урав- нения (2.5). Условия сходимости метода и оценка его погрешности определяются теоремой, доказанной в [2]. Теорема 2.3. Пусть функция <р(х) определена и дифференци- руема на отрезке [а, Ь\. Тогда, если выполняются условия ф(х)е [a,Z>]Vxe 3q: |ф'(х)|< q < IVxe то уравнение (2.5) имеет единственный на [а, Ъ] корень х(*) к этому корню сходится определяемая методом простой итерации последовательность дХА), k = 0, 1, 2, ..., начинающаяся с любого лХ°) е [а, Ь\. При этом справедливы оценки погрешности (V&e У): Пример 2.1. С погрешностью е = 10 3 решить уравнение /(х) = е2х+Зх-4 = 0. (2.8) Решение. Для локализации корней применим графический способ. Преобразуем исходное уравнение к эквивалентному виду
284 Глава 2. Нелинейные уравнения и системы нелинейных уравнений е2х _ 4 _ Зд- Построив графики функций f\(x) = е2х и f2(x) = 4 - Зх (рис. 2.1), определяем, что у решаемого уравнения имеется только один корень, который находится в интервале 0.4 < х<*) < 0.6. Уточним значение корня с требуемой погрешностью, пользуясь при- веденными методами. Метод половинного деления. В качестве исходного отрезка выберем [0.4, 0.6]. Результаты дальнейших вычислений, согласно приведенному выше алгоритму, содержатся в таблице 2.1. Таблица 2.1 k /(«(*)) aW + f aW + 2 2 0 0.4000 0.6000 -0.5745 1.1201 0.5000 0.2183 1 0.4000 0.5000 -0.5745 0.2183 0.4500 -0.1904 2 0.4500 0.5000 -0.1904 0.2183 0.4750 0.0107 3 0.4500 0.4750 -0.1904 0.0107 0.4625 -0.0906 4 0.4625 0.4750 -0.0906 0.0107 0.4688 -0.0402 5 0.4688 0.4750 -0.0402 0.0107 0.4719 -0.0148 6 0.4719 0.4750 -0.0148 0.0107 0.4734 -0.0020 7 0.4734 0.4750 -0.0020 0.0107 [0.4742] Корень уравнения: - 0.474. Метод Ньютона. Для корректного использования данного метода необходимо в соответствии с теоремой 2.2 определить поведение пер- вой и второй производных функции f(x) на интервале уточнения корня и правильно выбрать начальное приближение лХ°). Для функции f(x) - е2х + Зх~ 4 имеем/'(х) = 2е2х + 3,/"(х) = 4е2х — положительные во всей области определения функции. При решении
2.1. Решение нелинейных уравнений 285 уравнения f(x) = 0 в качестве начального приближения можно выбрать правую границу интервала х(°) = 0.6, для которой выполняется неравен- ство (2.3): /(0.6)г(0.6)>0. Дальнейшие вычисления проводятся по формуле (2.2), где = +Зх« =4> /'(xW) = 2e^W +3. Итерации завершаются при выполнении условия < е. Результаты вычислений содержатся в таблице 2.2. Таблица 2.2 k x(k) /(^)) Л^>) -/(^))//’(^>) 0 0.6000 1.1201 9.6402 -0.1162 1 0.4838 0.0831 8.2633 -0.0101 2 0.4738 0.0005 8.1585 -0.0001 3 [0.4737] Корень уравнения: = 0.474. Метод секущих. В качестве начальных точек зададим: = 0.6 и дХ1) = 0.59. Дальнейшие вычисления проводятся по формуле (2.4), где fixWj = е1^ +3xW -4. Итерации завершаются при выполнении условия L(^+i) < е Результаты вычислений содержатся в табли- це 2.3. Таблица 23 k /(^)) 0 0.6000 1.1201 1 0.5900 1.0244 2 0.4830 0.0765 3 0.4744 0.0056 4 [0.4737] Корень уравнения: х<*) = 0.474. Метод простой итерации. Уравнение (2.8) можно записать в виде х = (4-е2*)/3 (2.9) или х = (1п(4-Зх))/2. (2.10)
286 Г лава 2. Нелинейные уравнения и системы нелинейных уравнений Из двух этих вариантов приемлемым является вариант (2.10), так как, взяв в качестве основного интервал (0.4, 0.55) и положив ф(х) = = (In (4 - Зх))/2, будем иметь: ф(х)е [0.4, 0.55]v хе [0.4, 0.55], ф'(х) = ——г. k ’ 2(4-Зх) Таким образом, на интервале (0.4, 0.55) получим |(ф’(х)| < 0.64 = q. Условия теоремы 2.3 выполнены. В качестве начального приближения положим х<°) = (0.4 + 0.55)/2 = = 0.475. Вычисляем последовательные приближения х№> с одним запас- ным знаком по формуле (2.6), где (p(xW) = (In (4 - Зх(^))/2. В соответ- ствии с (2.7) достижение требуемой точности контролируется условием —— x^+1) -xW < е. Результаты вычислений приведены в таблице 2.4. 1-^1 । Таблица 2.4 k х(^> <р(х(^) 0 0.4750 0.4729 1 0.4729 0.4741 2 0.4741 0.4734 3 0.4734 0.4738 4 [0.4738] Корень уравнения х<*> = 0.474. Замечание. Если непосредственное преобразование уравнения (2.1) к виду (2.5) не позволяет получить уравнение, для которого выполня- ются условия сходимости метода простой итерации, можно преобразо- вать уравнение (2.1) к следующему эквивалентному уравнению: х = х-Х/(х). Данное уравнение имеет вид (2.5) с ф(х) = x-‘kf (х). Здесь X — пара- метр, который подбирается таким образом, чтобы в нужной области выполнялось неравенство |<р''(х)| = |1-Х/'(х)|<?<1 (см. [2],[3]). 2.2. Решение систем нелинейных уравнений Систему нелинейных уравнений с п неизвестными можно записать в виде /1(*1.*2..Х„) = б, /2(^1.^...хп) = б, (2.11) fn (*1-*2..*я) = 0
2.2. Решение систем нелинейных уравнений 287 или, более коротко, в векторной форме /(х) = 0, (2.12) где х — вектор неизвестных величин,/’— вектор-функция В редких случаях для решения такой системы удается приме- нить метод последовательного исключения неизвестных и свести решение исходной задачи к решению одного нелинейного уравне- ния с одним неизвестным. Значения других неизвестных величин находятся соответствующей подстановкой в конкретные выра- жения. Однако в подавляющем большинстве случаев для реше- ния систем нелинейных уравнений используются итерационные методы. В дальнейшем предполагается, что ищется изолирован- ное решение нелинейной системы. Замечание. Как и в случае одного нелинейного уравнения, локализа- ция решения может осуществляться на основе специфической информа- ции по конкретной решаемой задаче (например, по физическим сооб- ражениям) и с помощью методов математического анализа. При решении системы двух уравнений часто удобным является графический способ, когда месторасположение корней определяется как точки пересечения кривых /1(х1,х2) = 0, f2^xltx2^ = 0 на плоскости Метод Ньютона. Если определено начальное приближение (0) / (0) (0) (о)\г х' > lx) ,х2 ,—,хп , то итерационный процесс нахождения решения системы (2.11) методом Ньютона можно представить в виде . л2 ~л2 LXA,‘l ’ (2 13) + Дх^, k = 0, 1, 2 где значения приращении Дх} ’ ,ъх\ ’, ...,Дх„ ’ определяются из решения системы линейных алгебраических уравнений, все
288 Г лава 2. Нелинейные уравнения и системы нелинейных уравнений коэффициенты которой выражаются через известное предыду- щее приближение [дхр^Лх^, ...,Дх^]: В векторно-матричной форме расчетные формулы имеют вид хМ = х/)+ДхМ А> = 0, 1, 2 где вектор приращений находится из решения уравнения Здесь (2Л5) (2.16) dfi (х) dfi (х) 9/1 (х) дх{ Эх2 К Э/2(х) Э/2 (х) Э/2(х) J(x) = дх{ Эх2 К 9/„(х) 9/„(х) дх{ дх{ Эх„
2.2. Решение систем нелинейных уравнений 289 — матрица Якоби первых производных вектора-функции/(х). Выражая из (2.16) вектор приращений Дх^ и подставляя его в (2.15), итерационный процесс нахождения решения можно записать в виде = k = Q, 1, 2. (2.17) где J ^x^j — матрица, обратная матрице Якоби. Формула (2.17) есть обобщение формулы (2.2) на случай систем нелиней- ных уравнений. При реализации алгоритма метода Ньютона в большинстве случаев предпочтительным является не вычисление обратной матрицы J 1 ^х^^ j, а нахождение из системы (2.14) значений при- ращений Дхр^Дх^, ...,Дх^ и вычисление нового приближения по (2.13). Для решения таких линейных систем можно привлекать самые разные методы, как прямые, так и итерационные (см. раз- дел 1.1), с учетом размерности п решаемой задачи и специфики матриц Якоби /(х) (например, симметрии, разреженности и т.п.). Использование метода Ньютона предполагает дифференциру- емость функций/1(х),/2(х),.... ,fn(x) и невырожденность матрицы Якоби plet В случае, если начальное приближение выбрано в достаточно малой окрестности искомого корня, итера- ции сходятся к точному решению, причем сходимость является квадратичной. В практических вычислениях в качестве условия окончания итераций обычно используется критерий (см. [2], [5]). |xM_xW|<e> (2.18) где е — заданная погрешность. Пример 2.2. Методом Ньютона найти положительное решение системы нелинейных уравнений Г/Дхр х2) = O.lxf + х{ + 0.2xj -0.3 = 0, ]/2(х1> х2) = 0.2х2 + х2 -0.1Х|Х2 -0.7 = 0
290 Глава 2. Нелинейные уравнения и системы нелинейных уравнений с погрешностью е = 10-4. Решение. Для выбора начального приближения применяем графиче- ский способ. Построив на плоскости (xit х2) в интересующей нас области кривые/Дх^ х2) = 0 и/2(Х|, х2) = 0 (рис. 2.2), определяем, что положи- тельное решение системы уравнений находится в квадрате 0 < xt < 0.5, 0.5 < х2< 1.0. В качестве начального приближения примем х^ = 0.25, х^ = = 0.75. Для системы двух уравнений расчетные формулы (2.13), (2.14) удоб- (Ач-1) (£+1) но записать в виде, разрешенном относительно х} ', х2 ', detAW 1 1 det/W’ det^ 2 2 det/W’ k = Q, 1, 2.. (2.20) где dxt dx2 d/^x^.x^ dx2
2.2. Решение систем нелинейных уравнений 291 В рассматриваемом примере имеем + х^ + 0.2х^)2 -0.3, /2(х^,х^) = 0.2х^)2 + х$ -O.lx^x^ -0.7, (k} — i----- = 0.2х, ' +1, dxt 1 — 5----- = 0.4х,', Эх2 ---*------- = 0.4х} '-0.1х2', дх{-------1 2 — i----£ = 1-0.1x4 Эх2 Подставляя в правые части соотношений (2.20) выбранные значения Xj°\x2°\ получим приближение ^x^^x^j, используемое, в свою оче- редь, для нахождения ^Х|2\х22^. Итерации продолжаются до выполне- ния условия (2.18), в котором L(M_xW||_maxL(M_xW| Результаты вычислений содержатся в таблице 2.5.
292 Глава 2. Нелинейные уравнения и системы нелинейных уравнений Таблица 2.5 /г М л2 /(х^.х^) /2 (444^) a/t(x^,x^) a/t(x^,x^) det 4*) detA^ det дх{ df2 (444*)) Эх2 9/2(444^) 0 0.25000 0.75000 0.06875 0.04375 1.012^1 0.02500 О.ЗОО&Э2 0.97500 0.05391 0.04258 0.97969 1 0.29498 0.70654 -0.00138 0.00037 1.00760 0.00734 0.28262 0.98050 -0.00146 0.00038 0.98588 2 0.19646 0.70615 0.00005 0.00000 1.00772 0.00797 0.28246 0.98035 0.00005 0.00000 0.98567 3 0.19641 0.70615 (*) (*) Корни системы уравнений: х, ' ~ 0.1964, х2 ' =0.7062. Метод простой итерации. При использовании метода простой итерации система уравнений (2.11) приводится к эквивалентной системе специального вида х1 = <р1(х1,х2.х„), *2=Ф2(*1.*2....*и), Х„=фп(х1,Х2...Х„), или, в векторной форме, (2.21) (2.22) где функции <pt (х),...,фи (х) определены и непрерывны в неко- торой окрестности искомого изолированного решения х<*) =
2.2. Решение систем нелинейных уравнений 293 Если выбрано начальное приближение х(°) ( последующие приближения в методе простой итерации нахо- дятся по формулам ЛП •*1 —4^11-*! ,Л-2 лп , rwrw лп л2 -Ф2|Л1 <л2 .лп ’ Л+1)-тМПЛ) лп лп -Фп1х1 <л2 .лп ’ 6 = 0, 1,2... (2.23) или, в векторной форме, Л+х) = ф(Л)), k=0, 1, 2......... (2.24) Если последовательность векторов х' ' ^х[ Зх? ',...,x„'j (*) / (*) (*) (*)\Г сходится, то она сходится к решению х ’ I xj.x) ,...,х„ ’ Достаточное условие сходимости итерационного процесса (2.23) формулируется следующим образом [3]. Теорема 2.4. Пусть вектор-функция <р(х) непрерывна вместе со своей производной Эф1(х) Эф1(х) Эф1(х) дх{ Эх2 Эх„ Эф2(х) Эф2(х) Эф2(х) ф'(х) = дх{ Эх2 К Эф„(х) Эф„(х) Эф„(х) дх{ Эх2 Эх„ в ограниченной выпуклой замкнутой области G и max||<p'(x)|| < q < 1, xeG I' II (2.25)
294 Глава 2. Нелинейные уравнения и системы нелинейных уравнений где q — постоянная. Если х<°> е G и все последовательные прибли- жения х(М=ф(хМ), £ = 0,1,2..... также содержатся в G, то процесс итерации (2.23) сходится к единственному решению уравнения X = <р(х) в области G и справедливы оценки погрешности, здесь V ke N: ||x(*)_x(M||<^||xW_x(o)||, \+? <2-26> ||х(*) _ Х(М| < ||ХМ _ XW||. Пример 2.2 (продолжение). Найти положительное решение системы (2.19) методом простой итерации с погрешностью е = 10-4. Решение. Преобразуем исходную систему уравнений (2.19) к виду х{ = 0.3-0.Eq2-0.2xf гф^х^хД х2 = 0.7 - 0.2х( + 0. lxtx2 = Ф2 (xi > х2) • Проверим выполнение условия (2.25) в области G: |xt - 0.25| < 0.25, |х2 - 0.75| < 0.25. Для этого найдем тах|ф'(х)| = тах тахХ ЭфДх1,х2) дх, (2.27) Так как ЭФ1(х1,х2)_ dxt ’ р М*.^)=_04 01>.. Эф^и.х,) ---i------ = -0.4х,, Эх2 Эх2 1 то в области G имеем Эф1(х1 ,х2) + Эф| (.г, ,х2) = |-0.2xt | + -0.4х2 | < 0.5, дх{ Эх2 Эф2(х1 ,х2) + Эф2 (.г, ,х2) = |-0.4х{ + 0.1х2 | +10.1х{ | <0.2, дх{ Эх2 тах||ф'(х)||<0.5^?<1.
2.2. Решение систем нелинейных уравнений 295 Следовательно, если последовательные приближения ^x^\x^j не покинут области G (что легко обнаружить в процессе вычислений), то итерационный процесс будет сходящимся. В качестве начального приближения примем х^ = 0.25, х^ = 0.75. Последующие приближения определяем как I f Л-2 р Л1)-™ (Jk) л^2 — т21 ’Л2 р k = Q, 1, 2...... <pt (х^, х$) = 0.3 - 0. 1х«2 - 0.2х^)2, <р2 (х^, х^) = 0.7 - 0.2х W2 + 0. Ix^x W. В соответствии с (2.26) вычисления завершаются при выполнении условия где р‘*Ч-х«| = тг|4“МЧ|- Результаты вычислений содержатся в таблице 2.6. Таблица 2.6 k xW Ф1 х^Ц) ф21-^1 Ы‘>) 0 0.25000 0.7500 0.18125 0.70702 1 0.18125 0.70702 0.19674 0.70617 2 0.19674 0.70617 0.19639 0.70615 3 0.19639 0.70615 0.19641 0.70615 4 0.19641 0.70615 (*) (*) Корни системы уравнений: ' = 0.1964, х2' ~ 0.7062. Замечание. В случае, когда при анализе сходимости конкретной ите- рационной схемы проверка условия (2.27) является затруднитель-
296 Глава 2. Нелинейные уравнения и системы нелинейных уравнений ной, можно определить норму матрицы М(х) с элементами mz/(x) = Зср f 1 = max—так, что тах||ф'(х)||<||Л/(х)||. Если ||Л/(х)|| < q < 1, то x^.G j %-G (*) последовательные приближения сходятся к решению лг ' (см. [5], [6]). Задачи 2.1. Методами простой итерации и Ньютона найти положительный корень нелинейного уравнения; начальное приближение определить графически. 1. 2х -х2 -0.5 = 0. 3. у/1-х2 -ех +0.1 = 0. 5. cos х + 0.25х-0.5 = 0. 7. 2х+х2-2 = 0. 9. х3 + х2-2х-1 = 0. 11. ех -х3 + 3х2 -2х-3 = 0. 13. 1п(х + 1)-2х2 +0.5 = 0. 15. sinx-x2 + l = 0. 17. 4х-5х-2 = 0. 19. xi-2х-1 = 0. 21. 3>Дг + 1-ех+ 0.5 = 0. 23. 1п(х + 2)-х4 +0.5 = 0. 25. Vx + 2-2cosx = 0. 27. х6-5х3-2 = 0. 29. х5-7х2+3 = 0. 2. In(х + 2) - х2 =0. 4. х3 + х2-х-0.5 = 0. 6. ех-2х-2 = 0. 8. 1п(х + 1)-2х2 + 1 = 0. 10. sin х - 2х2 + 0.5 = 0. 12. Зх-5х2 + 1 = 0. 14. х3-2х2-10х + 15 = 0. 16. хех + х2-1 = 0. 18. 1п(х + 1)-х3 + 1 = 0. 20. tgx-5x2 + l = 0, хе[-1, 1]. 22. 10х-5х-2 = 0. 24. х6-5х-2 = 0. 26. lg(x + l)-x +0.5 = 0. 28. lg(2x + l)-x3 + 1 = 0. 30. xlg(x + 2) + х2 -1 = 0. 2.2. Методом Ньютона или методом простой итерации решить систему нелинейных уравнений (при наличии нескольких решений найти то из них, в котором значения неизвестных являются положительными); начальное приближение определить графически. Вариант Значение параметра а Система уравнений 1 2 2 3 (х? +а2)х2-а3 = 0, 3 4 - а / 2)2 + (х2 - а / 2)2 - а2 = 0.
Ответы 297 Окончание табл. Вариант Значение параметра а Система уравнений 4 5 1 2 х{ -cosx2 =1, 6 3 x2-lg(x1 + l) = a. 7 8 2 3 Jxf + xj - a2 = 0, 9 4 [xt - + a = 0. 10 И 1 2 [^-cos^ =a, 12 3 la^-sinx^a. 13 2 14 3 x2 /a2 + x2 /(a/2) -1 = 0, 15 4 ax2 - exi - xt = 0. 16 2 17 3 faxt -cosx2 =0, 18 4 [ax2 - ext = 0. 19 20 1 2 fx12 + 21gx2 -1 = 0, 21 3 Ixf - axtx2 + a = 0. 22 23 1 2 lax2-x1 + x2-l = 0, 24 3 1 x2 - tgxt = 0. 25 26 1 2 ax2 - x2 + x2 - a = 0, 27 3 xt - yjx2 + a +1 = 0. 28 29 4 5 + xt -a = 0, 30 6 lx2-ax2 -1 = 0. Ответы 2.1. Для всех вариантов е = 10 4. 1. -00.4708; 1.5738; 4.1423. 3. -0.9590; 0.0915. 5. -0.7966; 1.4271; 4.1462. 7. -1.2578; 0.6535. 9. -1.8019; -0.4450; 1.2470. 11.-0.5926; 1.0738. 2. -0.5876; 1.0571. 4. -1.4516; -0.4030; 0.8546. 6. -0.7680; 1.6784. 8. -0.4492; 0.9070. 10. -0.3112; 0.7744. 12. -0.5556; 0.8380.
298 Глава 2. Нелинейные уравнения и системы нелинейных уравнений 13. -0.8997; 0.4282. 15. -0.6368; 1.4096. 17. -0.2607; 1.6942. 19. -0.4747; 1.3953. 21. -0.9095; 1.4294. 23. -0.8837; 1.1319. 25.-1.0667; 0.6262. 27. -0.7194; 1.7514. 29. -0.6426; 0.6691; 1.8273. 14. -3.0000; 1.3820; 3.6180. 16. -1.1675; 0.4782. 18. -0.7648; 1.2154. 20. -0.3548; 0.5738. 22. -0.2997; 0.7654. 24. -0.3992; 1.4487. 26. -0.9658; 0.7407. 28. -0.4600; 1.1494. 30.-1.0000; 0.8011. 2.2. Для всех вариантов е = 10 4. Вариант Xj х2 Вариант Xj х2 1 2.9646 0.6255 16 0.3737 0.7266 2 4.4469 0.9383 17 0.3001 0.4500 3 5.9293 1.2511 18 0.2375 0.3170 4 1.2222 1.3468 19 1.2758 2.0596 5 0.4445 2.1597 20 1.1488 1.4449 6 0.0094 3.0041 21 1.1006 1.2755 7 1.5480 1.2664 22 0.8198 1.0713 8 2.4721 1.6997 23 0.7022 0.8461 9 3.4587 2.0094 24 0.6111 0.7006 10 0.8322 1.7394 25 0.5692 1.4623 И 1.0389 2.8618 26 0.8455 1.4057 12 2.2104 3.8023 27 1.0000 1.0000 13 0.4249 0.9772 28 1.7125 0.4832 14 1.1178 1.3920 29 1.9592 0.5677 15 1.7091 1.8082 30 2.1706 0.6186
Глава 3 ПРИБЛИЖЕНИЕ ФУНКЦИЙ. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ И ИНТЕГРИРОВАНИЕ В настоящем разделе рассмотрены задачи приближения функций с помощью многочленов Лагранжа и Ньютона, с использованием сплайн-интерполяции и мето- да наименьших квадратов. Приводятся формулы численного дифференцирования, полученные на основе приближения функций и их производных многочленами. Описаны методы численного интегрирования — прямоугольников, трапеций, пара- бол (метод Симпсона), метод Рунге — Ромберга для оценки точности и уточнения результатов интегрирования. Все методы иллюстрируются подробно разобранными примерами решения характерных задач. Для самостоятельного решения приведены пять задач с ответами; в каждой задаче содержится 30 вариантов условий. 3.1. Интерполяция Пусть на отрезке [а, Ь\ задано множество несовпадающих точек х, (интерполяционных узлов), в которых известны значе- ния функции/, =/(х;), i = 0,..., п. Приближающая функция <р(х, а) такая, что выполняются равенства ф(*с«о..««) = /(*;) = /> г’ = °.(3-1) называется интерполяционной. Наиболее часто в качестве приближающей функции исполь- зуют многочлены степени п P„(x)=ftaixi. (3.2) i=0 Подставляя в (3.2) значения узлов интерполяции и используя условие Рп(х$ = fi, получаем систему линейных алгебраических уравнений относительно коэффициентов аг: = k = 0 и, (3.3) i=0 которая в случае несовпадения узлов интерполяции имеет един- ственное решение.
300 Глава 3. Приближение функций. Численное дифференцирование... Для нахождения интерполяционного многочлена не обяза- тельно решать систему (3.3). Произвольный многочлен может быть записан в виде Ln(x) = if,l,(x). (3-4) i=0 Здесь lj(x) — многочлены степени п, так называемые лагран- жевы многочлены влияния, которые удовлетворяют условию ' }' 0,пригну, и, соответственно, а интерполяционный многочлен (3.4) запишется в виде , , П П (х — X: ) Ln(x)=Yfi П j---4 (3-5) г=0 (Х; ~Xj) Интерполяционный многочлен, записанный в форме (3.5), называется интерполяционным многочленом Лагранжа. Если ввести функцию + Дх) = (х - х0)(х - Х\)...(х - хп) = = П(х хД то выражение для интерполяционного многочлена i=0V Лагранжа примет вид Ln х = х fi -—> (з.б) >=о (х-х;)(0„+1(х;) Недостатком интерполяционного многочлена Лагранжа явля- ется необходимость полного пересчета всех коэффициентов в случае добавления дополнительных интерполяционных узлов. Чтобы избежать указанного недостатка, используют интерполя- ционный многочлен в форме Ньютона. Введем понятие разделенной разности. Разделенные разности нулевого порядка совпадают со значениями функции в узлах. Разделенные разности первого порядка обозначаются как/(х;, х;) и определяются через разделенные разности нулевого порядка: f (xi’xj =------------- \ J ОС" ОС
3.1. Интерполяция 301 Разделенные разности второго порядка определяются через разделенные разности первого порядка: ,, \ f^xA-flx^xA /[х^х},хА = -^->---i--- v ' Xi~Xk Разделенная разность произвольного порядка определяется соотношениями X /(*ь*?*а.....хг)-/(х7,х,...х„) J IXjtX :,Xf?,...,Xl,Xn \ . X J / /у* /у* лп Таким образом, для (п + 1)-й точки могут быть построены раз- деленные разности до и-го порядка; разделенные разности более высоких порядков равны нулю. Пусть известны значения аппроксимируемой функции f(x) в точках х0, х1г ... , хп. Интерполяционный многочлен, значения которого в узлах интерполяции совпадают со значениями функ- ции/(х), может быть записан в виде рп (*) = /(хо) + (*-*o)/(xi’xo) + (* ~х0)(х-х{ )/(х0,х1,х2) + + ... + (х-х0)(х-х1)...(х-х„)/(х0,х1............х„). (3.8) Запись многочлена в виде (3.8) называется интерполяционным многочленом Ньютона. Если функция /(х) не есть многочлен и-й степени, то формула (3.8) для Р„(х) приближает функцию f(x) с некоторой погрешностью. Отметим, что при добавлении новых узлов первые члены многочлена Ньютона остаются неизмен- ными. Если функция задана в точках х0, хг, ... , хп, принадлежащих некоторому отрезку [а, Ь], то при построении интерполяционного многочлена Ньютона удобно пользоваться таблицей разделенных разностей, пример которой для п = 4 приведен в таблице 3.1. Таблица 3.1 *0 xt Ж) /(*1) f(.X0, xt) f(xt, x2) f(x0, xlt x2) /(x0, xlt x2, x3) х2 f(x2) f(x2, x3) f(xt, X2, x3) f(Xt, x2, x3, x4) /(x0, Xj, x2, x3, x4) Х3 f(x3) f{x3, x4) f{x2, x3, x4) х4 f(xA
302 Глава 3. Приближение функций. Численное дифференцирование... Замечание. Для повышения точности интерполяции в сумму (3.8) могут быть добавлены новые члены, что требует подключения допол- нительных интерполяционных узлов. При этом безразлично, в каком порядке подключаются новые узлы. Этим формула Ньютона выгодно отличается от формулы Лагранжа. Погрешность интерполяционных многочленов Лагранжа и Ньютона для случая аналитически заданной функции /(х) априорно может быть оценена по формуле, вывод которой при- водится, например, в [1]: |е„ (х)| = |/(х) - Рп (х)| < ®я+1 (*)|, (3-9) где Мп+] max|/(”+1) (£)|, £e[a,Z>], Если величину производных аппроксимируемой функции оценить сложно (например, для таблично заданной функции), то используется апостериорная оценка по первому отброшенному члену интерполяционного многочлена Ньютона, в который вхо- дят разделенные разности, являющиеся аналогами производных соответствующих порядков. Использование одной интерполяционной формулы на боль- шом числе узлов нецелесообразно. Интерполяционный многоч- лен может проявить свои колебательные свойства, при этом его значения между узлами могут существенно отличаться от зна- чений интерполируемой функции. Одна из возможностей пре- одоления этого недостатка заключается в применении сплайн - интерполяции. Суть сплайн-интерполяции заключается в определении интер- полирующей функции по формулам одного типа для различных непересекающихся промежутков и в стыковке значений функции и ее производных на их границах. Наиболее широко применяемым является случай, когда между любыми двумя точками разбиения исходного отрезка строится многочлен и-й степени: п S(x)= aikxk< xi i^x^xi, i = l.n, (3.10) k=o который в узлах интерполяции принимает значения аппрокси- мируемой функции и непрерывен вместе со своими (п - 1)-й производными. Здесь точки х0, ..., хп упорядочены по возраста- нию, т.е. 1 о х0 = а, хп= Ь.
3.1. Интерполяция 303 Такой кусочно-непрерывный интерполяционный многочлен называется сплайном. Его коэффициенты находятся из условий равенства в узлах сетки значений сплайна и приближаемой функ- ции, а также равенства (п - 1 )-й производных соответствующих многочленов. На практике наиболее часто используется интерпо- ляционный многочлен третьей степени, который удобно предста- вить как S(x) = ai + bi(x-xi 4) + с;(х-х; 4)2+(/;(х-х; J3, х; г<х<х^ г = 1, 2............п. Для построения кубического сплайна необходимо построить п многочленов третьей степени, т.е. определить 4и неизвестных Ь{, с{, di. Эти коэффициенты ищутся из условий в узлах сетки: s{xi 1) = <Ь=а{ i + b t(xi t-Xi 2) + с; t(xi t-Xi 2)2 + (/; t(xi t-Xi 2)3 =fi t, S\xi i) = bi=bi t+2ci t(xi t~xi 2) + 3d i(xi i-Xi 2)2, $ (xi i) = 2ci=2ci t + ^dj t(x; i~Xi 2), (3.12) 5(x0) = al = f0, 5"(x0) = c1 =0, S(x„) = an + bn(xn-Xi l) + cn(xn-xi if + d^-Xi t)3 = /n, 5"(x„) = 2c„ -x„ t) = 0, i = 2, 3.n. В (3.12) предполагается, что сплайны имеют нулевую кри- визну на концах отрезка. В общем случае могут быть использо- ваны и другие условия. Если ввести обозначение /гг = _ j и исключить из системы (3.12) неизвестные Ьг d,, то можно получить систему из (п - 1) линейных алгебраических уравнений относительно сг, i = 2,..., п, с трехдиагональной матрицей: 2(/zi +/z2)c2 +/z2c3 =3|j/2 -/i)/ Л2 -(/i -/о)/ К]’ Л i + 2(/z; 1+/г;)с;+/г;с;+1 = 3[(/;-/; i)/V(Z i~fi 2) A 1]. ^0.102 ]Pn 1 + — — fn 1) /hn~[fn 1— fn 2)/ z = 3, ...»n-\.
304 Глава 3. Приближение функций. Численное дифференцирование... Остальные коэффициенты сплайнов могут быть восстанов- лены по формулам ai fi 1> Ь = 1 =-/^(^ + 2^), di = Ci+i~Ci, (3.14) ’ 3 !+1 '3hi v ’ b =^n~Jnl = —hncn, dn=-^-, i = l................и-1. ” hn 3 nn 3hn Пример 3.1. Используя таблицу значений г/; функции у =f(x), вычис- ленных в точках xit i = 0.3, построить многочлен Лагранжа, проходя- щий через точки {xit у,}, вычислить значение погрешности интерполя- ции в точке X* для у = In (х), х; = 0.1, 0.5, 0.9, 1.3; X* = 0.8 и сравнить ее с оценкой (3.9). Решение. Функция у = In (х) задана в четырех точках, следовательно, искомым является многочлен Лагранжа третьей степени МФ2Х A v >=о (х-х;)ю4(х;) ю4(х) = (х-х0)(х-х1)(х-х2)(х-х3), Ю4 (х0 ) = (х0 - Х4 ) (х0 - Х2 ) (х0 - Х3 ), ®4 (*1 ) = (*1 - х0 ) (*1 - Х1) (*1 - х3 ), ю4(х2) = (х2-х0)(х2-х1)(х2-х3), ю4(х3) = (х3-х0)(х3-х1)(х3-х2). Заполним таблицу: i fi <О'4(Х;) /;/<в'4(Х;) X*-Xi 0 0.1 -2.30259 -0.384 5.99632 0.7 1 0.5 -0.69315 0.128 -5.41521 0.3 2 0.9 -0.10536 -0.128 0.82313 -0.1 3 1.3 0.26236 0.384 0.68324 -0.5 Искомый многочлен Лагранжа может быть записан в виде £3(х) = 5.99632(х-0.5)(х-0.9)(х-1.3)- -5.41521(х-0.1)(х-0.9)(х-1.3) + +0.82313(х - 0.1)(х - 0.5)(х -1.3) + +0.68324(х-0.1)(х-0.5)(х-0.9).
3.1. Интерполяция 305 Вычислим значение интерполяционного многочлена и точное значе- ние функции в точке X* = 0.8: L3(0.8) = -0.20036, г/(0.8) = 1п(0.8) = -0.22314. Абсолютная погрешность интерполяции составляет Л(£3(0.8)) = = 0.02278. Оценка погрешности интерполяции по формуле (3.9) сос- тавляет |е„(0.8)|<^-1.05-10 2 = 26.25. Пример 3.2. Используя таблицу значений г/; функции у =f(x), вычис- ленных в точках xit i = 0.3, построить многочлен Ньютона, проходя- щий через точки {х;, yt}. Вычислить значение погрешности интерполяции в точке X* и срав- нить ее с оценкой (3.9). Решение. Имеем у = sin (лх/6), = 0, 1.0, 2.0, 3.0; X* = 1.5. Функция у = sin (лх/6) задана в четырех точках, следовательно, иско- мым является многочлен Ньютона третьей степени Рз(*) = ЛХо) + (*-*о)ЛХ1’Хо) + (*-*о)(*-*1)ЛХО>*1>*2) + + (х - х0 )(х - xt )(х - х2)/(х0, х{, х2, х3). Заполним таблицу конечных разностей: i xi f, /(^i^i+i) /(x;,xi+i,xi+2) /(хо.^.^.Хз) 0 0.0 0.0 0.5 1 1.0 0.5 0.36603 -0.06699 -0.01635 2 2.0 0.86603 0.13398 -0.11603 3 3.0 1.0 Искомый многочлен Ньютона записывается в виде Р3 (х) = 0.5х - 0.06699х(х -1.0) - 0.01635х(х -1.0) (х - 2.0). Вычислим значение интерполяционного многочлена и точное значе- ние функции в точке X* =1.5: Р3 (1.5) = 0.70589, у (1.5) = sin(n / 4) = 0.70711. Абсолютная погрешность интерполяции составляет Д(Р3(1.5)) = = 0.00122, |е4 (1.5)| = (0.0751/24) • 0.5625 = 0.0017.
306 Глава 3. Приближение функций. Численное дифференцирование... Пример 3.3. Построить кубический сплайн для функции, заданной в узлах интерполяции, предполагая, что сплайн имеет нулевую кривизну при х = х0 и х = х4; вычислить значение функции /(1.5). i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 fi 0.0 1.8415 2.9093 3.1411 3.2432 Решение. Запишем систему уравнений (3.13): 4с2 + с3 = -2.3209, с2 + 4с3 + с4 = -2.5080, с3 + 4с4 =-0.38924. Решив данную систему, найдем с2, с3, с4 и, воспользовавшись форму- лами (3.14), заполним таблицу. i [X; 1,Х|] ai bt Ci 1 [0,1] 0.0 1.9913 0.0 -0.14983 2 [1,2] 1.8415 1.5418 -0.44949 -0.02450 3 [2, 3] 2.9093 0.56934 -0.52299 0.18548 4 [3, 4] 3.1411 0.07978 0.03344 -0.01115 Имеем f^x^ = ai+bi^x-xi 1) + ci(x-xi J2 + di(x-xi J3, x{ l<x<xi, i = l, 2, 3, 4. Вычислим значение функции /(1.5). Точка х = 1.5 принадлежит отрезку [1, 2], на этом отрезке таблично заданная функция представля- ется кубическим сплайном: /(х) = 1.8415 + 1.5418(х-1)-0.44949(х-1)2-0.0245(х-1)3, 1<х<2, г = 2. Получаем/(1.5) = 2.4969. 3.2. Метод наименьших квадратов Пусть задана таблично в узлах ^функция г/7=/(л/,; = 0,1,..., N. При этом значения функции г/; определены с некоторой погреш- ностью. Пусть также из физических соображений известен вид функции, которой должны приближенно удовлетворять таблич-
3.2. Метод наименьших квадратов 307 ные точки, например многочлен степени п, у которого неизвестны коэффициенты Fn(x) = Yaix* Неизвестные коэффициенты <=о будем находить из условия минимума квадратичного отклонения многочлена от таблично заданной функции: N r / \ -|2 ф=Е[^(^) ~У)\- (3.15) Минимума Ф можно добиться только за счет изменения коэф- фициентов многочлена Fn(x). Необходимые условия экстремума имеют вид k = Q, 1......и. (3.16) Эту систему для удобства преобразуют к виду п N N Х«,Х xj+i = У, yjXj =0, k = 0, 1.п. <=о 7=0 7=0 (3-17) Система (3.17) называется нормальной системой метода наи- меньших квадратов (МНК) и представляет собой систему линей- ных алгебраических уравнений относительно коэффициентов аг. Решив систему, построим многочлен Fn(x), приближающий функцию f(x) и минимизирующий квадратичное отклонение. Необходимо отметить, что система (3.17) с увеличением сте- пени п приближающего многочлена становится плохо обуслов- ленной и решение ее связано с потерей точности. Поэтому при использовании метода наименьших квадратов, как правило, используют приближающий многочлен не выше третьей степени. Пример 3.4. Для таблично заданной функции путем решения нор- мальной системы МНК найти приближающие многочлены первой и вто- рой степени. Для каждого из приближающих многочленов вычислить сумму квадратов ошибок. Построить графики приближаемой функции и приближающих многочленов. i 0 1 2 3 4 5 xi 0.0 1.7 3.4 5.1 6.8 8.5 yi 0.0 1.3038 1.8439 2.2583 2.6077 2.9155
308 Глава 3. Приближение функций. Численное дифференцирование... Решение. Найдем приближающий многочлен первой степени F\(x) = = а0 + а{х. Для нахождения неизвестных коэффициентов а0, а{ запишем нормальную систему МНК (3.17): а0(У + 1) + а1Х^7 = j=o j=o N NN aQ^Xj + a^x] = YyjXj- j=0 j=0 j=0 (3.18) В данном примере У = 5, значения xit yit i = 0.5, приведены в таблице. Подставив числовые значения в (3.18), получим 6а0 +25.5^=10.9292, 25.5а0 +158.95^=62.517. (3.19) Решив систему (3.19), получим а0 = 0.4713, а{ = 0.3177. Таким обра- зом найден приближающий многочлен первой степени ТДх) = 0.4713 + + 0.3177х, значения которого в заданных точках приведены в таблице: i 0 1 2 3 4 5 Xi 0.0 1.7 3.4 5.1 6.8 8.5 F^xi) 0.4713 1.0114 1.5515 2.0916 2.6317 3.1718 Сумма квадратов ошибок составляет Ф=Х[Л(Х>)_=0.4872. j=o Найдем приближающий многочлен второй степени F2(x) = а0 + atx + + а^х2. Для нахождения неизвестных коэффициентов а0, а{, а2 запишем нормальную систему МНК (3.17): W N a^N + lj + ^Xj+a^x^^yj, j=0 j=0 j=0 NN NN ao^Xj+a^xj+a2^x] =Yyjxj, (3.20) j=0 j=0 j=0 j=0 NN NN a0 X x] +aiYx] + a2Yxj=Y У;х]- >=o >=o 7=o 7=o Подставив числовые значения в (3.20), получим 6а0 + 25.5at + 158.95а2 = 10.9292, • 25.5а0 +158.95^+ 1105.43а2=62.517, (3.21) 158.95а0 + 1105.430! + 8176.71а2 = 415.045.
3.3. Численное дифференцирование 309 Рис. 3.1 Решив систему (3.21), найдем а0 = 0.1295, ах = 0.6193, а2 = -0.0355. Таким образом, сформирован приближающий многочлен второй сте- пени F2(x) = 0.1295 + 0.6193х - 0.0355х2, значения которого в заданных точках приведены в таблице: i 0 1 2 3 4 5 xi 0.0 1.7 3.4 5.1 6.8 8.5 F2(xi) 0.1295 1.0798 1.8250 2.3651 2.7000 2.8299 Сумма квадратов ошибок составляет Ф= У =0.0946. На рис. 3.1 точками обозначены табличные данные, сплошной линией — приближающий многочлен первой степени, пунктирной — приближающий многочлен второй степени. 3.3. Численное дифференцирование Формулы численного дифференцирования в основном исполь- зуются при нахождении производных от функции у =f(x), задан- ной таблично. Исходная функция г/; =/(д)), г = 0,1,..., М, на отрез- ках [х^ Xj + заменяется некоторой приближающей, легко вычисляемой функцией <р(х, а), у = <р(х, а) + R(x), где R(x) — остаточный член приближения, а — вектор коэффициентов, вообще говоря, различный для каждого из рассматриваемых отрезков, и полагают, что у'(х) ~ <р'(х, а). Наиболее часто в каче- стве приближающей функции <р(х, а) берется интерполяционный многочлен <р(х, а) = Рп(х) = У а{х‘ , а производные соответствую- <=о щих порядков определяются дифференцированием многочлена.
310 Глава 3. Приближение функций. Численное дифференцирование... При решении практических задач, как правило, используются аппроксимации первых и вторых производных. В первом приближении таблично заданная функция может быть аппроксимирована отрезками прямой г/(х) ~ ф(х) = г/, + ^±1—-(x-Xij, хе [х;,х;+1]. В этом случае производная является кусочно-постоянной функцией и рассчитывается по формуле г/(х) ~ ф'(х) = ——= const, хе[х,,х,+1], (3.22) i с первым порядком точности в крайних точках интервала, и со вторым порядком точности в средней точке интервала [1]. Правая часть (3.22) совпадает с выражением для разделенной разности f(Xi, Xi +1) — см. и. 3.1. При использовании для аппроксимации таблично заданной функции интерполяционного многочлена второй степени имеем г/(х) ~ ф(х) = у, + ^±1——(х - х;) + i Ум~ Ум _ Ум-У1 (3-23) + —^±1——— (х - xt) (х - xi+i), х е [хг-, xi+i ], у(х} ~ ф'(х) = ^±1—Ук + *^2+1 Z Ум~Ум _ Ум-У1 (3-24) + ——(2х - xt - xi+i), хе [x,,xi+1]. *^г+2 При равноотстоящих точках разбиения данная формула обе- спечивает второй порядок точности. Для вычисления второй производной необходимо использо- вать интерполяционный многочлен как минимум второй степени. После дифференцирования многочлена получаем Ум Ум Ум У1 г/Л'(х) = фЛ'(х) = 2^±^—хе[х;,х;+1]. (3.25) %i+2 ~
3.3. Численное дифференцирование 311 Формулы (3.23)—(3.25) с использованием разделенных разно- стей могут быть записаны в виде г/(х)=ф(х)=г/;+/(Х;,Х;+1)(х-Х;) + /(Х;,Х;+1,Х;+2)(х-Х;)(х-Х;+1), у\х) = <р'(х) = f[xiyxM) + f[xiyxM,xi+2)(2х-xt -xi+1), /(х) = ф'(х) = 2f(xi,xi+l,xi+2). В случае равноотстоящих узлов с шагом h = (х; + t = = xi + 2- xi + {имеем г/(х) = ф(х) = yt + yi+ih У‘(х-х,)+У‘+2 2y^1 У‘(х-Xi)(x-xi+1), y\x) = ф'(х) = Ум~ yi + Ум ~2y*+i ~ yi (2x - xt - xi+1), h 27r y\x)^^x) = yM~2y^~yi. Пример 3.5. Вычислить первую и вторую производные от таблично заданной функции y^ftXj), i = 0, 1, 2, 3, 4, в точке х = X*-, X* = 0.2. i 0 1 2 3 4 Xi 0.0 0.1 0.2 0.3 0.4 У, 1.0 1.1052 1.2214 1.3499 1.4918 Решение. Вычислим производную, используя формулу (3.22) и отре- зок [х1; х2]. Так как точка, в которой требуется найти значение производ- ной, совпадает с правой границей отрезка, такую производную еще назы- вают левосторонней'. /(0.2),fe^.‘2214-l.l<>52sll62;| 7 ’ x2-xt 0.2-0.1 Аналогично вычисляется правосторонняя производная: /(о.2) = М1=1-3499-1.2214=12846 7 ' х3 — х2 0.3-0.2 Обе эти формулы позволяют вычислить производную с первым порядком точности. Вычислим производную со вторым порядком точ- ности, для чего воспользуемся формулой (3.24): Уъ-У2 Ут-Уу у'Ш\ = + *3~*2 ^2-^1 /2.0.2-xt -х2) = 1-2214~1-1052 + 7 7 x2-xt x3-xt ' 7 0.2-0.1 1.3499-1.2214 _ 1.2214 -1.1052 +----°-3~0-2-------°-2~0Л----(2 • 0.2 - 0.1 - 0.2) = 1.2234. 0.3-0.1 7 7
312 Глава 3. Приближение функций. Численное дифференцирование... Заметим, что результат вычисления по формуле (3.24) в случае рав- номерной сетки совпадает с полусуммой левосторонней и правосторон- ней производных. Вычислим вторую производную в точке х = 0.2, используя соотно- шение (3.25): Уз~Уз У2-У1 1.3499-1.2214 1.2214-1.1052 /(0.2) = 2*3"*2 Х2~^1 = ОС ОС 1 0.3-0.2 0.2-0.1 = t 2224 0.3-0.1 3.4. Численное интегрирование Формулы численного интегрирования используются в тех случаях, когда вычислить аналитически определенный интеграл ь Г j/(x)d!x не удается. Отрезок [а, Ь\ разбивают точками х0, хь а ..., xN так, что а = х0, b = Х№ А < Xt< ... < В с достаточно мелким шагом Hr = Xi - Ху.р При этом на одном или нескольких отрезках Нг подынтегральную функцию F(X) заменяют приближающей ф(х) такой, что она, во-первых, близка к /(х), а во-вторых, инте- грал от ф(х) легко вычисляется. Рассмотрим наиболее простой и часто применяемый способ, когда подынтегральную функцию заменяют на интерполяционный многочлен Рп (х) a}xj, при- 7=о чем коэффициенты многочлена вообще говоря, различны на каждом отрезке [х;, xi+„] и определяются из условия ф(х;) = = /(xz), / = г, ... , i + п, т.е. многочлен Рп зависит от параметров Рп {х,сц j. В этом случае /(х) = Р„(х,щ) + Я„(х,щ), xe[vi+t], (3.26) где яДх.щ) — остаточный член интерполяции. Тогда N х‘ i - \ Р = Х I Pn\x,aijdx + R, i=14 1 У / - \ где R Yi J Rn\x,aij dx — остаточный член формулы численного ^=1^-1 интегрирования или ее погрешность. Здесь а, = (а0, ..., ап) — век-
3.4. Численное интегрирование 313 тор, состоящий из коэффициентов интерполяционного много- члена Рп, аппроксимирующего функцию/(х) на отрезке [х„ xi + „]. При использовании интерполяционных многочленов различ- ной степени получают формулы численного интегрирования раз- личного порядка точности. Заменив подынтегральную функцию интерполяционным многочленом Лагранжа нулевой степени, проходящим через сере- дину отрезка — точку у2 г+х^/2, получим формулу прямоугольников: (3-27) a i=t 2 J В случае постоянного шага интегрирования /гг = h,i= 1, 2,..., N, и существования/"(х), х е [a, Z>], имеет место следующая оценка остаточного члена формулы прямоугольников: R<^h2M2(b-a), (3.28) где М2 тах|/'(х)|, хе[а,Ь]. Для таблично заданных функции удобно в качестве узлов интерполяции выбрать начало и конец отрезка интегрирования, т.е. заменить функцию f(x) многочленом Лагранжа первой сте- пени b 1 N F = \f{x)dx^^fi+fil)hi. (3.29) а 2М Эта формула носит название формулы трапеций. В случае постоянного шага интегрирования величина остаточ- ного члена оценивается как R<^-h2M2, (3.30) где М2 max|/'’’(x)|, хе[а,Ь]. Для повышения порядка точности формулы численного инте- грирования заменим подынтегральную кривую параболой — интерполяционным многочленом второй степени, выбрав в каче- стве узлов интерполяции концы и середину отрезка интегриро- вания: Xi r,Xi 1/2 (хг j+xJ/2,^.
314 Глава 3. Приближение функций. Численное дифференцирование... В случае /г; = (xi - xt _ !/2)/2 получим формулу Симпсона (фор- мулу параболу. b -I N F = J/(x)(fe = -X(Z 1 + 4/ i/i+fi)hi- (3.31) а г’<=1 При постоянном шаге интегрирования /z, = h, i = 1, 2, ... , N, формула Симпсона принимает вид ^’==-^/о + 4/1/2 + 2/1 + 4/3/2+2/2+... + 2/лг i + 4/дг i/2 + /w], (3.32) здесь число интервалов, на которое делится отрезок интегриро- вания, равно 2N. В случае если существует /^(х), х е [а, Ь\, для оценки величины погрешности справедлива мажорантная оценка 7?<-^/z4A/4, (3.33) 180 4 v 7 где Mi max|/Iv(х)|, xe[a,b]. Метод Рунге — Ромберга — Ричардсона позволяет полу- чать более высокий порядок точности вычисления. Если име- ются результаты вычисления определенного интеграла на сетке с шагом h~ F=Fh + O(/z?) и на сетке с шагом kh~ F = Fkh + O((kh) Р), то F = ]f(x)dx^Fh + Fhk~Fk^h + O(/zp+1). (3.34) Пример 3.6. Вычислить определенный интеграл F = J уАх методами X, прямоугольников, трапеций, Симпсона с шагами hr, h2. Уточнить полу- ченные значения, используя метод Рунге — Ромберга — Ричардсона. Принять у =------—у, Уо=-1, Xk=l, ^=0.5, Л2 = 0.25. (Зх + 4) Решение. В случае интегрирования с постоянным шагом формулы принимают следующий вид: • метод прямоугольников: „ < | Хп + X] । | X] + Хо । | Х\т 1 + Х\т F = h и\ —---L + */ — +•••+# ——------— 2 2 2
3.4. Численное интегрирование 315 • метод трапеций: F = h ^+yi + y2 + ...+yN Y + • метод Симпсона: h ^ = -[.'Л) + 4У|+2У2 + 4.'/з + 2.'Л+- + 2.'А' 2 + 4.'А' 1 + ^]- В настоящем примере используется формула метода Симп- сона, аналогичная (3.32), но без введения полуцелых индексов; в этом случае число узлов N должно быть четным. Вычислим интеграл с шагом 0.5, результаты занесем в таб- лицу: i Xj yi =ydx YL Метод прямоугольников Метод трапеций Метод Симпсона 0 -1.0 -1.0 0.0 0.0 0.0 1 -0.5 -0.08 -0.12245 -0.27 2 0.0 0.0 -0.13428 -0.29 -0.22 3 0.5 0.01653 -0.12874 -0.28587 4 1.0 0.02041 -0.11914 -0.27663 -0.20558 Вычислим интеграл с шагом 0.25, результаты занесем в таблицу: i Xj yi =ydx X, Метод прямоугольников Метод трапеций Метод Симпсона 0 -1.0 -1.0 0.0 0.0 0.0 1 -0.75 -0.24490 -0.11570 -0.15561 2 -0.5 -0.08 -0.15031 -0.19622 -0.17163 3 -0.25 -0.02367 -0.16165 -0.20918 4 0.0 0.0 -0.16403 -0.21214 -0.18619 5 0.25 0.01108 -0.16239 -0.21076 6 0.5 0.01653 -0.15882 -0.20731 -0.18112 7 0.75 0.01920 -0.15430 -0.20284 8 1.0 0.02041 -0.14914 -0.19789 -0.17164 Сравним полученные результаты с оценками (3.28), (3.30), (3.33) и получим:
316 Глава 3. Приближение функций. Численное дифференцирование... • для метода прямоугольников R(h = 0.5) < 1.375, R(h = 0.25) < 0.34375; • метода трапеций R(h = 0.5) < 2.75, R(h = 0.25) < 0.6875; • метода Симпсона R(h = 0.5) < 8.6625, R(h = 0.25) < 0.5414. 1 Уточним значение интеграла F = J [х/ (Зх + 4)Jdx, используя метод 1 Рунге — Ромберга — Ричардсона, получим при точном значении х, рав- ном -0.16474: • по методу прямоугольников -0.15937 с абсолютной погрешностью 0.00537; • по методу трапеций -0.17164 с абсолютной погрешностью 0.00690; • по методу Симпсона -0.16938 с абсолютной погрешностью 0.00464. Задачи 3.1. Используя таблицу значений У; функции у = f(x), вычисленных в точках Xit i = 0 3, построить интерполяционные многочлены Лагранжа и Ньютона, проходящие через точки {Xit У/. Вычислить значение погреш- ности А(г/(Х*)) интерполяции в точке X*. Сравнить погрешности метода с оценкой (3.9). № Функция Xi X* а б 1. у = sinx 0.1п, 0.2п, О.Зп, 0.4п 0.1п, п/6, О.Зп, 0.4п п/4 2. у = cos X 0, п/6, 2п/6, Зп/6 0, п/6, 5п/12, п/2 п/4 3. y = t&: 0, п/8, 2п/8, Зп/8 0, п/8, п/3, Зп/8 Зп/16 4. y = ctgx п/8, 2п/8, Зп/8, 4п/8, п/8, 5п/16, Зп/8, п/2 п/3 5. у = \пх 0.2, 0.6, 1.0, 1.4 0.2, 0.6, 1.2, 1.4 0.8 6. у = ех -2,-1,0, 1 -2, -1, 0.2, 1 -0.5 7. у = 4х 0, 1.7, 3.4, 5.1 0, 1.7, 4.0, 5.1 3.0 8. у = arcsin х -0.4, -0.1, 0.2, 0.5 -0.4, 0, 0.2, 0.5 0.1
Задачи 317 Окончание табл. № Функция X* a 6 9. 77 = arccosx -0.4, -0.1, 0.2, 0.5 -0.4, 0, 0.2, 0.5 0.1 10. и = arctgx -3,-1, 1,3 -3, 0, 1, 3 -0.5 И. и = arcctgx -3,-1, 1,3 -3, 0, 1, 3 -0.5 12. у = sin х + х 0, п/6, 2n/6, 3n/6 0, n/6, 5n/12, n/2 n/4 13. y = cosx + x 0, п/6, 2n/6, 3n/6 0, n/6, 5n/12, n/2 n/4 14. и = tgx + X 0, п/8, 2n/8, 3n/8 0, п/8, n/3, 3n/8 3n/16 15. 77 = Ct£X + X п/8, 2n/8, 3n/8, 4n/8 n/8, n/3, 3n/8, n/2 3n/16 16. м = 1пх + х 0.1, 0.5, 0.9, 1.3 0.1, 0.5, 1.1,1.3 0.8 17. и = ex + x -2,-1,0, 1 -2, -1, 0.2, 1 -0.5 18. y = 4x +x 0, 1.7, 3.4, 5.1 0, 1.7, 4.0, 5.1 3.0 19. и = arcsin x + x -0.4, -0.1, 0.2, 0.5 -0.4, 0, 0.2, 0.5 0.1 20. и = arccosx + x -0.4, -0.1, 0.2, 0.5 -0.4, 0, 0.2, 0.5 0.1 21. w = arctgx + x -3,-1, 1,3 -3, 0, 1, 3 -0.5 22. и = arcctgx + x -3,-1, 1,3 -3, 0, 1, 3 -0.5 23. 77 = 1 / X 0.1, 0.5, 0.9, 1.3 0.1, 0.5, 1.1,1.3 0.8 24. z/ = l/x2 0.1, 0.5, 0.9, 1.3 0.1, 0.5, 1.1,1.3 0.8 25. 77 = 1 / X + X 0.1, 0.5, 0.9, 1.3 0.1, 0.5, 1.1,1.3 0.8 26. и = 1 / X2 + X2 0.1, 0.5, 0.9, 1.3 0.1, 0.5, 1.1,1.3 0.8 27. w = xsin(x) 0, п/6, 2n/6, 3n/6 0, n/6, 5n/12, n/2 n/4 28. 77 = XCOs(x) 0, п/6, 2n/6, 3n/6 0, n/6, 5n/12, n/2 n/4 29. 77 = xex -2,-1,0, 1 -2, -1, 0.2, 1 -0.5 30. у = x2e* -1.2, -0.7, -0.2, 0.3 -1.2, -0.7, 0, 0.3 -0.5 3.2. Построить кубический сплайн для функции, заданной в узлах ин- терполяции, предполагая, что сплайн имеет нулевую кривизну при х = х0 и х = х4. Вычислить значение функции в точке х = X*. 1.Х* = 1.5 i 0 1 2 3 4 xi 0.0 1.0 2.0 3.0 4.0 fl 0.0 0.5 0.86603 1.0 0.86603
318 Глава 3. Приближение функций. Численное дифференцирование... 2.Х* = 1.5 i 0 1 2 3 4 xi 0.0 1.0 2.0 3.0 4.0 fi 1.0 0.86603 0.5 0.0 -0.5 3. Х* = 1.5 i 0 1 2 3 4 Xi 0.0 0.9 1.8 2.7 3.6 fi 0.0 0.36892 0.85408 1.7856 6.3138 4.Х* = 2.66666667 i 0 1 2 3 4 Xi 1.0 1.9 2.8 3.7 4.6 fi 2.4142 1.0818 0.50953 0.11836 -0.24008 5. X* = 0.8 i 0 1 2 3 4 xi fi 0.1 -2.3026 0.5 -0.69315 0.9 -0.10536 1.3 0.26236 1.7 0.53063 6. X* = -0.5 i 0 1 2 3 4 xi -2.0 -1.0 0.0 1.0 2.0 fi 0.13534 0.36788 1.0 2.7183 7.3891 7. X* = 3.0 i 0 1 2 3 4 xi 0.0 1.7 3.4 5.1 6.8 fi 0.0 1.3038 1.8439 2.2583 2.6077 8.Х* = 0.1 i 0 1 2 3 4 xi -0.4 -0.1 0.2 0.5 0.8 fi -0.41152 -0.10017 0.20136 0.52360 0.92730 9.Х* = 0.1 i 0 1 2 3 4 xi -0.4 -0.1 0.2 0.5 0.8 fi 1.9823 1.6710 1.3694 1.0472 0.64350
Задачи 319 10.Х* = -0.5 i 0 1 2 3 4 Xi -3.0 -1.0 1.0 3.0 5.0 fi -1.2490 -0.78540 0.78540 1.2490 1.3734 11.Х* = -0.5 i 0 1 2 3 4 xi -3.0 -1.0 1.0 3.0 5.0 fi 2.8198 2.3562 0.78540 0.32175 0.19740 12. X* = 0.8 i 0 1 2 3 4 Xi 0.0 0.5 1.0 1.5 2.0 fi 0.0 0.97943 1.8415 2.4975 2.9093 13.Х* = 1.5 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 fi 1.0 1.5403 1.5839 2.01 3.3464 14.Х* = 1.5 i 0 1 2 3 4 Xi 0.0 0.9 1.8 2.7 3.6 fi 0.0 0.72235 1.5609 2.8459 7.7275 15.Х* = 2.66666667 i 0 1 2 3 4 xi 1.0 1.9 2.8 3.7 4.6 fi 2.8069 1.8279 1.6091 1.5713 1.5663 16.Х* = 0.8 i 0 1 2 3 4 xi 0.1 0.5 0.9 1.3 1.7 fi -2.2026 -0.19315 0.79464 1.5624 2.2306 17.Х* = -0.5 i 0 1 2 3 4 xi -2.0 -1.0 0.0 1.0 2.0 fi -1.8647 -0.63212 1.0 3.7183 9.3891
320 Глава 3. Приближение функций. Численное дифференцирование... 18. X* = 3.0 i 0 1 2 3 4 Xi 0.0 1.7 3.4 5.1 6.8 fi 0.0 3.0038 5.3439 7.3583 9.4077 19.Х* = 0.1 i 0 1 2 3 4 xi -0.4 -0.1 0.2 0.5 0.8 fi -0.81152 -0.20017 0.40136 1.0236 1.7273 20.Х* = 0.1 i 0 1 2 3 4 Xi -0.4 -0.1 0.2 0.5 0.8 fi 1.5823 1.5710 1.5694 1.5472 1.4435 21.Х* = -0.5 i 0 1 2 3 4 Xi -3.0 -1.0 1.0 3.0 5.0 fi -4.2490 -1.7854 -1.7854 4.2490 6.3734 22. X* = -0.5 i 0 1 2 3 4 Xi -3.0 -1.0 1.0 3.0 5.0 fi -0.18016 1.3562 1.7854 3.3218 5.1974 23. X* = 0.8 i 0 1 2 3 4 xi 0.1 0.5 0.9 1.3 1.7 fi 10.0 2.0 1.1111 0.76923 0.58824 24. X* = 0.8 i 0 1 2 3 4 xi 0.1 0.5 0.9 1.3 1.7 fi 100.0 4.0 1.2346 0.59172 0.34602 25. X* = 0.8 i 0 1 2 3 4 xi 0.1 0.5 0.9 1.3 1.7 fi 10.1 2.5 2.0111 2.0692 2.2882
Задачи 321 26. X* = 0.8 i 0 1 2 3 4 Xi 0.1 0.5 0.9 1.3 1.7 fi 100.01 4.2500 2.0446 2.2817 3.2360 27.Х* = 1.5 i 0 1 2 3 4 xi 0.0 1.0 2.0 3.0 5.0 fi 0.0 0.26180 0.90690 1.5708 1.3090 28.Х* = 1.5 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 5.0 fi 0.0 0.45345 0.52360 0.0 -2.2672 29. X* = -0.5 i 0 1 2 3 4 xi -2.0 -1.0 0.0 1.0 2.0 fi -0.27067 -0.36788 0.0 2.7183 14.778 30. X* = -0.5 i 0 1 2 3 4 xi -1.2 -0.7 -0.2 0.3 0.8 fi 0.43372 0.24333 0.03275 0.12149 1.4243 3.3. Для таблично заданной функции путем решения нормальной си- стемы МНК найти приближающие многочлены первой (а) и второй (б) степени. Для каждого из приближающих многочленов вычислить сумму квадратов ошибок Ф. Построить графики приближаемой функции и при- ближающих многочленов. 1. i 0 1 2 3 4 5 xi -0.0 0.0 1.0 2.0 3.0 4.0 Vi -0.5 0.0 0.5 0.86603 1.0 0.86603 2. i 0 1 2 3 4 5 xi -1.0 0.0 1.0 2.0 3.0 4.0 Vi 0.86603 1.0 0.86603 0.50 0.0 -0.50
322 Глава 3. Приближение функций. Численное дифференцирование... 3. i 0 1 2 3 4 5 Xi -0.9 0.0 0.9 1.8 2.7 3.6 У, -0.36892 0.0 0.36892 0.85408 1.7856 6.3138 4. i 0 1 2 3 4 5 xi 1.0 1.9 2.8 3.7 4.6 5.5 yi 2.4142 1.0818 0.50953 0.11836 -0.24008 -0.66818 5. i 0 1 2 3 4 5 Xi 0.1 0.5 0.9 1.3 1.7 2.1 У, -2.3026 -0.69315 -0.10536 0.26236 0.53063 0.74194 6. i 0 1 2 3 4 5 Xi -3.0 -2.0 -1.0 0.0 1.0 2.0 У, 0.04979 0.13534 0.36788 1.0 2.7183 7.3891 7. i 0 1 2 3 4 5 Xi 0.0 0.2 0.4 0.6 0.8 1.0 У, 0.1 1.0032 1.0512 1.2592 1.8192 3.0 8. i 0 1 2 3 4 5 xi -0.7 -0.4 -0.1 0.2 0.5 0.8 yi -0.7754 -0.41152 -0.10017 0.20136 0.5236 0.9273 9. i 0 1 2 3 4 5 xi -0.7 -0.4 -0.1 0.2 0.5 0.8 У, 2.3462 1.9823 1.671 1.3694 1.0472 0.6435 10. i 0 1 2 3 4 5 xi -5.0 -3.0 -0.1 1.0 3.0 5.0 У, -1.3734 -1.249 -0.7854 0.7854 1.249 1.3734
Задачи 323 11. i 0 1 2 3 4 5 Xi -5.0 -3.0 -0.1 1.0 3.0 5.0 У, 2.9442 2.8198 2.3562 0.7854 0.32175 0.1974 12. i 0 1 2 3 4 5 xi -1.0 0.0 1.0 2.0 3.0 4.0 yi -1.8415 0.0 1.8415 2.9093 2.1411 3.2432 13. i 0 1 2 3 4 5 Xi -1.0 0.0 1.0 2.0 3.0 4.0 У, -0.4597 1.0 1.5403 1.5839 2.010 3.3464 14. i 0 1 2 3 4 5 Xi -0.9 0.0 0.9 1.8 2.7 3.6 У, -1.2689 0.0 1.2689 2.6541 4.4856 9.9138 15. i 0 1 2 3 4 5 Xi 1.0 1.9 2.8 3.7 4.6 5.5 У, 3.4142 2.9818 3.3095 3.8184 4.3599 4.8318 16. i 0 1 2 3 4 5 xi 0.1 0.5 0.9 1.3 1.7 2.1 yi -2.2026 -0.19315 0.79464 1.5624 2.2306 2.8419 17. i 0 1 2 3 4 5 xi -3.0 -2.0 -1.0 0.0 1.0 2.0 У, -2.9502 -1.8647 -0.63212 1.0 3.7183 9.3891 18. i 0 1 2 3 4 5 xi 0.0 1.7 3.4 5.1 6.8 8.5 У, 0.0 3.0038 5.2439 7.3583 9.4077 11.415
324 Глава 3. Приближение функций. Численное дифференцирование... 19. i 0 1 2 3 4 5 Xi -0.7 -0.4 -0.1 0.2 0.5 0.8 У, -1.4754 -0.81152 -0.20017 0.40136 1.0236 1.7273 20. i 0 1 2 3 4 5 xi -0.7 -0.4 -0.1 0.2 0.5 0.8 yi 1.6462 1.5823 1.571 1.5694 1.5472 1.4435 21. i 0 1 2 3 4 5 Xi -5.0 -3.0 -0.1 1.0 3.0 5.0 У, -6.3734 -4.249 -1.7854 1.7854 4.249 6.3734 22. i 0 1 2 3 4 5 Xi -5.0 -3.0 -0.1 1.0 3.0 5.0 У, -2.0558 -0.18016 1.3562 1.7854 3.3218 5.1974 23. i 0 1 2 3 4 5 Xi 0.1 0.5 0.9 1.3 1.7 2.1 У, 10 2.0 1.1111 0.76923 0.58824 0.47619 24. i 0 1 2 3 4 5 xi 0.1 0.5 0.9 1.3 1.7 2.1 yi 100 4.0 1.2346 0.59172 0.34602 0.22676 25. i 0 1 2 3 4 5 xi 0.1 0.5 0.9 1.3 1.7 2.1 Vi 10.1 2.5 2.0111 2.0692 2.2882 2.5762 26. i 0 1 2 3 4 5 xi 0.1 0.5 0.9 1.3 1.7 2.1 У{ 100.01 4.250 2.0446 2.2817 3.236 4.6368
Задачи 325 27. г 0 1 2 3 4 5 -1.0 0.0 1.0 2.0 3.0 5.0 yi 0.5 0.0 0.5 1.7321 3.0 2.5 28. i 0 1 2 3 4 5 xi -1.0 0.0 1.0 2.0 3.0 5.0 yi -0.86603 0.0 0.86603 1.0 0.0 -4.3301 29. i 0 1 2 3 4 5 xi -3.0 -2.0 -1.0 0.0 1.0 2.0 yi -0.14936 -0.27067 -0.36788 0.0 2.7183 14.778 30. i 0 1 2 3 4 5 xi -1.7 -1.2 -0.7 -0.2 0.3 0.8 Vi 0.52796 0.43372 0.24333 0.03275 0.12149 1.4243 3.4. Вычислить первую и вторую производную от таблично заданной функции г/г =/(хг), г = 0,1,2, 3, 4, в точке х = X*. 1.Х* =1.0 i 0 1 2 3 4 xi -1.0 0.0 1.0 2.0 3.0 У{ -0.5 0.0 0.50 0.86603 1.0 2.Х* =1.0 i 0 1 2 3 4 xi -1.0 0.0 1.0 2.0 3.0 Vi -0.5 0.0 0.5 0.86603 1.0 3. Х* = 2.0 i 0 1 2 3 4 xi yi 1.0 0.0 1.5 0.40547 2.0 0.69315 2.5 0.91629 3.0 1.0985 4.Х* = 0.2 i 0 1 2 3 4 xi 0.0 0.1 0.2 0.3 0.4 У{ 1.0 1.1052 1.2214 1.3499 1.4918
326 Глава 3. Приближение функций. Численное дифференцирование... 5.Х* = 2.0 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 У, 0.0 1.0 1.4142 1.7321 2.0 6. X* = 0.2 i 0 1 2 3 4 Xi -0.2 0.0 0.2 0.4 0.6 У, -0.20136 0.0 0.20136 0.41152 0.64350 7.Х* = 0.2 i 0 1 2 3 4 xi -0.2 0.0 0.2 0.4 0.6 yi 1.7722 1.5708 1.3694 1.1593 0.9273 8.Х* =1.0 i 0 1 2 3 4 xi -1.0 0.0 1.0 2.0 3.0 yi -0.7854 0.0 0.7854 1.1071 1.249 9.Х* =1.0 i 0 1 2 3 4 xi yi -1.0 2.3562 0.0 1.5708 1.0 0.7854 2.0 0.46365 3.0 0.32175 10.Х* =1.0 i 0 1 2 3 4 xi 0.0 0.5 1.0 1.5 2.0 Vi 0.0 0.97943 1.8415 2.4975 2.9093 И.Х*=1.0 i 0 1 2 3 4 xi 0.0 0.5 1.0 1.5 2.0 У{ 1.0 1.3776 1.5403 1.5707 1.5839 12.Х* = 0.2 i 0 1 2 3 4 xi -1.0 -0.4 0.2 0.6 1.0 Vi -1.4142 -0.55838 0.2787 0.84008 1.4142
Задачи 327 13.Х* = 0.8 i 0 1 2 3 4 Xi 0.2 12.906 0.5 5.5273 0.8 3.8777 1.1 3.2692 1.4 3.0319 14.Х* = 3.0 i 0 1 2 3 4 xi 1.0 2.0 3.0 4.0 5.0 yi 1.0 2.6931 4.0986 5.3863 6.6094 15.Х* = 0.4 i 0 1 2 3 4 Xi 0.0 0.2 0.4 0.6 0.8 У, 1.0 1.4214 1.8918 2.4221 3.0255 16. Х* = 2.0 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 У, 0.0 2.0 3.4142 4.7321 6.0 17.Х* = 0.2 i 0 1 2 3 4 Xi -0.2 0.0 0.2 0.4 0.6 У, -0.40136 0.0 0.40136 0.81152 1.2435 18. Х* = 0.2 i 0 1 2 3 4 xi -0.2 0.0 0.2 0.4 0.6 yi 1.5722 1.5708 1.5694 1.5593 1.5273 19.Х* =1.0 i 0 1 2 3 4 xi -1.0 0.0 1.0 2.0 3.0 Vi -1.7854 0.0 1.7854 3.1071 4.249 20.Х* =1.0 i 0 1 2 3 4 xi yi -1.0 1.3562 0.0 1.5708 1.0 1.7854 2.0 2.4636 3.0 3.3218
328 Глава 3. Приближение функций. Численное дифференцирование... 21.Х* = 2.0 i 0 1 2 3 4 Xi 1.0 1.5 2.0 2.5 3.0 У, 1.0 0.66667 0.50 0.40 0.33333 22.Х* =1.4 i 0 1 2 3 4 xi 1.0 1.2 1.4 1.6 1.8 yi 1.0 0.69444 0.5102 0.39062 0.30864 23.Х* = 2.0 i 0 1 2 3 4 Xi 1.0 1.5 2.0 2.5 3.0 У, 2.0 2.1667 2.5 2.90.40 3.3333 24.Х* =1.4 i 0 1 2 3 4 Xi 1.0 1.2 1.4 1.6 1.8 У, 2.0 2.1344 2.4702 2.9506 3.5486 25.Х* = 2.0 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 У, 0.0 0.5 1.7321 3.0 3.4641 26. Х* = 2.0 i 0 1 2 3 4 xi 0.0 1.0 2.0 3.0 4.0 yi 0.0 0.86603 1.0 0.0 -2.0 27.Х* = 0.0 i 0 1 2 3 4 xi -1.0 -0.5 0.0 0.5 1.0 Vi -0.36788 -0.30327 0.0 0.82436 2.7183 28. Х* = 0.4 i 0 1 2 3 4 xi 0.0 0.2 0.4 0.6 0.8 У{ 0.0 0.048856 0.23869 0.65596 1.4243
Задачи 329 29.Х* =1.0 i 0 1 2 3 4 xi -1.0 0.0 1.0 2.0 3.0 yi -0.5 0.0 0.5 0.86603 1.0 30. Х* = 2.0 i 0 1 2 3 4 Xi 0.0 1.0 2.0 3.0 4.0 У, 0.0 0.5 0.86603 1.0 0.86603 X 3.5. Вычислить определенный интеграл F = J ydx методами прямоу- гольников, трапеций, Симпсона с шагами hr, h2. Уточнить полученные значения, используя метод Рунге — Ромберга. Оценить погрешность методов интегрирования, используя формулы (3.28), (3.30), (3.33). № Функция x0 Xi hi 1 X У~2х + 5 -1 1 0.5 0.25 2 X У= . 42 (3x + 4) 0 4 1.0 0.5 3 X y = T (3x + 4) -1 1 0.5 0.25 4 3x+ 4 y- 2x + l -2 2 1.0 0.5 5 1 У (2x + 7)(3x+4) -1 1 0.5 0.25 6 _ x У (2x + 7)(3x+4) -1 1 0.5 0.25 7 1 У 3x2 + 4x + 2 -2 2 1.0 0.5 8 1 y~ ) 1 x2 + i -2 2 1.0 0.5 9 X У~ x2 + 9 0 2 0.5 0.25
330 Глава 3. Приближение функций. Численное дифференцирование... Продолжение табл. № Функция *0 Xi Л2 10 _ X2 У~ х2 + 16 0 2 0.5 0.25 11 1 У х3 + 64 -2 2 1.0 0.5 12 X У = Ч о х3 + 8 -1 1 0.5 0.25 13 X2 У~ х3-21 -2 2 1.0 0.5 14 1 У~ х4+16 0 2 0.5 0.25 15 X у=—, х4+81 0 2 0.5 0.25 16 _ X2 //“х4+256 0 2 0.5 0.25 17 1 У~ 256-х4 -2 2 1.0 0.5 18 1 У = .с , 16-х4 -1 1 0.5 0.25 19 _ X2 У 625-х4 0 4 1.0 0.5 20 4х у= 4 + Зх 1 5 1.0 0.5 21 1 5 1.0 0.5 22 г/ = хд/2х + 3 -1 1 0.5 0.25 23 1 ^(2х + 7)(3х+ 4) 0 4 1.0 0.5 24 г/ = л/16-х2 -2 2 1.0 0.5 25 y = y/i9-x2 -2 2 1.0 0.5 26 г/ = х2>/зб-х2 1 5 1.0 0.5
Ответы 331 Окончание табл. № Функция х. Xi ht Л2 27 у = \/9 + х2 1 5 1.0 0.5 28 y = x3yj4 + x2 1 5 1.0 0.5 29 у = у]х2-36 6.5 8.5 0.5 0.25 30 у = х3^х2 -49 7.5 9.5 0.5 0.25 Ответы 3.1. Вариант а б И**) Л(г/(Х*)) И**) Л(г/(Х*)) 1 0.70695 0.00016 0.70685 0.00026 2 0.70589 0.00122 0.70481 0.00230 3 0.64461 0.02357 0.58525 0.08293 4 0.55798 0.01938 0.57350 0.00385 5 -0.20778 0.01536 -0.19690 0.02624 6 0.59108 0.01545 0.58395 0.02258 7 1.75178 0.01973 1.77471 0.04266 8 0.10006 0.00011 0.10009 0.00007 9 1.47074 0.00011 1.47070 0.00007 10 -0.41000 0.05365 -0.41000 0.05365 И 1.98079 0.05365 1.98079 0.05365 12 1.49129 0.00122 1.48995 0.00255 13 1.49129 0.00122 1.49021 0.00230 14 1.23366 0.02357 1.17430 0.08293 15 2.15155 0.06589 2.20059 0.11494 16 0.59964 0.02278 0.63411 0.05725 17 0.09108 0.01545 0.08395 0.02258 18 4.75178 0.01973 4.77471 0.04266 19 0.20006 0.00011 0.20009 0.00007 20 1.57074 0.00011 1.57070 0.00007 21 -0.91000 0.05365 -0.91000 0.05365 22 1.48079 0.05365 1.48079 0.05365 23 1.02564 0.22436 0.69930 0.55070 24 -1.83213 3.39463 -6.65852 8.22102 25 1.82564 0.22436 1.49930 0.55070 26 -1.19213 3.39463 -6.01852 8.22102 27 0.55922 0.00386 0.56229 0.00693 28 0.54959 0.00577 0.54336 0.01200 29 -0.35991 0.05664 -0.38708 0.08382 30 0.14363 0.00807 0.13721 0.01442
332 Глава 3. Приближение функций. Численное дифференцирование... 3.2. Ва- ри- ант Отрезок Коэффициенты сплайна /(х) Ж*) а b С d 1 [1,2] 0.5 0.451808 -0.0722874 -0.0134956 0.706145 2 [1,2] 0.866025 -0.239148 -0.157761 0.03008835 0.710872 3 [1,2] 0.368919 0.550968 0.235096 -0.275910 0.724539 4 [1.9, 2.8] 1.08179 -1.05544 0.708373 -0.269070 0.567736 5 [0.5, 0.9] -0.693147 2.72502 -4.86964 4.32685 -0.197082 6 [-1.0, 0.0] 0.367879 0.396883 0.246509 -0.0112712 0.626539 7 [1.7, 3.4] 1.30384 0.535474 -0.204257 0.0447927 1.75317 8 [-0.1, 0.2] -0.100167 1.02012 -0.0885522 0.128102 0.101339 9 [-0.1, 0.2] 1.67096 -1.02012 0.0885522 -0.128102 1.46946 10 [-1,1] -0.785398 0.601405 0.277186 -0.0925945 -0.426974 11 [-1,1] 2.35619 -0.601405 -0.277186 0.0925945 1.99777 12 [0.5, 1] 0 979426 1.87451 -0.253037 -0.0955856 1.51642 13 [1,2] 1.54030 0.252035 -0.432401 0.223917 1.58621 14 [0.9, 1.8] 0.722349 0.943667 0.235096 -0.275910 1.31359 15 [1.9, 2.8] 1.82792 -0.662744 0.708373 -0.269070 1.61493 16 [0.5, 0.9] -0.193147 3.72502 -4.86964 4.32685 0.602918 17 [-1,0] -0.632121 1.39688 0.246509 -0.0112712 0.126539 18 [1.7, 3.4] 3.00384 1.53547 -0.204257 0.0447927 4.75317 19 [-0.1, 0.2] -0.200167 2.02012 -0.0885522 0.128102 0.201339 20 [-0.1, 0.2] 1.57096 -0.020121 0.0885522 -0.128102 1.56946 21 [-1,1] -1.78540 1.60140 0.277186 -0.0925945 -0 926974 22 [-1,1] 1.35619 0.398595 -0.277186 0.0925945 1.49777 23 [0.5, 0.9] 2.0 -10.6572 35.0356 -34.8704 1.01454 24 [0.5, 0.9] 4.0 -115.855 465.544 -482.977 -1.89787 25 [0.5, 0.9] 2.5 -9.65719 35.0356 -34.8704 1.81454 26 [0.5, 0.9] 4.25 -114.912 466.830 -483.335 -1.25895 27 [1,2] 0.261799 0.445714 0.275873 -0.0764867 0.544064 28 [1,2] 0.453450 0.317090 -0.204539 -0.042402 0.55556 29 [-1,0] -0.367879 0.149801 0.370514 -0.152435 -0.219405 30 [-0.7, -0.2] 0.243327 -0.401208 -0.0612669 0.0427454 0.160976 3.3. Ва- ри- ант а б а0 a j Ф ао a j а2 Ф 1 0.01836 0.29132 0.27082 0.07353 0.53957 -0.08275 0.01518 2 0.89232 -0.29132 0.27082 0.94749 -0.04307 -0.08275 0.01518 3 -0.19013 1.24620 8.67875 -0.46449 -0.12561 0.50808 2.35562 4 2.57557 -0.62758 0.47014 3.54759 -1.39808 0.11854 0.12596 5 -1.77444 1.37583 0.98535 -2.46043 3.40610 -0.92285 0.17139 6 2.58735 1.28792 11.4547 1.21263 1.80344 0.51552 1.53299 7 0.61813 1.80800 0.81696 1.09051 -1.73486 3.54286 0.06720 8 0.00553 1.10670 0.00394 -0.00699 1.10188 0.04814 0.00324
Ответы 333 Окончание табл. Ва- ри- ант а б а0 Ф а0 а2 Ф 9 1.56527 -1.10670 0.00394 1.57779 -1.10188 -0.04814 0.00324 10 0.0 0.32570 0.70071 0.0 0.32570 0.0 0.70071 11 1.57080 -0.32570 0.70071 1.57080 -0.32570 0.0 0.70071 12 0.00974 1.02613 2.80932 0.18993 1.83696 -0.27028 0.08211 13 0.55616 0.63154 0.78843 0.56894 0.68904 -0.01917 0.77471 14 -0.19013 2.24620 8.67875 -0.46450 0.87439 0.50808 2.35562 15 2.57557 0.37242 0.47014 3.54759 -0.39808 0.11854 0.12596 16 -1.77444 2.37583 0.98534 -2.46043 4.40610 -0.92285 0.17139 17 2.58735 2.28792 11.4547 1.21263 2.80344 0.51552 1.53299 18 0.47130 1.31770 0.48722 0.12945 1.61933 -0.03549 0.09457 19 0.00553 2.10670 0.00394 -0.00699 2.10188 0.04814 0.00324 20 1.56527 -0.10670 0.00394 1.57779 -0.10188 -0.04814 0.00324 21 0.0 1.32570 0.70071 0.0 1.32570 0.0 0.70071 22 1.57080 0.67430 0.70071 1.57080 0.67430 0.0 0.70071 23 6.59193 -3.72830 30.2541 10.0988 -14.1074 4.71778 8.98184 24 57.8416 -36.4622 4408.67 98.4497 -156.648 54.6298 1556.37 25 6.59193 -2.72830 30.2541 10.0988 -13.1074 4.71778 8.98184 26 57.0983 -34.2622 4514.05 98.4497 -156.648 55.6298 1556.37 27 0.56886 0.48189 2.03722 0.56886 0.59752 -0.02891 1.96702 28 0.32843 -0.53007 12.8456 0.32843 1.02130 -0.38784 0.21008 29 3.98435 2.39920 78.7506 0.54779 3.68791 1.28871 16.7486 30 0.54968 0.19055 1.12040 0.24489 0.71140 0.57871 0.33895 3.4. Вари- ант Первая производная Вторая производная левосторонняя правосторонняя центральная 1 0.5 0.366025 0.433013 -0.133975 2 0.5 0.366025 0.433013 -0.133975 3 0.575364 0.446287 0.510826 -0.258154 4 1.16232 1.28456 1.22344 1.22242 5 0.414214 0.317837 0.366025 -0.096376 6 1.00679 1.05079 1.02879 0.220025 7 -1.00679 -1.05079 -1.02879 -0.220025 8 0.785398 0.321751 0.553574 -0.463648 9 -0.785398 -0.321751 -0.553574 0.463648 10 1.72409 1.31205 1.51807 -0.824086 И 0.325439 0.060870 0.193155 -0.529139 12 1.39514 1.40344 1.40012 0.016598 13 -5.49885 -2.02839 -3.76362 11.5682 14 1.40547 1.28768 1.34657 -0.117783 15 2.35211 2.65147 2.50179 1.49680 16 1.41421 1.31784 1.36603 -0.096376
334 Глава 3. Приближение функций. Численное дифференцирование... Окончание табл. Вари- ант Первая производная Вторая производная левосторонняя правосторонняя центральная 17 2.00679 2.05079 2.02879 0.220025 18 -0.006790 -0.050795 -0.028792 -0.220025 19 1.78540 1.32175 1.55357 -0.463648 20 0.214602 0.678249 0.446426 0.463648 21 -0.333333 -0.2 -0.266667 0.266667 22 -0.921202 -0.597895 -0.759549 1.61653 23 0.666667 0.800000 0.733333 0.266667 24 1.67880 2.40210 2.04045 3.61653 25 1.23205 1.26795 1.25000 0.035898 26 0.13398 -1.0 -0.433013 -1.13397 27 0.606531 1.64872 1.12763 2.08438 28 0.949179 2.08635 1.51777 5.68587 29 0.50 0.366025 0.433013 -0.133975 30 0.366025 0.133975 0.25 -0.232051 3.5. Дается точное значение интеграла с шестью значащими цифрами. 1 -0.0591223 И 0.0626407 21 0.174347 2 0.0706994 12 -0.00629484 22 0.4 3 -0.122449 13 -0.203636 23 0.417972 4 1.77733 14 0.108372 24 15.3058 5 0.104471 15 0.0232347 25 0.0 6 -0.041303 16 0.0101483 26 186.625 7 1.85742 17 0.0158274 27 17.2998 8 0.785398 18 0.0 28 701.285 9 0.183862 19 0.0423871 29 8.85296 10 0.145410 20 0.531219 30 6165.78
Глава 4 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В настоящем разделе рассматриваются различные методы решения задачи Коши и краевой задачи для обыкновенных дифференциальных уравнений. Под- робно изучаются метод Эйлера и ошибки, возникающие при реализации метода на ЭВМ, семейство одношаговых методов Рунге — Кутты, многошаговые методы, методы решения начальной задачи для дифференциальных уравнений с запазды- вающим аргументом. При решении краевой задачи применяются метод стрельбы и разностный метод. 4.1. Численные методы решения задачи Коши 4.1.1. Задача Коши для одного обыкновенного дифференциального уравнения Рассматривается задача Коши для одного дифференциального уравнения первого порядка, разрешенного относительно произ- водной y' = f(x,y), у(х0) = у0. (4.1) Требуется найти решение на отрезке [а, Ь\, здесь х0 = а. Введем разностную сетку на отрезке [а, Ь\\ ={xk=x0 + hk], h = |Z> - a| / N, h = 0, 1.N. Точки xk называются узлами разностной сетки, расстояние h между узлами — шагом разностной сетки, а совокупность задан- ных в узлах сетки значений какой-либо величины называется сеточной функцией y(h) = {yk,k = 0, 1,..., N}. Приближенное решение задачи Коши (4.1) будем искать чис- ленно в виде сеточной функции уйй. Для оценки погрешности приближенного численного решения уФ) будем рассматривать это решение как элемент (N + 1)-мерного линейного векторного пространства с какой-либо нормой. В качестве погрешности
336 Глава 4. Численные методы решения обыкновенных дифференциальных... решения принимается норма элемента этого пространства §(й) г/й) где [г/ —точное решение задачи (4.1) в узлах расчетной сетки. Таким образом, погрешность ей ||^|| • 4.1.2. Одношаговые методы Метод Эйлера. Явный метод Эйлера играет важную роль в теории численных методов решения обыкновенных диффе- ренциальных уравнений (ОДУ), хотя и не часто используется в практических расчетах из-за невысокой точности. Вывод рас- четных соотношений для этого метода может быть произведен несколькими способами: с помощью геометрической интерпре- тации, с использованием разложения в ряд Тейлора, конечно- разностным методом (с помощью разностной аппроксимации производной), квадратурным способом (с использованием эквивалентного интегрального уравнения). Рассмотрим вывод соотношений метода Эйлера геометри- ческим способом (рис. 4.1). Пусть решение в узле х0 известно из начальных условий. Рассмотрим процедуру получения реше- ния в узле хг. График функции y(h\ которая является решением задачи Коши (4.1), представляет собой гладкую кривую, проходящую через точку (х0, г/0) согласно условию у(х0) = у0, и имеет в этой точке касательную. Тангенс угла наклона касательной к оси Ох равен значению производной от решения в точке х0 и равен значению правой части дифференциального уравнения в точке (х0, Уо) согласно выражению г/'(х0) =/(х0, г/0). В случае небольшого шага разностной сетки h график функции и график касательной не успевают существенно разойтись друг от друга и можно в каче- стве значения решения в узле хг принять значение касательной уг вместо значения неизвестного точного решения у{ ист. При этом
4.1. Численные методы решения задачи Коши 337 допускается погрешность \у} - у} ист|, геометрически представлен- ная отрезком CD на рис. 4.1. Из прямоугольного треугольника АВС находим СВ = BA tg (< CAB) или Ay = hy'(x(l). Учитывая, что Ay = у\ - у0, и заменяя производную у'(х(>) на правую часть дифференциального уравнения, получаем соотношение У1=Уо + 1г/(хо>Уо)- Считая теперь точку (хг, уг) начальной и повторяя все пре- дыдущие рассуждения, получим значение у2 в узле х2. Переход к произвольным индексам дает формулу метода Эйлера: %+i=%+V(^.%)- (4.2) Погрешность метода Эйлера. На каждом шаге метода Эйлера допускается локальная погрешность по отношению к точному решению, график которого проходит через крайнюю левую точку отрезка. Геометрически локальная погрешность изображается отрезком CD на первом шаге, CD' — на втором и т.д. Кроме того, на каждом шаге, начиная со второго, накапливается глобальная погрешность, представляющая собой разность между численным решением и точным решением исходной начальной задачи (не локальной). Глобальная погрешность на втором шаге изображена отрезком С'Е' на рис. 4.1. Локальная погрешность на каждом шаге выражается соотно- шением , ч в котором е \xk _ ь xk\. Глобальная погрешность метода Эйлера е| Ch в окрестности h = 0 ведет себя как линейная функция, и, следовательно, метод Эйлера имеет первый порядок точности относительно шага h. Неявный метод Эйлера. Если на правой границе интервала использовать точное значение производной от решения (т.е. тан- генса угла наклона касательной), то получается неявный метод Эйлера первого порядка точности: Ум=Ук+ЩхМ’Ум\ xk+i = xi+h. (4.3) В общем случае нелинейное относительно у^ + j уравнение (4.3) численно решается с помощью одного из методов, описан- ных в разделе 2, например методом Ньютона или его модифика- циями.
338 Глава 4. Численные методы решения обыкновенных дифференциальных... Метод Эйлера — Коши. В данном методе на каждом интер- вале расчет проводится в два этапа. На первом (этап прогноза) определяется приближенное решение на правом конце интервала по методу Эйлера, на втором (этап коррекции) уточняется значе- ние решения на правом конце с использованием полусуммы тан- генсов углов наклона на концах интервала: Ум = Уь + —--------2----’ <4-4) xM = xk + h- Этот метод имеет второй порядок точности. Неявный метод Эйлера — Коши. Если на правой границе интервала использовать точное значение производной к решению (т.е. тангенса угла наклона касательной), то получается неявный метод Эйлера — Коши (метод трапеций) второго порядка точ- ности: _ h(f(xk,yk) + f(xk+l,yk+l)) _ Ум Ум 2 ’ хм xk+ "• Метод Эйлера — Коши с итерационной обработкой. Комбина- ция формул (4.3), (4.4) и (4.5) дает метод формально второго порядка точности, но более точного в смысле абсолютной вели- чины погрешности приближенного решения, чем метод Эйлера — Коши (4.4): =%+¥(**,%), h[f(xk,yk) + f\xk+i,y^]\ y(kli = Ук+ J(4-6) xM = xk+h- В формуле (4.6) правые верхние индексы в круглых скобках обозначают номер итерации, при этом начальное приближение И+1 определяется по методу Эйлера. Метод Эйлера — Коши с итерационной обработкой представляет собой реализацию метода простой итерации для решения нелинейного уравнения (4.5) в неявном методе Эйлера — Коши. Выполнять простые ите- рации до полной сходимости нет смысла, поэтому рекомендуется выполнять 3—4 итерации.
4.1. Численные методы решения задачи Коши 339 Первый улучшенный метод Эйлера. Данный метод исполь- зует расчет приближенного значения производной от решения в точке на середине расчетного интервала. Значение произво- дной в середине получают применением явного метода Эйлера на половинном шаге по х: *4+1/2-xk + 2’ %+1/2 + д/(*4’%)’ *4+1 = Xk+h, Ум = Ук + hf ( *4+1/2 > //4+1/2) • Данная модификация метода Эйлера имеет второй порядок точности. Метод Рунге — Кутты. Все рассмотренные выше явные методы являются вариантами методов Рунге — Кутты. Семейство явных методов Рунге — Кутты р-го порядка записывается в виде совокупности формул: Ум = Ук+^Ук> Kf =hf xk + а,/?, Ум = i=l Ук+^ЬуЧ 7=1 1 = 2, 3......p. (4-8) Параметры a,, by, ct подбираются так, чтобы значение yk +1 рас- считанное по соотношению (4.8), совпадало со значением разло- жения в точке xk + j точного решения в ряд Тейлора с погрешно- стью O(hP + !). Метод Рунге — Кутты третьего порядка точности. Один из методов Рунге — Кутты третьего порядка р 3, 0, а2 £ 3’ 2 1 а3 Д’ ^21 Д’ ^31 0’ ^32 о о 2 1 п 2’ С1 д’ с2 0’ сз имеет вид 3 4 Ум = Ук + ^Ук> 4 А% = дИ + 3^), K( = hf(xk, yk), Kb=hf^xk + ^h, ( 2 ^3 = bf\ xk + “ ук+^Ч Ук+^Ч (4-9)
340 Глава 4. Численные методы решения обыкновенных дифференциальных... Рунге — Кутты четвертого порядка р 4, О, а2 Метод Рунге — Кутты четвертого порядка точности. Метод 1 1 2 3 2 1 1 111 а4 = Ъ ^21 = 77’ ^31 = 0’ ^32 = 77’ ^41 = 0’ ^42 = ^43 = 77’ С1 = 77’ с2 = 77’ 2 2 2 о а 1 1 Со ---« Со -- 3 3 3 6 методов для решения задачи Коши: yk +1 = yk + Д^, является одним из самых широко используемых Kf=/z/(^, %). Kk2=hf^xk + Ui, yk + ^KfJ (4.10) K3=hf^ + ^’ % + K^=hf(xk+h, yk + K$). Контроль точности с выбором шага h. Основным способом контроля точности получаемого численного решения при реше- нии задачи Коши является применение методов, основанных на принципе Рунге — Ромберга — Ричардсона. Пусть yh — решение задачи Коши (4.1), полученное методом Рунге — Кутты р-го порядка точности с шагом h в точке х + 2/г. Пусть y2h — решение той же задачи в точке х + 2/г, полученное тем же методом, но с шагом 2/z. Тогда выражение (4.И) . yh - y2h и = yh + ---— 2р-1 аппроксимирует точное решение у(х + 2h) в точке х + 2hc(p + 1)-м порядком. Второе слагаемое в выражении (4.11) оценивает глав- ный член в погрешности решения yh, т.е. главный член Rh = = (yh ~ г/2й)/(2? - 1). Контроль точности может быть организован следующим образом. Выбирается значение шага h и дважды рассчи- тывается решение в точке (х + 2/г): один раз с шагом h, другой раз — с шагом 2/г. Рассчитывается величина Rh и сравнивается с заданной погрешностью е. Если Rh < е, то можно продолжать вычисления с тем же шагом, в противном случае необходимо вернуться к реше- нию в точке х, уменьшить шаг h и повторить вычисления.
4.1. Численные методы решения задачи Коши 341 Вычислительная «стоимость» такого контроля точности доста- точно велика, особенно для многостадийных методов. Поэтому можно использовать более грубый способ контроля правиль- ности выбора шага h. В случае метода Рунге — Кутты четвер- того порядка точности следует на каждом шаге h рассчитывать параметр @к = Кк-Кк ккх-кк (4Л2) Если величина ®k порядка нескольких сотых единицы, то рас- чет продолжается с тем же шагом, если ®k > 0.1, то шаг следует уменьшить, если же ®k < 0.01, то шаг можно увеличить. Таким образом с помощью определения величин ®k или Rh можно орга- низовать алгоритм выбора шага h для явного метода Рунге — Кутты. 4.1.3. Решение задачи Коши для системы обыкновенных дифференциальных уравнений Рассматривается задача Коши для системы дифференциаль- ных уравнений первого порядка, разрешенных относительно про- изводной: У[= ..г/„), y'i= ........уп\ Уп= /п(Х>У1>У2....Уп)> У 1(хо) = У(и< У 2.(хо) = У02> (4.13) У п(хо) = Уоп- Система (4.13) в более компактном виде записывается в век- торной форме следующим образом: У = F(x,y), у(хо) = Уо- (4.14) Здесь у(х) = (у{, у2, ... , Уп)т — вектор-столбец неизвестных функций, F = (j\, — , /и)г — вектор-функция правых частей. К векторному дифференциальному уравнению (4.14) можно при- менить все методы, рассмотренные выше в данном разделе (бла- годаря линейной структуре всех рассмотренных методов). При
342 Глава 4. Численные методы решения обыкновенных дифференциальных... этом в формулах (4.2)—(4.11) все величины векторные, кроме переменной х и шага h. Рассмотрим задачу Коши для системы двух ОДУ первого порядка, в которой уравнения записаны в развернутом виде У = f(x,y,z), z' = g(x,y,z), у(х0) = у0, (4.15) z(x0) = z0. Приведем формулы метода Рунге — Кутты четвертого порядка точности для решения системы (4.15): %+1 = % + А%- zk+i=zk + ^k’ A%=|(^+2Kf + 2^ + K|), &к=^ + 2%+2% + 1%), Ki=hf{xk, yk,zk), Lki=hg(xk, yk,zk), K%=hf[xk+^h, j Lk2=hg[xk + ±h, yk+LK*,zk + h^ (416) K3=hf^xk+^h’ yk + ^K2’Zk+^L2^ Lk3=hg^xk + ^h, yk + ^Kk,zk + ^Lk2^, K%=hf(xk+h, yk+K%,zk + I%), Lki=hg(xk+h, yk+K%,zk + I%). Контроль правильности выбора шага h в случае использо- вания метода Рунге — Кутты четвертого порядка точности для системы (4.15) может быть организован с помощью вычисления на каждом шаге h параметров Кк-Кк ©Ь Tk _ Tk ь2 ь3 (4.17) Кк-Кк2 ^-4
4.1. Численные методы решения задачи Коши 343 Если величины 0^, i = 1,2, порядка нескольких сотых единицы, то расчет продолжается с тем же шагом, если 0^ > 0.1, то шаг сле- дует уменьшить, если же 0^ <0.01, то шаг можно увеличить. 4.1.4. Решение задачи Коши для ОДУ второго и более высоких порядков Коши для ОДУ и-го порядка ставится следующим Задача образом: Ихо) = */о. у(хо) = Уо1’ (4.18) у"(хо) = Уо2. здесь г/от) 2,..., п. У(п %о) = */о(я 1)! dmy — производная т-го порядка от решения, т = 1, ахт Основной прием, используемый при решении задач типа (4.18), заключается в введении новых переменных и сведении задачи (4.8) для ОДУ высокого порядка к решению системы ОДУ первого порядка (4.13). Введем новые переменные = у', 22 = У", 7 _ ,.(п 1) zn i~y С ними задачу (4.8) можно переписать в виде системы п ОДУ первого порядка: [/ = 21, 2j=22, 22 = 23, zn 2 2И 1, 2И 1 —z/,Z|,...,zw j), (4.19) у(хй) = У^ 21(*о) = */О1. 22(хо) = Уо2<
344 Глава 4. Численные методы решения обыкновенных дифференциальных... Полученная система, состоящая из п ОДУ первого порядка с соответствующими начальными условиями, решается любым из описанных методов. Пусть необходимо решить задачу Коши для ОДУ второго порядка: y" = f(x,y,y'), у(х0) = у0, (4-20) y(x0) = y0i. Путем введения замены z = y' приведем (4.20) к системе У =2, z' = f(x,y,z), у(хо) = Уо> (4.21) z(x0) = y0i, которую можно решить, например, с использованием метода Рунге — Кутты четвертого порядка точности (4.16). Пример 4.1. Явным методом Эйлера с шагом h = 0.1 получить чис- ленное решение дифференциального уравнения у' = {у + х)2 с началь- ными условиями г/(0) = 0 на интервале [0, 0.5]. Численное решение срав- нить с точным решением у = tg(x) - х. Решение. Исходя из начальной точки х0 = 0, у0 = 0, рассчитаем значе- ние у{ в узле х{ = 0.1 по формулам (4.2): У1 = Уо + hf(x0,y0) = 0 + 0.1 • (0 + О)2 = 0. Аналогично получим решение в следующем узле х2 = 0.2: у2 = У\ + V(xi>//1)= 0 + 0.1 - (О + 0.1)2 =0.001. Продолжим вычисления и, введя обозначения Ayk = hf(x0, у0) и sk = |//ист(хД - yk\, где у[и:.г(х/;) — точное решение в узловых точках, получаемые результаты занесем в таблицу 4.1. Таблица 4.1 X У tyk //ист 0 0.000000000 0.000000000 0.000000000 0.000000000 0.0000 1 0.100000000 0.000000000 0.001000000 0.000334672 0.3347Е-03* 2 0.200000000 0.001000000 0.004040100 0.002710036 0.1710Е-02 3 0.300000000 0.005040100 0.009304946 0.009336250 0.4296Е-02 4 0.400000000 0.014345046 0.017168182 0.022793219 0.8447Е-02 5 0.500000000 0.031513228 0.046302490 0.1479Е-01 *3десь и далее запись вида 0.3347Е-03 означает 0.3347 • 10 3.
4.1. Численные методы решения задачи Коши 345 Решением задачи является табличная функция — таблица 4.2 (остав- лены 5 значащих цифр в каждом числе). Таблица 4.2 k 0 1 2 3 4 5 Xk 0.00000 0.1000 0.200000 0.3000000 0.400000 0.500000 Ук 0.00000 0.0000 0.001000 0.0050401 0.014345 0.031513 Пример 4.5. Решить задачу из примера 4.1 методом Эйлера — Коши (4-4). Решение. Исходя из начальных значений х0 = 0, у0 = 0, рассчитаем значение у{ в узле х{ = 0.1 по формулам (4.4): W(*o-*/o) = o + o-1'(O + O)2 = O’ /(х1,^1) = (0 + 0.1)2 = 0.01, г/i = г/о + О.57г(/(хо, у0) + /(хр^)) = 0 + 0.5 • 0.1 • (0 + 0.01) = 0.0005. Аналогично получим решение в остальных узлах. Продолжим вычисления и, введя обозначение Ayk = 0.5h(f(xk, yk) + f(xk + t, yk+l)), получаемые результаты занесем в таблицу 4.3. Таблица 4.3 k Xk Ук Ук //ист sk 0 0.0 0.000000000 0.000500000 0.000000000 0.000000000 1 0.1 0.000000000 0.00000 0.002535327 0.000334672 0.1653Е-03 2 0.2 0.003035327 1.510025Е-003 0.006778459 0.002710036 0.3253Е-03 3 0.3 0.009813786 7.157661Е-003 0.013594561 0.009336250 0.4775Е-03 4 0.4 0.023408346 1.941224Е-002 0.023615954 0.022793219 0.6151Е-03 5 0.5 0.047024301 4.133581Е-002 0.046302490 0.7218Е-03 Решением задачи является табличная функция — таблица 4.4 (оставлены 5 значащих цифр в каждом числе). Таблица 4.4 k 0 1 2 3 4 5 Xk 0.00000 0.100000 0.2000000 0.3000000 0.4000000 0.500000 Ук 0.00000 0.000500 0.0030353 0.0098138 0.023408 0.047024 Пример 4.3. Решить задачу из примера 4.1 первым улучшенным методом Эйлера (4.7). Решение. Стартуем из начальной точки х0 = 0, у0 = 0 и рассчитаем значение у1/2 в узле х1/2 = х0 + h/2 = 0.05 по формулам (4.4): //1/2 = Уп + |/(х0,//0) = 0 + у-' (° + °)2 = °-
346 Глава 4. Численные методы решения обыкновенных дифференциальных... Затем определим величину правой части (величину производной от решения) в середине интервала [х0, xt]: ) = (0+ 0.05)2 = 0.0025. Окончательно рассчитаем значение функции в узле У\ = % +V(^i/2.//i/2) = 0 + 0.1-0.0025 = 0.00025. Аналогично получим решение в остальных узлах. Продолжим вычисления и, введя обозначение Лг/;. = hf(xk +1/2, yk + 1/2), получаемые результаты занесем в таблицу 4.5. Таблица 4.5 k Xk yk Ук + 1/2 tyk //ист 4 0 0.0 0.000000000 0.000000000 0.000250000 0.000000000 0.000000000 1 0.1 0.000250000 0.0007525031 0.002272632 0.000334672 0.8467E-04 2 0.2 0.002522632 0.0045734025 0.006480762 0.002710036 0.1874E-03 3 0.3 0.009003393 0.0137775483 0.013233410 0.009336250 0.3329E-03 4 0.4 0.022236804 0.0311509998 0.023150628 0.022793219 0.5564E-03 5 0.5 0.045387432 0.046302490 0.9151E-03 Решением задачи является табличная функция — таблица 4.6 (оставлены 5 значащих цифр в каждом числе). Таблица 4.6 k 0 1 2 3 4 5 Xk 0.00000 0.100000 0.2000000 0.3000000 0.400000 0.500000 Ук 0.00000 0.000250 0.0025226 0.0090033 0.022237 0.045387 Пример 4.4. Решить задачу из примера 4.1 методом Рунге— Кутты четвертого порядка (4.10). Решение. Вычислим значения вспомогательных величин: Kp=V(^o. z/o) = o-i-(o+o)2 = o; ^=//о + |^1О=О + |-О = О, ( 1 1 ) ( 1 1 V K$=hfl x0 + -h, y0+-Kj> =0.1- 0 + —-0 + 0 + —-0.1 =0.00025; 1 1 yl = y0 + -K2° = 0 + - • 0.00025 = 0.000125, ( 2 1 ) ( 1 1 V K$=hf\x0 + -h, y0 + -K$ =0.1- 0 + --0.00025 + 0 + --0.1 = = 0.000251251;
4.1. Численные методы решения задачи Коши 347 г/З = уо + ко = о + 0.000251251 = 0.000251251, К» = hf(x0 + h, у0 + К|) = 0.1 • (0 + 0.000251251+0 + 0.1)2 = 0.001005031. Найдем приращение функции на первом интервале А/Л)=-И + 2К» + 2/<о + К?) = = -(о + 2-0.00025 + 2 • 0.000251251 + 0.001005031) = 0.000334588 и значение функции в первом узле у1=уо + Дуо=О + 0.000334588 = 0.000334588. Аналогично получим решение в остальных узлах — таблица 4.7. Таблица 4.7 k Xk у1 % &k ^ИСТ 0/1 0.0 0.0000000 0.000000000 0.000000 0.0000000 0/2 0.05 0.0000000 0.000250000 0/3 0.05 0.0001250 0.000251252 0/4 0.1 0.00025125 0.001005031 0.000334589 0.005006 1/1 0.1 0.000334589 0.001006703 0.00033467 0.8301Е-07 1/2 0.15 0.000837941 0.002275208 1/3 0.15 0.001472193 0.002294383 1/4 0.2 0.002628972 0.004105850 0.002375289 0.015116 2/1 0.2 0.002709878 0.004109129 0.002710036 0.1573Е-06 2/2 0.25 0.004764443 0.006490492 2/3 0.25 0.005955124 0.006551303 2/4 0.3 0.009261181 0.009564248 0.006626161 0.025535 3/1 0.3 0.009336039 0.009568879 0.009336250 0.2103Е-06 3/2 0.35 0.014120479 0.013258372 3/3 0.35 0.015965225 0.013393055 3/4 0.4 0.022729094 0.017869989 0.013456954 0.036504 4/1 0.4 0.022792993 0.017875391 0.022793219 0.2259Е-06 4/2 0.45 0.031730689 0.023206446 4/3 0.45 0.034396216 0.023463969 4/4 0.5 0.046256962 0.029839667 0.023509315 0.048306 5 0.5 0.046302308 0.046302490 0.1823Е-06 Решением задачи является табличная функция — таблица 4.8 (остав- лены 7 значащих цифр в каждом числе).
348 Глава 4. Численные методы решения обыкновенных дифференциальных... Таблица 4.8 k 0 1 2 3 4 5 Xk 0.00000 0.1000 0.200000 0.3000000 0.400000 0.500000 Ук 0.00000 0.000334589 0.002709878 0.009336039 0.02279299 0.04630231 Пример 4.5. На интервале [0, 1] с шагом h = 0.2 решить задачу Коши методом Рунге — Кутты четвертого порядка: (х2 + 1)г/' = 2хг/', И°)=1> /(о) = з. Численное решение сравнить с аналитическим решением г/ист=х3 + Зх + 1. Решение. Аналогично (4.18)—(4.21) введением новой переменной z = у' решение исходной начальной задачи для дифференциального уравнения второго порядка сводится к решению системы двух диффе- ренциальных уравнений первого порядка: У =z, , 2xz I х2 + 1 1/(0) = 1, z(0) = 3. Данную систему решим методом Рунге — Кутты с использованием формул (4.16). Вычислим значения вспомогательных величин: K1°=/z/(^o> 2/0,z0) = te0= 0.2-3 = 0.6; = Л.го) = /,|га = о.2.1±| = О; ( 1 ) ( 1 ) K2°=v х0 + jh, y0 + Kl>,z0 + I^ = 0.2- 3 + ^-0 = 0.6; Г 1 1 1 ) 2-(0 + 0.1)(з + (1/2)-0) i°2 = hg\ x0 + -h, y0 + -K?,z0 + -Z? = 0.2 • k Л k---->—) = \ 2 2 2 ) (0 + 0.1) +1 = 0.11881188; (2 1 1 ) ( 1 ) K§=/z/ x0 + -h, y0 + -K$,z0 + -L°2 =0.2- 3 + --0.1881188 = = 0.611881188;
4.1. Численные методы решения задачи Коши 349 Z°3=/Zg^o+|/Z, ^0 + ^K2>z0 + ^L2j = 2-(0 + 0.1)(3 + (1/2)-0.11881188) = 0.2 —---------------4-------------= 0.121164592; (0 + 0.1) +1 К» = /г/(х0 + Д у0 + K$,z0 + L°3) = 0.2• (3 + 0.12116459) = 0.62423292; п , , п п. (0 + 0.2)(3 + 0.121164592) I® =hg(x0+h, yo + K^,zo + I?3^ = O.2-------------------1 = (0 + 0.2) +1 = 0.240089584. Найдем приращения функций на первом интервале: Лг/О=|(ко+2КО + 2К3О+К4о) = = |(0.6 + 2 • 0.6 + 2 • 0.611881188 + 0.62423292) = 0.607999216, Az0=|(Z? + 2Z0+2Z03 + Z0) = = |(0.0 + 2-0.11881188 + 2-0.121164592 + 0.240089584) = 0.1200071 и значения функций в первом узле у{ = у0 + Лг/0 = 1 + 0.607999216 = 1.607999216, zt = z0 + Az0 = 3 + 0.1200071 = 3.1200071. Аналогично получим решения в остальных узлах, результаты вычислений занесем в таблицу 4.9. Таблица 4.9 k Ч Ук &k //ист 0 0.0 1.0000000 3.000000000 0.607999216 0.1200 1.000000000 0.00000 1 0.2 1.607999216 3.120007088 0.655995430 0.3600 1.607999216 0.784Е-06 2 0.4 2.263994646 3.480019051 0.751991317 0.6000 2.263994646 0.535Е-05 3 0.6 3.015985963 4.080024218 0.895987662 0.8400 3.015985963 0.140Е-04 4 0.8 3.911973624 4.920018746 1.087984366 1.080 3.911973624 0.264Е-04 5 1.0 4.999957990 6.000004180 5.000000000 0.420Е-04 Решением задачи является табличная функция — таблица 4.10 (оставлены 5 значащих цифр в каждом числе). Таблица 4.10 k 0 1 2 3 4 5 Xk Ук 0.00000 1.0000000 0.200000 1.607999216 0.4000000 2.263994646 0.6000000 3.015985963 0.8000000 3.911973624 1.000000 4.99995799
350 Глава 4. Численные методы решения обыкновенных дифференциальных... 4.1.5. Решение дифференциальных уравнений с запаздывающим аргументом Многие процессы в живой и неживой природе описываются моделями, представленными дифференциальными уравнениями с запаздывающими аргументами. Наиболее часто такие модели используют при исследовании динамики развития популяций, процесса кроветворения, динамики различных автогенераторов, механизмов изменения рыночной конъюнктуры и т.п. Решение подобных уравнений обладает определенной спецификой. Рассмотрим для простоты случай одного дифференциального уравнения с единственным запаздывающим аргументом а: y' = f(x,y(x), у(х-а)), (422) у(хо) = Уо- Пусть имеется решение в точке у^ = у(х^. Опишем процедуру нахождения решения в точке xk = xk + h модифицированным методом Эйлера (4.7) второго порядка точности. В этом методе надо использовать значение решения в точке xk и предваритель- ное решение в точке xk + = -Ч +h/2. Соответственно от этих точек следует брать запаздывание а, т.е. необходимо найти значе- ние решения в точках (xk - a), (xk + h/2 - а). Для примера опишем процедуру определения значения y(xk - а). Если (хк~ а) лежит левее начальной точки х0, то y(xk -а) опреде- ляется из начальных условий — в этом случае должно быть задано поведение решения на интервале левее точки х0, достаточном для определения значения в точке (xk - а). Если (xk - а) совпадает с одним из узлов правее х0, то y(xk - а) принимает значение функ- ции в этом узле. Если величина (xk - а) не совпадает ни с одним узловым значением хт, т = 0, 1, 2,..., то она лежит внутри некото- рого отрезка [xj, х;+1] и можно по значениям у в трех узлах, напри- мер в Xj _ j, Хр Xj + j построить интерполяционный многочлен Р2(х) для определения приближенного значения y(xk - а) ~ - а)- Таким образом, схема расчета значения решения в новой точке для системы (4.22) будет выглядеть следующим образом: Ум/2 = Ук + ^/(хк>Ук’У(хк-«))> xM=xk+h< xM/2=xk+h/2’ Ум = Ук+^/(хМ/2<Ум/2<у(хМ/2~а)\ (4-23)
4.1. Численные методы решения задачи Коши 351 Пример 4.6. Улучшенным методом Эйлера с шагом h = 0.1 получить численное решение дифференциального уравнения , . .( и(х-А2)' У =Aly(x) 1---- I 3 J с начальными условиями г/(0) = 2.0 на интервале [0, 4] с шагом h = 0.4 при At = 1.6, А2 = 0.5, А3 = 10; здесь А2 — константа, характеризующая запаздывание аргумента. Данное уравнение может описывать динамику одновидовой популя- ции (в этом случае At — коэффициент экспоненциального роста, А-, — емкость среды обитания, А2 — возраст производителей, х — время). Смысл модели в следующем: скорость роста популяции зависит не только от общей численности у(х) в любой момент времени х, опре- деляемой емкостью среды обитания А3, но и от количества взрослых особей в момент времени (х - А2). Данное уравнение может также опи- сывать цикличность деловой активности на фондовом рынке. Решение. Решение будем проводить с использованием формул (4.23). Значение решения в точке х0 - Л2 = 0.0 - 0.5 = -0.5 и во всех точках, лежащих левее точки х0, примем равным начальному значению у0 - 2.0, т.е. у(х0 - А2) = 2.0. Определим величину функции в точке xi/2 =хо +h / 2 = 0.0 + 0Л = 0.1 по методу Эйлера: //1/2 = //о + |/Ь.//о.//(^о-А)) = 2.О + О.1-1.6-2.О-(1.О-2.О/1О.О) = = 2.256. В середине первого шага считаем значение функции с запаздываю- щим аргументом х0 + h / 2-А2 =0.0+ 0.1-0.5 = -0.4, y(x0+h /2-Л2) = 2.0 и затем значение решения в точке 1: = Уо + hf[xi/2,yi/2,y[xi/2 - А>)) = = 2.0 + 0.2 • 1.6 • 2.256 • (1.0 - 2.0 / Ю.О) = 2.577536. Продолжая таким образом вычисления и используя квадратич- ную интерполяцию (например, с помощью многочлена Лагранжа) для нахождения значения функции с запаздывающим аргументом, когда значения (xk - А2) или (xt + h/2 - А2) будут лежать правее, чем точка х0,
352 Глава 4. Численные методы решения обыкновенных дифференциальных... получим решения в последующих точках. Результаты вычислений зане- сены в таблицу 4.11, в которой для удобства использованы следующие обозначения: ^+1/2 = ^+|- %+1/2 = % + Л%- = yk=y\xk + ^-Ai\ + + Таблица 4.11 k хк Ук xk~A2 y{xk А2) <%k xk+l/2 Ук+1/2 хк Ук % 0 0.0 2.0 -0.5 2.0 0.256000 0.1 2.25600 -0.4 2.0 0.577536 1 0.2 2.57754 -0.3 2.0 0.329925 0.3 2.90746 -0.2 2.0 0.744310 2 0.4 3.32185 -0.1 2.0 0.425196 0.5 3.74704 0.0 2.0 0.959243 3 0.6 4.28109 0.1 2.26792 0.529627 0.7 4.81072 0.2 2.57754 1.142636 4 5 0.8 1.0 5.42372 6.71402 0.3 2.92282 0.614154 0.9 6.03788 0.4 3.32185 1.290300 Решением задачи является табличная функция — таблица 4.12 (оставлены 6 значащих цифр). Таблица 4.12 k 0 1 2 3 4 5 Xk 0.00000 0.200000 0.4000000 0.6000000 0.8000000 1.000000 Ук 2.0 2.57754 3.32185 4.28109 5.42372 6.71402 Замечание. Как правило, в отличие от примера 4.6, в задачах с запаз- дывающим аргументом интересуются поведением решения на доста- точно больших интервалах времени. При этом выполняется от сотен до тысяч шагов по времени, что приводит к необходимости использования компьютера. 4.1.6. Многошаговые методы. Метод Адамса Многошаговые методы решения задачи Коши характеризуются тем, что решение в текущем узле зависит от данных не в одном предыдущем узле, как это имеет место в одношаговых методах, а в нескольких предыдущих. Многие многошаговые методы раз- личного порядка точности можно конструировать с помощью квадратурного способа, т.е. с использованием эквивалентного интегрального уравнения. Решение дифференциального уравнения у' =f(x, у) удовлетво- ряет интегральному соотношению ^А+1 Ум=Ук + J f\x,y(x))dx, Xk (4.24)
4.1. Численные методы решения задачи Коши 353 Если решение задачи Коши получено в узлах вплоть до k-ro, то можно аппроксимировать подынтегральную функцию, например интерполяционным многочленом какой-либо степени. Вычислив интеграл от построенного многочлена на отрезке \xk, xk + Д, полу- чим ту или иную формулу Адамса. В частности, если использо- вать многочлен нулевой степени (т.е. заменить подынтеграль- ную функцию ее значением на левом конце отрезка в точке х^), то получим явный метод Эйлера. Если проделать то же самое, но подынтегральную функцию аппроксимировать значением на правом конце в точке xk + ь то получим неявный метод Эйлера. Метод Адамса. При использовании интерполяционного многочлена третьей степени, построенного по значениям подын- тегральной функции в последних четырех узлах, получим метод Адамса четвертого порядка точности: Ум = Ук + ^(55Л-59/, 1 + 37Л 2-9А з). (4-25) 24 где fk — значение подынтегральной функции в узле xk. Метод Адамса (4.25), как и все многошаговые методы, не является само- стартующим, т.е. для того, чтобы использовать метод Адамса, необходимо иметь решения в первых четырех узлах. В узле х0 решение г/0 известно из начальных условий, а в других трех узлах хг х2, х3 решения у}, у2, у3 можно получить с помощью подходя- щего одношагового метода, например метода Рунге — Кутты чет- вертого порядка (4.10). Метод Адамса — Бэшфортса — Моултона. Данный метод типа предиктор — корректор позволяет повысить точность вычисле- ний метода Адамса за счет двойного вычисления значения функ- ции /(х, у) при определении yk + t на каждом новом шаге по х. Этап предиктор. Аналогично методу Адамса по значениям в узлах лр_3, xk _ 2, xk рассчитывается «предварительное» зна- чение решения в узле xk +1: Ум = Ук + ^(55Л-59/, 1 + 37Л 2-9А з)- (4-26) 24 С помощью полученного значения yk+l рассчитывается предва- рительное значение функции+1 =f(xk + 1, yk+l) в новой точке. Этап корректор. На корректирующем этапе по методу Адамса четвертого порядка по значениям в узлах xk _2, xk _2, xk, xk + t рассчитывается окончательное значение решения в узле xk + р yk+i=yk+-^^fk+i + №fk~5fk i + fk 2)- (4-27) 24
354 Глава 4. Численные методы решения обыкновенных дифференциальных... Пример 4.7. Методом Адамса с шагом h = 0.1 получить численное решение дифференциального уравнения /=(г/ + х)2 с начальными условиями г/(0) = 0 на интервале [0,1.0]. Численное реше- ние сравнить с точным решением у = tg(x) - х. Решение. Данная задача на первой половине интервала совпадает с задачей из примера 4.4. Поэтому для нахождения решения в первых узлах будем использовать результаты решения этой задачи методом Рунге — Кутты четвертого порядка (4.10), приведенные в примере 4.4. Решением задачи является табличная функция, располагающаяся во втором и третьем столбцах таблицы 4.13, в пятом столбце приведено точное решение и в последнем — погрешность численного решения. Таблица 4.13 k Xk Ук f(xk, yk) //ист Ч 0 0.0 0.0000000 0.000000000 0.000000 0.0000000 1 0.1 0.000334589 0.010067030 0.00033467 0.8301Е-07 2 0.2 0.002709878 0.041091295 0.002710036 0.1573Е-06 3 0.3 0.009336039 0.095688785 0.009336250 0.2103Е-06 4 0.4 0.022715110 0.178688064 0.022793219 0.781090Е-04 5 0.5 0.046098359 0.298223418 0.046302490 0.204131Е-03 6 0.6 0.083724841 0.467479658 0.084136808 0.411968Е-03 7 0.7 0.141501753 0.708125200 0.142288380 0.786628Е-03 8 0.8 0.228133669 1.057058842 0.229638557 0.150489Е-02 9 0.9 0.357181945 1.580506443 0.360158218 0.297627Е-02 10 1.0 0.551159854 2.406096892 0.557407725 0.624787Е-02 Пример 4.8. Методом Адамса — Бэшфортса — Моултона с шагом h = = 0.1 получить численное решение начальной задачи из примера 4.7. Решение. Как и в предыдущем примере, в первых трех узлах после начального решение получаем методом Рунге — Кутты четвертого порядка. Начиная с четвертого узла (k = 4), на каждом шаге в расчетах значений yk + t используем соотношения (4.26), (4.27). Решением задачи является табличная функция, располагающаяся во втором и четвертом столбцах таблицы 4.14, в шестом столбце приведено точное решение и в последнем — погрешность численного решения. Решение, получен- ное методом Адамса — Бэшфортса — Моултона, несколько точнее, чем решение методом Адамса. Таблица 4.14 k xk Ук Ук Axk, Ук) Уист 0 0.0 — 0.0000000 0.000000000 0.000000 0.0000000 1 0.1 — 0.000334589 0.010067030 0.00033467 0.8301Е-07 2 0.2 — 0.002709878 0.041091295 0.002710036 0.1573Е-06
4.2. Численные методы решения краевой задачи... 355 Окончание табл. 4.14 k Ч &k Ук f(xk, yk) Уист 3 0.3 — 0.009336039 0.005688785 0.009336250 0.2103Е-06 4 0.4 0.022715110 0.02279808 0.17875822 0.022793219 0.4863Е-05 5 0.5 0.046197407 0.04631491 0.29845998 0.046302490 0.1242Е-04 6 0.6 0.083978353 0.08416105 0.46807634 0.084136808 0.2424Е-04 7 0.7 0.142027364 0.142331883 0.70952300 0.142288380 0.4350Е-04 8 0.8 0.229171282 0.229714203 1.06031134 0.229638557 0.7565Е-04 9 0.9 0.359247335 0.360288001 1.58832585 0.360158218 0.1298Е-03 10 1.0 0.555451403 0.557625580 2.42619745 0.557407725 0.2179Е-03 4.2. Численные методы решения краевой задачи для обыкновенных дифференциальных уравнений Примером краевой задачи является двухточечная краевая задача для обыкновенного дифференциального уравнения вто- рого порядка: y’ = f(x,y,y') (4.28) с граничными условиями, заданными на концах отрезка [а, Ь\, (4.30) — граничные Следует найти такое решение у(х) на этом отрезке, которое принимает на концах отрезка значения уа, уь. Если функция/(х, у, у') линейна по аргументам у, у \ то задача (4.28), (4.29) — линей- ная краевая задача, в противном случае — нелинейная. Кроме граничных условий (4.29), называемых граничными условиями первого рода, используются еще условия на произво- дные от решения на концах — граничные условия второго рода: У'(а) = Уа< у\Ь) = уь или линейная комбинация решений и производных условия третьего рода: ау(а) + $у'(а) = уа, 8у(Ь) + уу(Ь) = уь, где а, р, 8, у — числа такие, что |сс| + |р| * 0, |8| + |у| * 0. Возможно на разных концах отрезка использовать условия различных типов.
356 Глава 4. Численные методы решения обыкновенных дифференциальных... Здесь рассматриваются два приближенных метода решения краевой задачи: • метод стрельбы (пристрелки); • конечно-разностный метод. 4.2.1. Метод стрельбы Суть метода заключена в многократном решении задачи Коши для приближенного нахождения решения краевой задачи. Пусть необходимо решить краевую задачу (4.28), (4.29) на отрезке [а, Ь\. Вместо исходной задачи формулируется задача Коши с уравнением (4.28) и с начальными условиями где г| — некоторое значение тангенса угла наклона касательной к решению в точке х = а. Положим сначала некоторое начальное значение параметру г| = г|0, после чего решим каким-либо методом задачу Коши (4.28), (4.32). Пусть у = у(х, у0, ц0) — решение этой задачи на интервале [а, Ь\. Тогда, сравнивая значение функции у(Ь, у0, ц0) со значе- нием у{ на правом конце отрезка, можно получить информа- цию для корректировки угла наклона касательной к решению в левом конце отрезка. Решая задачу Коши для нового значения И = Иi, получим другое решение со значением у(Ь, у0, гр) на пра- вом конце. Таким образом, значение решения на правом конце у(Ь, у0, ц) будет являться функцией одной переменной ц. Задачу можно сформулировать следующим образом: требуется найти значение переменной ц* такое, чтобы решение у(Ь, у0, ц*) на правом конце отрезка совпало со значением уг из (4.29). Дру- гими словами, решение исходной задачи эквивалентно нахожде- нию корня уравнения Ф(ц) = 0, (4.33) в котором Ф(т|) г/(6,г/0,т]) у{. Уравнение (4.33) является алгоритмическим уравнением, так как левая часть его задается с помощью алгоритма численного решения соответствующей задачи Коши. Но методы решения уравнения (4.33) аналогичны методам решения нелинейных урав- нений, изложенным в разделе 2. Отметим, что поскольку невоз- можно вычислить производную функции Ф(ц), вместо метода Ньютона следует использовать метод секущих, в котором про- изводная от функции заменена ее разностным аналогом. Данный
4.2. Численные методы решения краевой задачи... 357 разностный аналог легко вычисляется по двум приближениям, например ц7 и ц7 + ь Следующее значение искомого корня опреде- ляется с помощью соотношения 11лг°11л1~фС)-ф(п,)Ф(11<>1)- <4'34) Итерации по формуле (4.34) выполняются до удовлетворения заданной точности. Пример 4.9. Методом стрельбы решить краевую задачу у" = ех + sinz/ с граничными условиями первого рода на отрезке [0, 1]: г/(о) = 1, г/(1) = 2. Решение. Заменой переменных z = у сведем дифференциальное урав- нение второго порядка к системе двух дифференциальных уравнений первого порядка \y' = z, ]z' = ex +sinz/. Задачу Коши для системы с начальными условиями на левом конце г/(0) = 1, у'(0) = г] будем решать методом Рунге — Кутты четвертого порядка точности с шагом h = 0.1 до удовлетворения на правом конце условия |г/(1.0, 1.О,щ,)-2.о| = |ф(щ,)|<е, где е = 0.0001 и у{ 1.0, 1.0, щ) — значение решения задачи Коши на пра- вом конце отрезка при b = 1.0, у($) =Уо= 1.0, щ — значение первой про- изводной к решению на левом конце отрезка на k-й итерации. Примем в качестве первых двух значений параметра ц следующие: ц0 = 1.0, гц = 0.8. Дважды решив задачу Коши с этими параметрами методом Рунге — Кутты с шагом h = 0.1, получим два решения: z/(1.0,1.0, г|0) = 3.168894836, z/(1.0,1.0, гц) =2.97483325. Вычислим новое приближение параметра ц по формуле (4.34): т], = 0.8-------°'8~1'°--------(2.97483325 - 2.0) = -0.204663797. 2 2.97483325-3.168894836 v ’ Решая задачу Коши с параметром гц, получим решение у{ 1.0,1.0, гц) = = 1.953759449 и т.д.: гц = -0.204663797----0-204663797-0.8----(ц 953759449 _ 2.0) = 3 1.953759449-2.97483325 v ’ = -0.159166393;
358 Глава 4. Численные методы решения обыкновенных дифференциальных... г/(1.О, 1.0,т]3) = 2.001790565; |ф(п3)| = 0.001790565 >е; -0.159166393-(-0.204663797) . т]4= -0.159166393---------------i--------------(2.001790565-2.0) = 4 2.001790565-1.953759449 k ’ = -0.160862503; //(1.0, 1.0,т14) = 2.000003115; |ф(т]4 )| = 0.000003115 < е. Вычисления заносим в таблицу 4.15. Таблица 4.15 j Пу //(1.0, 1.0, щ) ФМ 0 +1.000000000 3.168894836 1.168894836 1 +0.800000000 2.974483325 0.974483325 2 -0.204663797 1.953759449 0.046240551 3 -0.159166393 2.001790565 0.001790565 4 -0.160862503 2.000003115 0.000003115 Приближенным решением краевой задачи будем считать приведен- ную в таблице 4.16 табличную функцию, полученную в результате реше- ния задачи Коши с параметром ц4. Таблица 4.16 k 0 1 2 3 4 Ук 0.0 1.0 0.10000 0.99328 0.20000 1.00601 0.30000 1.03942 0.40000 1.09497 5 6 7 8 9 10 0.50000 1.17434 0.60000 1.27944 0.70000 1.41236 0.80000 1.57528 0.90000 1.77045 1.000 2.000 4.2.2. Конечно-разностный метод решения краевой задачи Рассмотрим двухточечную краевую задачу для линейного дифференциального уравнения второго порядка на отрезке [а, Ь\ с соответствующими краевыми условиями /+p(x)//' +<?(*)//= /(х), (4.35) у(о) = Уа> у(Ь) = уь. (4.36) Введем на отрезке [а, Ь\ разностную сетку £№> = {xk = ха + + hk}, h = (b - d)/N, k = 0, 1,..., N. Решение задачи (4.35), (4.36) будем искать в виде сеточной функции yW = {ук, k = 0, 1, ... , N},
4.2. Численные методы решения краевой задачи... 359 предполагая, что решение существует и единственно. Введем раз- ностную аппроксимацию производных ([1], параграф 2.10): y'k = yM2hk 1 + 0^’ % = Ум-y^k + yk I + о(£2) (4.37) Подставляя аппроксимации производных из (4.37) в (4.35), (4.36), получим систему уравнений для нахождения yk‘. У0 = Уа> Ум Ук+Ук 1+р(х^УМуУк +q(xk)yk=f(xk), (4.38) Уя ~УЬ’ k = l, 2..ЛГ-1. Приводя подобные и учитывая, что при задании граничных условий первого рода две неизвестные у0, yN уже фактически определены, получим систему линейных алгебраических уравне- ний с трехдиагональной матрицей коэффициентов: (-2 + A2g(x1))yl++ i+p0')A У2> t P(xk)h 2 t P(xN 1 2 (~2 + h2q(xk))yk P(xk)h 2 yN i + (~2. + h2q(xN 1 = = h2f{xN t p(xn t 2 %+i=A2/(^). (4.39) уъ, k = 2.N-2. □ Для системы (4.39) при достаточно малых шагах сетки h и q(x^) - < 0 выполнены условия преобладания диагональных элементов |-2 + /z2^(xJ| \-2 + h2q(xN t)| t ! РЫк 2 t P(xk)h 2 > j 2 P(xk)h 2 , k = 2....У-2, (4.40)
360 Глава 4. Численные методы решения обыкновенных дифференциальных... что гарантирует устойчивость счета и корректность применения метода прогонки для решения этой системы. В случае использования граничных условий второго и тре- тьего рода аппроксимация производных проводится с помощью односторонних разностей первого или второго порядков. //o = ^ + 0(/z), %=М^ + 0(/г), Уо^+^+О^2), ./ - Ум 2~^Ум t + ЗУх .0(1,2 УМ ~------ХТ-----+ 171/? (4-41) (4-42) В случае использования формул (4.41) линейная алгебра- ическая система аппроксимирует дифференциальную задачу в целом только с первым порядком (из-за аппроксимации в гра- ничных точках), однако сохраняется трехдиагональная структура матрицы коэффициентов. При использовании формул (4.42) второй порядок аппроксимации сохраняется везде, но матрица линейной системы не трехдиагональная. Пример 4.10. Решить краевую задачу с шагом h = 0.2: у" + ху -у = 0, г/(0) = 1, г/(1) + 2г/(1) = 0. Решение. Здесь р(х) = х, g(x) = -l, /(х) = 0, N = 5, х0 = 0,х{ = 0.2,х2 = 0.4,х3 = 0.6,х4 =0.8,х5 =1.0. Во всех внутренних узлах отрезка [0, 1] после замены производных их разностными аналогами получим [l-0.1xk)yk t+ (-2.04)?4+(l + 0.1x,J?4+1 = 0, k = l.4. На левой границе у0 = 1, на правой границе аппроксимируем производную односторонней разностью первого порядка: У5 У''+2у- = 0. 0.2 5
Задачи 361 С помощью группировки слагаемых, приведения подобных членов и подстановки значений хк и с учетом граничного условия у0 = 1 получим систему линейных алгебраических уравнений: -2.04^ + 1.02^2 =-0.98, 0.96^-2.042/2+1.042/3 =0, 0.94г/2 -2.04г/3 + 1.06г/4 =0, 0.92г/3-2.042/4 +1.08г/5 =0. г/4-1-4г/5 =0- В данной трехдиагональной системе выполнено условие преобла- дания диагональных элементов, и можно использовать метод прогонки (раздел 1.1.2). В результате решения системы методом прогонки полу- чим следующие значения: г/5 = 0.2233205, г/д = 0.31265, г/3 = 0.43111, г/2 =0.58303, г/4 = 0.77191. Решением краевой задачи является табличная функция, приведенная в таблице 4.17. Таблица 4.17 k 0 1 2 3 4 5 Xk 0 0.2 0.4 0.6 0.8 1.0 Ук 1.0 0.77191 0.58303 0.43111 0.31265 0.22332 Задачи 4.1. Решить задачу Коши методом по выбору преподавателя для обык- новенного дифференциального уравнения первого порядка на указанном отрезке с заданным шагом h. Полученное численное решение сравнить с точным. Определить погрешность решения. № Задача Коши Точное решение 1 г/' = -г/ + ех, 2/(0) = 1.5, гр [0, 1 h = 0.1 ех у =— + е х 2 2 у' = -2хг/ + хе х2, 1/(0) = 0, XF Го 1~1 Л = 0 1 е Хх2 У= 2
362 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Задача Коши Точное решение 3 2 1 У=-У //(!) = !• ol L А 1 х (-1+xA X tg // = L X1 4 «А- к— -L} К /Z О«1 z/' = -z/cos(x) + —sin(2x), г/(0) = 0, z/ = sinx-l + e smx 5 «А к— М} J. 1 j /Д М«-L , _ -дух + 8у-х2 У х2-5х + 6 //(о)=-1, г<= [0 1J h — 0 1 _-(1/4)x4+(2/3)x3 + 12 (x-2)2(x-3) 6 у = -ytgx + sin 2х, //(o)=-i, z/ = -2cos2x + cosx 7 (х-1)^ X2 y(i) = e, V г Г1 °"l h - 0 1 у = xev/x 8 «А к— -L) р /г ч/«-L у = у sin х - cos х sin х, z/(o) = 0.367879, z/ = cosx-l + e cosx 9 «А ) A p / Г M« A , _ y2 + x2y X3 z/(l) = 0.5, -r g Fl 9~| /? = 0 1 X2 y = 1 + x 10 c CN H H !- + o' ’ =>. II c _1 ' L_ 11 1 '»> =>. ! у = tgr - X
Задачи 363 Продолжение табл. № Задача Коши Точное решение 11 / = 2^, х2 +1 г/(1) = 0.6666667, yfF1 'Я h-01 2fx3+lA //-з(х2 + 1 J 12 , у2 + ух У~ X2 ’ И1)=х Т(=^1 9] /,-0 1 X У= i lnx-1 13 у' = х2(у2 + 1), г/(0) = 0, Л1 2/ = tg -X3 14 v-V М, J. 1, / Г М«-L , 1 у „ у=——+х, ” 2х //(!) = !• гг Г-1 °~l h-ft 1 2 , 5 2/ = — y= 7 14^ 15 «Л/ к— -L, j—i I, / Д M.J. у=^- + ех 1/х, х2- г/(1) = 1.367879, ~ г- Г-1 о“1 и _ А 1 y = e Vх (ex + 1) 16 •А/ к— -L, I, 11 U • -L у' = ех у +ех, у(0) = 0.541325, у = In (-1+ eeX) 17 y' = (-y + xsinx)/ х, г/(1) = 0.3011687 = sinl-cosl, rr Fl ->1 A-0 1 sinx-xcosx y = X 18 у 1 У X ln|x|’ у (2) = -0.733026, xpF2.3~I. Л = 01 у = xln|ln|x||
364 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Задача Коши Точное решение 19 ,2/ , . у = —+x2sinx, X г/ (1) = 1.3011687 = sin 1 - cos 1 + 1, г<=[1,2], 6-0 1 у = xsinx - х2 cosx + х 20 -ух + х(х2 + 1) У= x2+i ’ //(o) = i> хе Го. 1]. h = 0.1 1,1 2 у = — X2 + — + , 3 3 з>/х2 + 1 21 IT |_Y1 JI Г Тт у =-—-X2, X 2/(1) = 0.75, r<=[l,2l], 6 = 01 1 — — X4 +1 у = — X 22 , 1- yx У = , X2 + 1 2/(1) = 0.623225, 6-0 1 1п(х + >/х2 + 1) У >/х2 + 1 23 / = -//2+-, X 2/(1) = 2/3, rep 9j Л-01 У = ^^~ х2 + 2 24 1 X J X у(1) = 0, yep! 9 J /,-П1 _ xlnx У 1пх + 1 25 ,_ г/21пх-у X г/(1) = 0.5, vcFl 91 6-0 1 1 lnx + 1 + x
Задачи 365 Окончание табл. № Задача Коши Точное решение 26 г/(2г/1пх-1) X г/(1) = 0.333333333, yfF1 'Я h-01 1 У 2(1пх + 1) + х 27 , _ у2- + ху X2 r₽[v], /?-0 1 1 Н Н fi II 28 у' = еУ/х + — + 1, X г/(1) = -0.541325, yfF1 9"l h-01 ( f \ \ 11 Х | 4 ц-х In 1-1 -1 + х / е \ \ ' ) ) 29 X 1/(1) = «, геГ1 ‘>'1 А — п 1 у = ех 30 ,_г/(1п(лт/)-1) У ~ у X 1/(1) = е, хеГ1. 21 Л-0.1 1 X у = —ех X 4.2. Решить задачу Коши для обыкновенного дифференциального уравнения второго порядка на указанном отрезке с заданным шагом h. Полученное численное решение сравнить с точным. Определить погреш- ность решения. № Задача Коши Точное решение 1 у" + у - sin Зх = 0, 1/(0) = 1, 1/'(о) = 1, 11. sin Зх у = cos х + —sin х ^88 хе [0, 1], Л = 0.1
366 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Задача Коши Точное решение 2 у" + z/-2cosx = 0, И°) = 1> У(о) = х , ’л Я г, л i z/ = sinx + cosx 3 Jv ч— Uj J- 1} i U• -L у"-2y - 4x2ex2 =0, z/(0) = 3, /(0) = 0, y = ex2+ ex'^2 + e x^ 4 «Л/ к— M} -ЕН 11> U. 1 x2y"-x^x'1 -l)z/'-(x2 +ljy = 0, z/(l) = l + e1/2, /(l) = 2e1/2-l, гсГ1 21 /?-л i y = — (l + e*2/2) 5 y" - (1 + 2tg2x) у - sin 3x = 0, z/(0) = 2, 1 . X y = + sinx + cosx cosx 6 v-V M) -L 1) f* M«-L y" + ixy + (4x2 + 2) у = 0, //(o) = i, //'(o) = i, z/ = (l + x)e x2 7 v-V M) -L 1) f* M«-L y" - ixy + (4x2 - 2) у = 0, //(o) = i, //'(o) = i, y = (l + x)ex2
Задачи 367 Продолжение табл. № Задача Коши Точное решение 8 г/л'-4хг/'+(4х2-3)г/-ех2 =0, 1/(0) = 1, г/(0) = 0, г/ = (ех + е х-1)е*2 9 хе [0,1], Л = 0.1 „ ( 1 V + +1 —т |(х + х1/2-8)г/ = 0, [4х2 ' 1/(1) = 2е, !/'(!) = 2е, Z/=f Х2 + — ^кх1/2 1 X J 10 хе [1,2], Л = 0.1 у" + z/'tgx + у COS2 X = 0, 1/(0) = 0, !/'(0) = 1, у = cos х (sin х) + sin х (cos х) И х 11_0, 1J, h — 0.1 у" + z/'tgr - у COS2 X = 0, 1/(0) = 2, !/'(0) = 0, ^ = £smx_|_£ sinx 12 л*е[0, 1], й = 0.1 (х2 +1) у" - Ъсу + 2г/ = 0, 1/(0) = 1, !/'(0) = 1, у = X - X2 + 1 13 хе [0,1], // = 0.1 /-2(tgx)z/' + 3z/ = 0, 1/(0) = 1, 1/'(0) = 2, cos2x + sin2x У = cosx хе [0, 1], Л = 0.1
368 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Задача Коши Точное решение 14 у" + 2у 'ctgx + Зу = 0, У(0)=х -0.9783 cos 2х + 0.4776sin 2х У = sinx 15 Л е 1, 4 , и — U. 1 лт/ч-г/ = 0, »'(!) = I у = 1 + 1п|х 16 Л е 1, 4 , и — U. 1 (х2 - 1)у"~ 2ху' + 2у = 0, у(2) = 7, /(2) = 5, у = х‘1 + х + \ 17 Л ez z,, u L ii — U. 1 ху"-(х + 1)у'+у = 0, 2/(1) = 2+е, г/(1) = 1 + е, у = х +1 + ех 18 Л е 1, 4 , h — U. 1 л X +1 z Q X 1 Л У У-2 у = О, X X y(i) = i, е2х (Зх + 1)е х У~3е2+ Зе 19 5 <=> < и н CN | Н -n + г >4 5S> ' ± -|'ДДк ш + у = (cos 2 - sin 2)cos (2х1/2) + + (cos2 + sin2)sin(2x1/2) хе [1,2], Л = 0.1
Задачи 369 Продолжение табл. № Задача Коши Точное решение 20 с> и со | 1 '»> |см + |_сч A A СО | CN 7 А А А А А 1 I3/2 У = \х\ 21 хе[2, 3], h = 0.1 х2у" — 12г/ = 0, 2/(1) = 2, /(1) = 1, у = хА +х 3 22 л 111, 2 fi — U.1 х2у" + (х2 —2)г/ = 0, 2/(1) = Х /(1) = 0, у = sin(x-l) + — cos(x-l) 23 X Ь 11, 21, fl - 0.1 х2у"-ху - у-Зх2 = 0, 2/(1) = 3, /(1) = 2, 7 1 у = х2- + X + — X 24 X с 1, д , fl — U.1 х2у"+(х + i)y'~у = 0, //(1) = 2 + е, 9(1)=1 у = х +1 + хе1/х 25 дь|1, 21, // = 0.1 (х - 2)2 у" - (х - 2) у' - Зу = 0, 2/(3) = 2, г/(3) = 2, 9=0-2)’А хь [3, 4],—Л = 0.1
370 Глава 4. Численные методы решения обыкновенных дифференциальных... Окончание табл. № Задача Коши Точное решение 26 х^у" + 2х3у' + у = 0, //(!) = !• у = (sin 1 + cos 1) cos— + + (sin 1 - cos 1) sin — 27 хе [1,2], h = 0.1 х3у"-2ху +{^х3 + 2}у = 0, г/(л/2) = л/2, г/(л/2) = 1-л/2, z/ = xcosx + xsinx 28 хе [л/2, л/2 + 1], /г = 0.1 х2у" - Зу' + 4у - 5х = 0, 1/(1) = 6, /(1) = 8, z/ = 5x + x2 + x2 ln|x| 29 хё[1, 2], /г = 0.1 х2у" - Зху' - 5у - х2 In х = 0, »'(!) = I 19 - 35 1 X2. । । w = — x° + - In X 54 54 x 9 1 1 30 те[1, 2], й = 0.1 х2(х + 1)у" - х(2х + 1)у'+ + (2х +1) у = 0, 1/(1) = 2, /(1) = 4, z/ = x2 + x + xlnx 4.^F Решить задачу Коши для обыкновенного дифференциального уравнения первого порядка с запаздывающим аргументом на отрезке [0,1] с заданным шагом h = 0.1 улучшенным методом Эйлера. № Уравнения Л1 A !/Оо) z(x0) 1 0.1 0.2 0.27 10 1.1 — 2 0.1 0.3 0.17 5 1.2 — 3 Л1-г/(х) + А2-г/(х-А3) 0.15 0.2 0.15 10 1.3 — 4 ill л \\Л4 0.15 0.3 0.25 5 1.4 — 5 1 + (г/(х + А3)) 0.1 0.2 0.25 10 1.5 —
Задачи 371 Окончание табл. № Уравнения Al ^2 Аз ^4 У(%о) z(x0) 6 7 8 9 10 г/'=г/(х)-(А1 + 3-(А2-г/(х-А4)- -г/(х-А3))/(1-Л2) 3 4 3.5 2.5 5 0.125 0.125 0.15 0.15 0.15 0.125 0.15 0.125 0.15 0.125 0.5 0.6 0.7 0.45 0.68 1.6 1.7 1.8 1.9 2.0 — 11 12 13 14 15 / = А2-А1-г/(х)-г/2(х-А3) 1 1.2 1.5 1.3 1.1 1 2 1.5 2 1 0.11 0.13 0.21 0.23 0.25 0.005 0.1 0.2 0.3 0.4 16 17 18 19 20 у' = -\-у{х) + + A2-{l-[sinz/(x-A3)]} 1 1 1.5 1.8 1.2 0.75 0.5 0.3 0.9 0.1 0.41 0.32 0.24 0.18 0.25 — 1 1.5 2 2.5 3 — 21 22 23 24 25 г/' = Л1-г/(х)-(1-г/(х-Л2)/Л3) 1.25 1.5 2.0 1.6 1.8 0.15 0.25 0.27 0.32 0.17 10 1 100 10 1 1.4 2.4 3.4 4.4 5.4 26 27 28 29 30 г/'=г/(х)^2-2-г/(х-А1)-г(х)_ z =z(xj- ^2 — 2 - z(x-Л2)-г/(х) 0.35 0.25 0.35 0.23 0.4 0.35 0.35 0.25 0.4 0.24 — — 1.0 2.0 1.0 2.0 2.0 1.0 1.0 2.0 2.0 0.5 4.4. Решить краевую задачу для обыкновенного дифференциально- го уравнения второго порядка на указанном отрезке методом стрельбы и конечно-разностным методом. № Краевая задача Точное решение 1 xy" + 2y'-xy = G, /(1) = 0, 2 + у — с? ху" + 2у' -ху = 0, /(1) = е ../оА А (?„ ? 3 У1 z-i 1 — и.Ос' x2(^x + ljy"-2y' = 0, y(i) = -i, Л /л\ / //л\ / г/(х) = - + 1 X 2z/(2)-4/(2) = 4
372 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Краевая задача Точное решение 4 х2(х + 1')у"-2у' = 0, /(1) = 1 + 41п2, ../о\ 4 । 01 О , . 2 2(х + 1), . . г/(х) = + — + — -1п|х +1| 5 У1 z-i 1 — X 1 <_) 1П z-i , 2 У , у- 0, COS2X /(0) = 1, z/H-l z/(x) = tgr 6 /-2^ + (tgx)2Jz/ = 0, г/(0) = 0, z/(x) = -tgr 7 ^6 J 3 (2х +1) у" + ixy - 4у = 0, /(1) + 2г/(1) = 3, ,.'1г\\ Л у[х} = х + е-2х 8 У\у) = 1 (2х +1) у" + кху - 4у = 0, /(-2) + 2г/(-2) = -9, у(х} = Зх + е-2х 9 У 1 ху" - (2х +1) у' + (х +1) у = 0, /(0) = 1, г/(х) = ех(х2 + 1) 10 # v1/ u xy" - (2x +1) y' + (x +1) у = 0, /(1) = Зе, г/(х) = ехх2 11 У\J иУ\Н ° x(x -1) у" - ху' + у = 0, /(1) = 2, 2/(2) »(2)~1 у[х} = 1 + х + xln|x|
Задачи 373 Продолжение табл. № Краевая задача Точное решение 12 х (х -1) у" - ху + у = 0, /(1) = 3, г/(х) = 2 + х + 2х1п|х| 13 # °У\°) 1 (ех +1) у" - 2у' - еху = 0, /(о>4 ,, . е2(е+2) у(х\ = ех -1 + —-— к ' ех + 1 14 (е + 1) (ех +1) у" - 2у' - еху = 0, /(0) = 1, //ТЙ 7/11'1-1 у(х} = ех -1 15 х2 In ху" - ху' + у = 0, /(-1) = о, г/(х) = 1 + х + xlnx 16 */ V\L) м /-tgX7/' + 27/ = 0, /(0) = 2, ,/ л|_о5 0 5 1пЗ г/(х) = sinx + 2- , (1 + sinxA -sinx-ln 1-sinx ) 17 46V (х2-1)у"-(х-3)у'-у = 0, /(о) = о, ?/7l'l+ ?/Й1- 075 у(х) = х-3 + [ ' х+1 18 У * "х1/ v*' ° ху" - (х +1) у' - 2(х -1) у = 0, /(О) = 4, г/(х) = е2х + (3х + 1)е х 19 у" + 4 ху' + (4х2 + 2) у = 0, /(0) = 1, &у(2\-у'(2\ = 23е'' у(х} = (1 + х)е х2
374 Глава 4. Численные методы решения обыкновенных дифференциальных... Продолжение табл. № Краевая задача Точное решение 20 ху" — (2х + 1)?/ + 2у = 0, г/(0) = 4, ?/(1) — 2?/(1) = —4 г/(х) = 2х + 1 + е2>: 21 х(2х +1) у"- 2(х +1) у'- 2у = 0, /(1) = 0, 7/(3) — ?/(з) — — г/(х) = х + 1 + — X 22 3 \ / J \ ) g х(х + 4) у" - (2х + 4) у + 2у = 0, /(0) = 1, 77(2)- 7/(2) =3 у(х) = х2 +х + 2 23 х(х2 + б) у" - 4 (х2 + 3) у + бху = 0, 7/(0) = 0, 77(4)-7/(4) = 26 у(х) = х3 +х2 +2 24 (х2 + 1)?/'’-2?/ = 0, т/(0) = 2, у(1) = 3 + - у(х) = х2+х + 1 + (х2 + l)arctg(x) 25 Д ) 2 2х(х + 2)?/' + (2-х)?/ + у = 0, ,/(41 1 41 - ?/(х) = + х - 2 26 У । «/(4J- х(х +1) у" + (х + 2)т/- у = X + —, У^ 47/721 + 7/1'21-13+ 41п2 ?/(х) = х ++ l^ln |х|
Задачи 375 Окончание табл. № Краевая задача Точное решение 27 (2х +1) у" + (2х -1) у' - 2г/ = х2 + х, /(0) = 1, у(х) = 2х-1 + е х+—-— 28 ху" - (2х +1) у + 2у = 0, г/'(0) = 2, у(х) = е2х 29 У ® (х2-1)г/л' + (х-3)г/'-г/ = 0, г/(0) = 18, г/(х) = 6х-18 30 (х2 + 1)г/л'-2г/ = 0, г/'(0) = 0, 7^91 7/791-1 у(х) = х2 + 1
Глава 5 ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ В настоящем разделе рассматривается метод конечных разностей, который является одним из наиболее распространенных численных методов решения урав- нений с частными производными — уравнений математической физики. 5.1. Численное решение уравнений параболического типа. Понятие о методе конечных разностей. Основные определения и конечно-разностные схемы 5.1.1. Постановка задач для уравнений параболического типа Классическим примером уравнения параболического типа является уравнение теплопроводности (диффузии). В одномер- ном по пространству случае однородное (без источников энер- гии) уравнение теплопроводности имеет вид ди „ д2и дГа д^’ 0<х<1, t > 0. (5.1) Если на границах х = 0 и х = I заданы значения искомой функ- ции и(х, t) в виде i/(O,t) = cpo(t), t>0; (5.2) = t>0, (5.3) т.е. граничные условия первого рода, и, кроме того, заданы началь- ные условия при t = 0 м(х,0) = у(х), 0<х</, (5.4) то задачу (5.1)—(5.4) называют первой начально-краевой задачей для уравнения теплопроводности (5.1).
5.1. Численное решение уравнений параболического типа... 377 В терминах теории теплообмена функция и(х, t) выражает рас- пределение температуры в пространственно-временной области QxT = {0<x<Z; 0<t<T}, а2 — коэффициент температуропроводности, а (5.2), (5.3) с помо- щью функций <р0(7), <р/(7) задают температуру на границах х = О их = I. Если на границах х = 0 и х = I заданы значения производных искомой функции по пространственной переменной ^=ф»ф. ^=ф,(4 дх t>0; t>0, (5-5) (5.6) т.е. граничные условия второго рода, то задачу (5.1), (5.5), (5.6), (5.4) называют второй начально-краевой задачей для уравнения теплопроводности (5.1). В терминах теории теплообмена на гра- ницах в этом случае заданы тепловые потоки. Если на границах заданы линейные комбинации искомой функции и ее производной по пространственной переменной а—^-2-^ + piz(O.t) = ф0 (t), t>0; V у-—+ 8w(Z,^) = ф; t>0, (5.7) (5.8) т.е. граничные условия третьего рода, то задачу (5.1), (5.7), (5.8), (5.4) называют третьей начально-краевой задачей для уравнения теплопроводности (5.1). В терминах теории теплообмена гранич- ные условия (5.7), (5.8) задают теплообмен между газообразной или жидкой средой и границами расчетной области с неизвест- ными температурами и(0, t), u(l, t). Для пространственных задач теплопроводности первая на- чально-краевая задача в области Q Q + Г имеет вид Эм_ 2| д2и+ д2и+ д2и dt [ дх2 ду2 dz2 м(л/,г) = ф(л/,г), м(Л/,0) = у(Л/), A/(x,z/,z)e £2, A/(x,z/,z)e Г, A/(x,z/,z)e Q.. t>0; t>0; (5.9) (5.10) (5.И)
378 Глава 5. Численное решение дифференциальных уравнений... Аналогично ставятся вторая и третья начально-краевые задачи для пространственного уравнения задачи (5.9)—(5.11). На практике часто ставятся начально-краевые задачи теплопроводности со смешанными краевыми условиями, когда на границах задаются граничные условия различных родов. 5.1.2. Понятие о методе конечных разностей. Применение метода конечных разностей к решению уравнений параболического типа Основные определения, связанные с методом конечных раз- ностей, рассмотрим на примере конечно-разностного решения первой начально-краевой задачи для уравнения теплопроводно- сти (5.1)—(5.4). Нанесем на пространственно-временную область 0 < х < /, О < 7< Т конечно-разностную сетку ю/1т={х>=А 7 = 0,1.N; tk=kx, k = Q, 1.xj (5.12) с пространственным шагом h = 1/N и шагом по времени т = Т/К (рис. 5.1). Введем два временных слоя: нижний tk = ki, на котором рас- пределение искомой функции u(Xj, Г^),7 = 0, 1, 2,... , N известно (при k = 0 распределение определяется начальным условием (5.4) вида и(хр 7°) = y(Xj)), и верхний временной слой tk+ 1 = (k + 1)т, на котором распределение искомой функции и(хр Ф + 9,7 = 0, 1, 2,..., N, подлежит определению. Сеточной функцией задачи (5.1)—(5.4), имеющей обозначение ukj , назовем однозначное отображение целых аргументов j, k в значения функции u(xj,tk^. Рис. 5.1
5.1. Численное решение уравнений параболического типа... 379 На сетке (5.12) введем сеточные функции ик, w|+1, первая из которых известна, вторая — подлежит определению. Для ее определения в задаче (5.1)—(5.4) заменим (аппроксимируем) дифференциальные операторы отношением конечных разностей (см. раздел 3) и получим дик d-tj Ukj+l - Uk т + О(т), (5.13) д2ик uj+i 2uj+uk i /,2\ А2 (5.14) Подставляя (5.13), (5.14) в задачу (5.1)—(5.4), получим явную конечно-разностную схему для этой задачи в форме Т П2 ' ' 6 = 0, 1..К-1, j = l.К-1, (5.15) Uo=<f>o(tk), ukN=<p,(tk), w9=v(xj, 6 = 0,1..К-1, j = l....N, где для каждого у-го уравнения все значения сеточной функции известны, за исключением одного — w|+1, которое может быть определено явно из соотношений (5.15). В соотношения (5.15) краевые условия (j = 0, j = N) входят при значениях ; = 1 и; = N - 1, а начальное условие — при 6 = 0. Если в (5.14) дифференциальный оператор по пространствен- ной переменной аппроксимировать отношением конечных разно- стей на верхнем временном слое д2иМ u^l-2uj+1 + u}+} , , ТТ =---------й—— + 0[h - (5-16) дх2 . п2 j то после подстановки (5.13), (5.16) в задачу (5.1)—(5.4) получим неявную конечно-разностную схему для этой задачи „м|Д-2м|+1 + м|+11 . . 1 1 = а2 + 0(т+h2), 6 = 0,1..К-1, j = l.К-1, (5.17) u^+i = <p0(tk+i), i^+1 = cpz(t*+1), wQ=v(xJ, 6 = 0,1..К-1, j = l..N,
380 Глава 5. Численное решение дифференциальных уравнений... k + 1 7;1 j k + 1 7-1 7 7+1 k шаблон явной схемы шаблон неявной схемы Рис. 5.2 Теперь сеточную функцию и w|+1 на верхнем временном слое можно получить из решения системы линейных алгебраических уравнений (5.17) с трехдиагональной матрицей. Эта система в форме, пригодной для использования метода прогонки, имеет вид bvul+l + с1м^+1 = dv, j = 1, a ;U^+} + = dit j = 2,..., N-2, J J 1 J J J J+i J J aN + bN {и^\ = dN t, j = У -1, где «4=0, Oj =a,j = 1.У-1; bj=-(l + 2c>),j = l.У-1; c;=o,j = l.У-1; cn i= 0; dj=-^,j = 2..У-2; б/1 = -(М|+Оф0(^+1)); 4 i=-(ukN t + o<p,(t*+1)); а2т Шаблоном конечно-разностной схемы называют ее геометри- ческую интерпретацию на конечно-разностной сетке. На рис. 5.2 приведены шаблоны для явной (5.15) и неявной (5.17) конечно-разностных схем при аппроксимации задачи (5.1)—(5.4). Явная конечно-разностная схема (5.15), записанная в форме ^ = оМ|+4 + (1-2о)М| + оМ|1,о = ^, (518) у = 1.У-1, k = 0, 1, 2.
5.1. Численное решение уравнений параболического типа... 381 обладает тем достоинством, что решение на верхнем временном слое tk+i получается сразу (без решения системы линейных алге- браических уравнений) по значениям сеточных функций на ниж- нем временном слое tk, где решение известно. При k = 0 значения сеточной функции формируются из начального условия (5.4). Но эта же схема обладает существенным недостатком, поскольку „ „ а2т 1 она является условно устойчивой с условием ст , накла- дываемым на сеточные характеристики т и h. С другой стороны, неявная конечно-разностная схема (5.17), записанная в форме ajUkj+[ + bjUkj+l + CjUkjX\ =dj, j = 2.ДГ-1, k = 0, 1, 2. (5.19) приводит к необходимости решать систему линейных алгебраи- ческих уравнений, но зато эта схема абсолютно устойчива. Проанализируем схемы (5.18), (5.19). Пусть точное решение, которое не известно, возрастает по времени, т.е. w|+1 > . Тогда, в соответствии с явной схемой (5.18), разностное решение будет заниженным по сравнению с точным, так как w|+1 определяется по меньшим значениям сеточной функции на предыдущем вре- менном слое, поскольку решение является возрастающим по вре- мени. Для неявной схемы (5.19) на возрастающем решении, на- оборот, решение завышено по сравнению с точным, поскольку оно определяется по значениям сеточной функции на верхнем времен- ном слое. На убывающем решении картина изменяется противопо- ложным образом: явная конечно-разностная схема завышает решения, а неявная — занижает, это проиллюстрировано рис. 5.3. На основе этого анализа возникла идея о построении более точной неявно-явной конечно-разностной схемы с весами при пространственных конечно-разностных операторах, причем в случае измельчения шагов т и h точное (неизвестное) решение может быть взято в вилку сколь угодно узкую, так как если явная и неявная схемы аппроксимируют дифференциальную задачу и эти схемы устойчивы, то при стремлении сеточных характери- стик т и h к нулю, решения по явной и неявной схемам стремятся к точному решению с разных сторон. Рассмотрим неявно-явную схему с весами для простейшего уравнения теплопроводности wW-2m|+1 + m|+11 t—2w| + t L = ea2 J. L± + 1-0 e2 (5.20) т-------------------------------------h1-h1
382 Глава 5. Численное решение дифференциальных уравнений... где 0 — вес неявной части конечно-разностной схемы, (1 - 0) — вес явной части, причем 0 < 0 < 1. При 0 = 1 имеем полностью неявную схему, при 0 = 0 — полностью явную схему и при 0 = = 1/2 — схему Кранка — Николсона. Для схемы Кранка — Николсона порядок аппроксимации составляет О(т2 + h2), что на один порядок по времени выше по сравнению с обычными явной или неявной схемами. Неявно- явная схема с весами (5.20) абсолютно устойчива при 1/2 < 0 < 1 и условно устойчива с условием ст < 1/2 при 0 < 0 < 1/2. Таким образом, получаем следующий вывод. • Схема Кранка — Николсона (5.20) при 0 = 1/2 абсолютно устойчива и имеет второй порядок аппроксимации по времени и пространственной переменной х. 5.1.3. Аппроксимация граничных условий, содержащих производные В задачах математической физики вообще и в задачах тепло- проводности в частности граничные