Министерство образования и науки Российской Федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Российский государственный гидрометеорологический университет Факультет заочного обучения УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ ДЛЯ ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ по дисциплине “МАТЕМАТИКА” Раздел “Основные численные методы ” Направление подготовки 510900 – Гидрометеорология Степень – бакалавр гидрометеорологии Курс III (Подлежит возврату на факультет заочного обучения) Санкт-Петербург 2010 Одобрено Ученым советом РГГМУ УДК 519.6 Учебно-методическое пособие для выполнения контрольной работы по дисциплине “Математика”. Раздел “Основные численные методы” СПб.: изд. РГГМУ, 2010 70 c. Учебно-методическое пособие составлено в соответствие с программой дисциплины “Математика” (Раздел – Основные численные методы). Даются основные теоретические сведения и примеры решения типичных задач, рекомендации по изучению дисциплины. Приводятся вопросы для самопроверки, рекомендуемая литература, контрольные работы. Составитель: В. Н. Веретенников, канд. техн. наук, проф., РГГМУ. Ответственный редактор А. Д. Егоров, докт. физ.-мат. наук, РГГМУ. Российский государственный гидрометеорологический университет (РГГМУ), 2010. 2 ПРЕДИСЛОВИЕ “Основные численные методы” как раздел дисциплины “Математика” является не только мощным средством решения прикладных гидрометеорологических задач, но и важнейшей компонентой интеллектуального развития. Именно в рамках математического образования студент получает навыки творческого подхода к решению интеллектуальных проблем, точному пониманию средств возможностей решения проблем, знакомится с современными информационными технологиями. Внедрение компьютеров во все сферы человеческой деятельности требует от специалистов гидрометеорологического профиля овладения навыками использования вычислительной техники. Повышается уровень подготовки студентов, которые уже с первых курсов приобщаются к использованию ПК и простейших численных методов, не говоря уже о том, что при выполнении курсовых и дипломных проектов применение ПК становится нормой. Основной дисциплиной, непосредственно связанной с вычислительной техникой, являются основные численные методы. Она изучает методы построения и исследования численных методов решения математических задач, которые моделируют различные гидрометеорологические процессы. Главной задачей раздела “Основные численные методы” дисциплины “Математика” является понимание основных понятий и идей численного анализа, особенностей и областей его применения. Изучение основных численных методов преследует следующие цели: 1. усвоение и закрепление основных алгоритмов, понятий и определений; 2. практическое решение типичных задач, требующих небольшого объема вычислений; 3. решение достаточно сложных в вычислительном отношении задач, требующих для их численной реализации использование ПК. В результате изучения дисциплины студент овладевает знаниями теории основных вычислительных алгоритмов, умением реально убедиться в действительных возможностях и свойствах на примере численного решения типичных модельных и прикладных задач. ОБЩИЕ УКАЗАНИЯ В пособии излагаются основные теоретические сведения по численным методам решения задач алгебры, анализа, обыкновенных дифференциальных уравнений и уравнений математической физики. Изложение основных численных методов не может не опираться на материал из математического анализа и 3 линейной алгебры в объеме программы дисциплины “Математика”. Впрочем, справочные сведения по линейной алгебре, в порядке напоминания, приводятся в теме 2. Студент должен выполнить одну контрольную работу, которая состоит из решения пяти задач. Изучение дисциплины завершается экзаменом у метеорологов и зачетом у гидрологов и океанологов. ЛИТЕРАТУРА 1. Турчак А. И. Основы численных методов. М.: Наука, 1987.320 c. 2. Косарев В. И. 12 лекций по вычислительной математике. М.: Изд-во МФТИ, 1995.176 c. 3. Рябенький В. С. Введение в вычислительную математику. М.: Физматлит, 1994.336 с. 4. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. М.: Наука, 1987.600 c. 5. Самарский А. А., Гулин А. В. Численные методы. М.: Наука, 1989.432 c. 6. Амосов А. А., Дубинский Ю. А., Копченова Н. В. Вычислительные методы для инженеров. М.: Высшая школа, 1994.544 c. 7. Азаров А. И. и др. Сборник задач по методам вычислений. М.: Физматлит, 1994.320 с. 8. Копченова Н. В., Марон И. А. Вычислительная математика в примерах и задачах. М.: Наука, 1972.369 c. 9. Веретенников В. Н. Программа дисциплины “МАТЕМАТИКА”. – СПб.: изд. РГГМУ, 2007. 18 с. 10. Веретенников В. Н. Основные численные методы (конспект лекций). СПб.: изд. РГГМУ, 2007. – 170 с. 11. Краснов М. Л. и др. Высшая математика: Учебник. Т.6. – М.: Едиториал УРСС, 2003. – 256 c. 4 УКАЗАНИЯ ПО РАЗДЕЛАМ Элементы теории погрешностей Литература [1] – гл. 1; [4] – гл. 1; [5] – ч. I, п. 2; [6] – гл. 2; [7] – гл. 1; [8] – гл. 1. Основные теоретические сведения 1. Под погрешностью понимается некоторая величина, характеризующая точность результата. Существует три вида погрешностей: а) неустранимая погрешность, возникающая из-за неточности исходной информации, например, неточности измерений; б) погрешность метода; в) погрешность вычислений, возникающая из-за округлений. 2. Пусть a точное (вообще говоря, неизвестное) значение некоторой величины, a* известное приближенное значение той же величины (приближенное число). Ошибкой (или погрешностью) приближенного числа a* называется разность a a* между точным и приближенным значениями. Количественной простейшей мерой ошибки является абсолютная погрешность a | a a | . (1.1) Показателем качества вычисления служит относительная погрешность a* | a a | a* , |a| |a| (1.2) Чем меньше относительная погрешность, тем выше точность вычислений. Так как значение a неизвестно, то непосредственное вычисление величин a* и a* по формулам (1.1), (1.2) невозможно. Более реальная и часто поддающаяся решению задача состоит в получении оценок погрешности вида | a a | a* . (1.3) 5 | a a* | a , |a| (1.4) где a* и a* известные величины, которые будем называть верхними границами (или просто границами) абсолютной и относительной погрешностей. Абсолютные и относительные погрешности числа принято округлять только в большую сторону, так как при округлениях границы неопределенности числа, как правило, увеличиваются. По этой причине вычисления ведут с однимдвумя запасными знаками. Значащими цифрами числа a* называют все цифры в его записи, начиная с первой ненулевой слева. Значащая цифра называется верной, если абсолютная погрешность числа не превосходит 12 единицы разряда, соответствующего этой цифре. 3. Запись приближенного числа. Вообще приближенное значение принято записывать так, чтобы все цифры в записи были верными. Такая запись приближенных чисел позволяет грубо судить об их погрешностях и потому не требует дополнительного выписывания погрешностей. В том случае, когда число содержит сомнительные цифры или имеет слишком много десятичных знаков, производят округление. Округление чисел, записанных в десятичной системе, производится по правилу первой отбрасываемой цифры: 1) если первая из отбрасываемых цифр меньше 5, то оставляемые десятичные знаки сохраняются без изменения; 2) если первая из отбрасываемых цифр больше 5, то последняя оставляемая цифра увеличивается на единицу; 3) если первая из отбрасываемых цифр равна 5, а за ней идут не нули, то последняя оставляемая цифра увеличивается на единицу; 4) если первая из отбрасываемых цифр равна 5, и все значащие цифры, идущие за ней, нули, то последняя оставляемая цифра увеличивается на единицу, если она нечетная, и остается без изменения, если четная. Это правило округления обеспечивает увеличение абсолютной погрешности не более чем на половину последнего сохраняемого разряда. При работе на ПК используются как способ отбрасывания всех разрядов, не помещающихся в ячейку, без изменения последней цифры, так и предшествующее отбрасыванию округление по правилу, аналогичному приведенному выше. Второй режим работы требует больших затрат машинного времени. 6 Пример 1.1. У чисел a* 1.275038 , a* 0.0204 и a* 0.0204000 значащие цифры подчеркнуты. Первое число имеет 7, второе 3, а третье 6 значащих цифр. В приближенном числе a a1 10k 1 a2 10k 2 am 10k m am1 10k m1 (1.5) цифра am называется верной (по данному выше определению), если a* 0.5 10k m . Очевидно, если am верная цифра, то и все предшествующие цифры числа верные. Пусть a m верная последняя цифра, тогда число верных знаков приближенного числа будет равно m. Если неравенство a* 0.510k m не выполняется, то цифра am называется сомнительной. Пример 1.2. Пусть a* 12 .396 и известно, что a* 0.03. Сколько верных значащих цифр у числа a* ▲1 В данном примере a 12.396 1101 2 10 0 3 10 1 9 10 2 6 10 3 , т. е. k 2 (сравнивая с формулой (1.5)). Тогда имеем a* 0.5 102m; 0.03 0.5 102m ; т. е. m 3. Значит, у числа a* верные знаки 1, 2, 3, а 9 и 6 сомнительные. ▼ Пример 1.3. Пусть a* 0.037862 и a* 0.007 . ▲ Здесь k 1, 0.007 0.5 102m , m 1 . Значит, у числа a* все цифры сомнительные. ▼ 1 Начало решения примеров обозначается символом – ▲, а конец – ▼. 7 Вопросы для самопроверки 1. Что понимают под погрешностью? 2. Каковы виды погрешностей? 3. Что понимают под погрешностью приближенного числа? 4. Какова количественная мера ошибки? 5. Что служит показателем качества вычислений? 6. Что называют значащими цифрами приближенного числа? 7. Сформулируйте правила округления чисел, записанных в десятичной системе счисления. Численные методы решения систем линейных алгебраических уравнений Литература [1] – гл. 4, п.13; [2] – л. 2, 3; [3] – ч. 2, гл. 4, п. 24, гл. 5, п. 1; [4] – гл. 6, п. 1, 3, 7, 11; [5] – ч. 2, гл. 1, п. 1, 3, 6, гл. 2, п. 13; [6] – гл. 5, п. 5.15.5, 5.9, гл. 6; [7] – гл. 2, п. 1, 3; [8] – гл. 3, п. 1, 2, 4, 9, 10. Основные теоретические сведения 1. Постановка задачи. Требуется найти решение системы линейных алгебраических уравнений (СЛАУ), которую можно записать в следующей (канонической) форме a11 x1 a12 x2 a1n xn b1 , a 21 x1 a 22 x2 a 2 n xn b2 , . . . . . . . . . a n1 x1 a n 2 x2 a nn xn bn или в матричной форме AX B , где a11 a12 a22 a A 21 a n1 an 2 8 a1n x1 b1 a2n x2 b , X , B 2 . x b ann n n (2.1) Будем считать, что A 0 , т. е. решение (2.1) существует и единственно. Численные методы решения СЛАУ делятся на следующие две группы: точные или прямые методы и итерационные. Методы, которые позволяют найти решение задачи при помощи конечного числа элементарных арифметических и логических операций (сложить, вычесть, перенести результат из одного места в другое), относят к точным методам. Название этих методов вытекает из того, что, если исходные данные задачи определены точно и вычисления проводятся точно (без ошибок округления), то решение также получается точное. В точных методах число необходимых для решения вычислительных операций зависит только от вида вычислительной схемы и от порядка матрицы, определяющей данную задачу. Итерационные методы (методы последовательных приближений) решения СЛАУ характеризуются тем, что точное решение системы они могут, вообще говоря, давать лишь как предел некоторой бесконечной последовательности векторов {X(n) } . Эта последовательность сходится при n к решению задачи (2.1). На практике при использовании итерационных методов ограничиваются вычислением конечного числа приближений в зависимости от допустимого уровня погрешности. Решением системы линейных алгебраических уравнений (СЛАУ) (2.1) является вектор X ( x1, x2 , , xn )T , который будем рассматривать как элемент векторного пространства R n . Приближенное решение X x1* , x2* , , xn* T и погрешность X X ( x1 x1* , , xn xn* )T также являются элементами пространства R n . Для того чтобы анализировать методы решения систем, необходимо уметь количественно оценивать «величины» векторов X* и X X* , а также векторов B и B B* , где B (b1* , b2* , , bn* )T вектор приближенно заданных правых частей. Удобной для этой цели количественной характеристикой является широко используемое понятие нормы вектора. Нормой вектора X называется число, обозначаемое X и удовлетворяющее условиям: 1) X 0, X 0 X O , 2) X X , α скаляр, 3) X Y X Y . 9 Примеры норм: n X1 x , i i 1 1 2 n 2 X 2 xi евклидова норма, i 1 X max xi равномерная норма. (2.2) 1 i n Пример 2.1. Для вектора X (1; 2; 3; 5)T вычислить X 1 , X 2 , X . ▲ По формулам (2.2) определяем X 1 | 1 | | 2 | | 3 | | 5 | 11; X X 2 | 1 |2 | 2 |2 | 3 |2 | 5 |2 1 2 39 6.2; ▼ max( | 1 |; | 2 |; | 3 |; | 5 |) 5. Пространство с введенной в нем нормой называют нормированным. Одновременно оно является метрическим, т. к. норма определяет метрику расстояние между элементами пространства: X, Y X Y . Замечание. Справедливы неравенства X X 2 X 1 n X , указывающие на то, что в определенном смысле все три введенные нормы эквивалентны: каждая из них оценивается любой из двух других норм с точностью до множителя, зависящего от n . 2. Абсолютная и относительная погрешность вектора. Пусть в пространстве nмерных векторов R n введена и фиксирована некоторая норма X (например, одна из норм (2.2)). В этом случае в качестве меры степени близости векторов X и X* естественно использовать величину X X* , являющуюся аналогом расстояния между точками X и X* . Введем абсолютную и относительную погрешности вектора X* с помощью формул X X X , X * 10 * * X X* X . (2.3) Выбор той или иной конкретной нормы в практических задачах диктуется тем, какие требования предъявляются к точности решения. Выбор нормы X 1 фактически отвечает случаю, когда малой должна быть суммарная абсолютная ошибка в компонентах решения; выбор X 2 соответствует критерию малости среднеквадратичной ошибки, а принятие в качестве нормы X означает, что малой должна быть максимальная из абсолютных ошибок в компонентах решения. 3. Нормой квадратной матрицы A называется число, обозначаемое A и удовлетворяющее свойствам: 1) A 0, A 0 A O , 2) A A , α скаляр, 3) A B A B , 4) A B A B . Норма матрицы A согласована с нормой вектора X , если A X A X . Норма матрицы A называется подчиненной норме вектора X, если A вводится следующим образом: A max X O AX X . Как следует из этого определения, каждой из векторных норм X соответствует своя подчиненная норма матрицы A. Известно, в частности, что нормам X 1 , X A 1, A 2 и A 2 и X подчинены нормы , вычисляемые по формулам: n A 1 max 1 j n A 2 a ij , (2.4) i 1 n A E ai j i , j 1 2 1 2 , (2.5) 11 n A Здесь A E max 1i n a ij . (2.6) j 1 величина, называемая евклидовой нормой матрицы A. Пример 2.2. Вычислить A 1 , A и оценить A 2 для матрицы 4 2 1 A 5 3 2 . 6 7 3 ▲ В соответствии с формулами (2.4), (2.6) и неравенством (2.5) имеем A 1 max 2 5 6 , 1 3 7 , 4 2 3 max 13, 11, 9 13 ; A A max 2 1 4 , 5 3 2 , 6 7 3 max 7, 10, 16 16 ; 2 A E 22 (1) 2 42 (5) 2 32 (2) 2 62 (7) 2 32 1 2 153 12.2 . ▼ 4. Обусловленность СЛАУ. Теоретически решение системы AX B дается формулой X A 1B , где A1 матрица, обратная к A. Как известно, A1 существует в том и только в том случае, если A 0 . Матрица системы A и ее правая часть B во многих случаях задаются приближенно. Причины погрешности могут быть самые разные – от ошибок округления при вводе чисел в ПК до ошибок измерения, если система связана с обработкой экспериментальных данных. Ошибки вносит также вычислительный процесс. Однако если элементы матрицы A заданы приближенно, возможно, что даже сам вопрос о том, имеет ли матрица A отличный от нуля определитель или нет, лишен смысла. Именно, может случиться, что при точном вычислении определителя, исходя из приближенных значений элементов матрицы, принятых за точные, определитель оказывается отличным от нуля, но изменение элементов в пределах точности их задания может привести к матрице с нулевым определителем. Ясно, 12 что система с матрицей, обладающей указанным свойством, не может быть решена со сколько-нибудь удовлетворительной точностью. Система практически оказывается несовместной. Будем называть обратную матрицу устойчивой, если малым изменениям в элементах матрицы будут соответствовать малые изменения в элементах обратной матрицы. Будем называть матрицу плохо обусловленной, если соответствующая ей обратная матрица будет неустойчивой. Чувствительность решения к возмущению (погрешностям) входных данных можно охарактеризовать с помощью так называемого числа обусловленности, обозначаемого (A) . Числом обусловленности матрицы A называют число (A) A A 1 . (2.7) Таким образом, число обусловленности зависит от выбора нормы векторов в пространстве R n . В частности, выбору нормы X X 1 отвечает 1 ( A) A 1 A 1 ; если 1 , то будем писать (A) ; если X 2 , то будем писать 2 ( A) . Всегда справедливо неравенство (A) 1 . Число (A) как характеристика системы AX B . Теорема 2.1. Пусть правая часть линейного уравнения (2.1) где A невырожденная матрица, получила погрешность приращение B . Тогда решение X уравнения получит некоторое приращение X , так что A(X X) B B . Относительная погрешность X X (2.8) решения удовлетворяет неравенству X X ( A) B B . (2.9) Так как (A) 1 , оценка относительной погрешности результата хуже оценки 13 относительной погрешности правой части. Если (A) велико, то дело плохо, ибо малые ошибки правой части приводят к большим ошибкам результата. 5. Метод исключения Гаусса. Рассмотрим один из самых распространенных прямых методов решения СЛАУ – метод Гаусса. Этот метод (который называют также методом последовательного исключения неизвестных) известен в различных вариантах уже более 2000 лет. Типичная схема реализации метода Гаусса разделяется на два этапа: прямой ход и обратный ход. Прямой ход метода Гаусса заключается в последовательном исключении неизвестных из системы (2.1) для преобразования ее к эквивалентной системе с верхней треугольной матрицей. Вычисление значений неизвестных производят на этапе обратного хода. Если точно выполнить все требуемые в нем действия, то мы получим точное решение системы. В этом смысле способ Гаусса называют точным. Практически, впрочем, поскольку арифметические действия приходится выполнять с округлением, точного решения получить не удается. Опишем простой метод Гаусса (схема единственного деления). Для удобства изложения ограничимся рассмотрением системы четвертого порядка. Запишем рассматриваемую систему линейных алгебраических уравнений в виде 4 a ij x j ai 5 0, 1 i 4 , (2.10) j 1 где все члены перенесены в левую часть равенства. Из первого уравнения системы (2.10) выражаем x1 через остальные неизвестные. Получим x1 b12 x2 b13 x3 b14 x4 b15 , (2.11) a1 j где b1 j a , a11 0, 2 j 5 . Исключим из оставшихся уравнений x1 ; для 11 этого достаточно подставить значение x1 из (2.11) во 2, 3 и 4 уравнения системы (2.10). Переменную x1 называют ведущей переменной первого шага, а коэффициент a11 – ведущим элементом первого шага. В результате придем к СЛАУ из трех уравнений, не содержащих x1 : 4 a x 1 ij j 2 14 j a i15 0 . (2.12) Из способа получения этой системы видно, что a ij1 a ij a i1 b1 j , 2 i 4, 2 j 5 . Систему (2.12) можно подвергнуть тому же преобразованию, что и первоначальную. Продолжая этот процесс дальше, приходим к уравнению x4 b45 . Итак, получаем четыре уравнения (вида (2.11)), которые объединяем в систему x1 b12 x2 b13 x3 b14 x4 b15 , x2 b23 x3 b2 4 x4 b25 , x3 b34 x4 b35 , x b . 45 4 (2.13) Из уравнений (2.13) последовательно находим все xi , 1 i 4 . Указанный алгоритм может оказаться нереализуемым из-за деления на нуль или дать грубую ошибку в результате округлений. Сформулируем достаточное условие, гарантирующее вычислительную устойчивость метода Гаусса. Матрица a11 a1n a n1 a nn называется матрицей с диагональным преобладанием (величина 0 ), если ai i a ij , 1 i n . (2.14) j , j i Теорема 2.2. Пусть матрица A системы (2.1) является матрицей с диагональным преобладанием (величина 0 ). Тогда в алгоритме простого метода Гаусса не встречается деления на нуль. Напомним «механизм» возникновения больших погрешностей: 1) Деление на малые числа, 2) появление больших (по величине) промежуточных результатов, 15 3) потеря точности при вычитании больших (близких друг к другу) чисел. Таким образом, порядок последовательности исключения неизвестных может сильно сказаться на результатах расчетов (тем более для систем высокого порядка такой исход весьма вероятен). Уменьшить опасность подобного рода, т. е. уменьшить в процессе выкладок вероятность деления на малые числа, позволяют варианты метода Гаусса с выбором главного элемента. Перед исключением ведущей переменной отыскивается max aij . Допуi, j стим, максимум соответствует i i0 , j j0 . Тогда первое уравнение в исходной системе (2.1) меняем местами с i0 - м уравнением. (Для ЭВМ эта процедура связана с перестановкой двух строк расширенной матрицы (2.1)). Далее поменяем взаимно номера у неизвестных x1 и x j0 (максимальный по величине из коэффициентов окажется в позиции a11 ) и приступим к процедуре исключения x1 , и т. д. Метод исключения с выбором главного элемента по всей матрице коэффициентов на каждом шаге исключения является наиболее надежным и позволяет, как правило, существенно уменьшить неблагоприятное влияние погрешностей округления на результаты расчета. 6. Метод простых итераций (метод Якоби) состоит в том, что система уравнений (2.1) преобразуется к виду X C X Z (2.15) и ее решение вычисляется как предел последовательности Xk 1 C Xk Z . (2.16) К виду (2.15) систему можно привести, например, выделив диагональные элементы: xi 1 aii a i n 1 aij x j , 1 i n , j i n или n xi zi c x , 1 i n . ij j i 16 j (2.17) Здесь z1 ai n1 aii , ci j aij aii . Теорема 2.3. Для сходимости итераций (2.16) к решению системы (2.15) необходимо и достаточно, чтобы все собственные значения матрицы C по абсолютной величине были меньше единицы. Теорема 2.4. Для сходимости итераций (2.16) к решению системы (2.15) достаточно, чтобы в какой-либо норме выполнялось условие C 1. (2.18) X k X* C X 0 X* , (2.19) Тогда независимо от выбора X 0 k где X* точное решение (2.15). Очередное приближение в методе простых итераций вычисляется по формуле xik 1 n c k ij x j zi , 1 i n , (2.20) j 2 где k 0, 1, номер очередного приближения к решению. В качестве критерия окончания итерационного процесса может быть использовано неравенство X k X k 1 1 , где 1 1 C C (2.21) , если требуется найти решение с точностью ε. 7. Метод Зейделя. Пусть система (2.1) приведена к виду (2.17). Метод Зейделя можно рассматривать как модификацию метода Якоби. Основная идея модификации состоит в том, что при вычислении очередного (k 1) - го приближения к неизвестному xi при i 1 используют уже найденные (k 1) - е приближения к неизвестным x1 , , xi 1 , а не k приближения, как в методе Якоби. На (k 1) - ой итерации компоненты приближения x k 1 вычисляются по формулам 17 xik 1 i 1 cij x jk 1 j 1 n c x z , 1 i n k ij j i (2.22) j i Вводя нижнюю и верхнюю треугольные матрицы 0 0 c21 0 C1 c31 c32 c c n1 n 2 0 0 0 cn3 0 0 c12 0 0 0 0 , C2 0 0 0 0 0 c13 c1n c23 c2 n 0 c3 n , 0 0 0 расчетные формулы метода примут компактный вид: Xk 1 C1 Xk 1 C2 Xk Z . (2.23) Теорема 2.5. (достаточное условие сходимости). Пусть C 1 , где C одна из норм C , C 1 . Тогда при любом выборе начального приближения X 0 метод Зейделя сходится со скоростью геометрической прогрессии, знаменатель которой q C . В качестве критерия окончания итерационного процесса может быть использовано неравенство X k X k 1 2 , где 2 1 C C (2.24) и ε – точность решения. Простота вычислительных схем и однообразие производимых операций делают эти методы удобными при использовании вычислительной техники. Привлекательным является и свойство самоисправляемости таких методов. Это свойство делает их менее чувствительными по сравнению с точными методами к отдельным ошибкам, допущенным в процессе вычислений. Если при использовании точных методов отдельный сбой в вычислениях неизбежно ведет к ошибке в окончательном результате, то в случае сходящегося итерационного процесса такой сбой влечет за собой, вообще говоря, только лишние приближения. Ошибка, допущенная в каком-то приближении, будет в даль18 нейшем исправлена последующими приближениями. Однако итерационные методы не являются универсальными. Их сходимость существенным образом зависит от элементов матрицы, определяющих данную задачу. Быстрота сходимости каждого итерационного процесса зависит также и от удачного выбора вектора начального приближения. Пример 2.3. Решить СЛАУ простым методом Гаусса, проведя все вычисления с шестью значащими цифрами 87 .526 x1 17 .576 x2 18 .000 x3 20 .148 0, 17.576 x1 18.000 x2 2.600 x3 28.980 0, 18.000 x 2.600 x 6.000 x 11.400 0. 1 2 3 ▲ При вычислениях могут произойти ошибки, поэтому необходим контроль вычислений, который основан на следующем соображении. Рассмотрим { y j } 3j 1 , причем будем считать, что y j x j 1 1 j 3 . Тогда 3 j 1 3 ai j y j 3 ai j ( x j 1) j 1 3 ai j x j j 1 j 1 3 3 ai j ai 4 4 ai j j 1 a ij , j 1 4 ai j y j ai 5 0, ai 5 j 1 a i j, 1 i 3. j 1 Таким образом, имеем две системы, у которых различны свободные члены 3 j 1 3 ai j x j ai 4 0 и a ijyj ai 5 0 (1 i 3) . j 1 Поэтому для контроля в прямом ходе (приведение системы к треугольному виду (2.13)) необходимо дополнительно вести над элементами {a i5 }13 такие же преобразования, как и над {a i 4 }13 . Обратный ход (определение неизвестных из (2.13)) следует выполнить отдельно для вычисления {x j }13 и { y j }13 . Если окажется, что справедливо равенство y j x j 1 1 j 3 , то вычисления выполняются правильно. Кроме того, имеем возможность контролировать промежуточные вы19 числения, поскольку в процессе всех вычислений сумма элементов строки 3 ai j , 1 i 3 должна быть всегда равна последнему контрольному элемен j 1 ту данной строки ai5 , 1 i 3 . Разберем схему записи вычислений при их практическом выполнении. Прямой ход в свою очередь делится на несколько этапов, которые условно обозначим через ПХ1, ПХ2, ПХ3, ПХ4; обратный ход обозначим через ОХ. Все результаты вычислений будем записывать в одну таблицу 2.1, порядок заполнения которой следующий. В раздел ПХ1 табл. 2.1 записываем расширенную матрицу системы (коэффициенты при неизвестных и свободные члены) и для каждой строки контрольные суммы K1 , равные сумме элементов в данной строке. Затем к этим числам присоединяем строку элементов bi j уравнения (2.11). Числа в этой строке получаются делением всех элементов первой строки на ее крайний левый элемент, взятый с противоположным знаком. Например, .576 b12 17 0.200809 (назовем эту строку «отмеченной»). 87.526 Элементы раздела ПХ2 вычисляем по следующему правилу: к каждому элементу матрицы раздела ПХ1 (кроме первой и последней строки) прибавляется произведение крайнего левого элемента той же строки на крайний нижний элемент того же столбца. Элементы «отмеченной» строки раздела ПХ2 получим путем деления всех элементов первой вновь полученной строки на ее крайний левый элемент, взятый с противоположным знаком. Этим завершаются вычисления раздела ПХ2. Аналогично выполняются вычисления раздела ПХ3. В разделе ПХ3 находим неизвестное x3 и на этом завершаем прямой ход вычислений. Для вычисления элементов раздела ОХ, т. е. для нахождения неизвестных, используем «отмеченные» строки, начиная с последней строки. На пересечении первой строки раздела ОХ со столбцом свободных членов записываем 1, а со столбцом контрольной суммы 0 . Для вычисления неизвестных x j можно воспользоваться следующим правилом: каждое неизвестное x j равно скалярному произведению уже вычисленной части строки неизвестных (первая строка ОХ) на соответствующую часть («отмеченной») строки схемы ПХ1 Контроль осуществляется с помощью столбцов K. Над столбцами K производятся те же действия, что и над остальными столбцами. В итоге сумма 20 элементов каждой строки схемы (без столбца K) должна быть равна элементу этой строки из столбца K. Таблица 2.1 Коэффициенты при x1 ПХ1 x2 87.526000 17.576000 18.000000 1 17.576000 18.000000 2.600000 0.200811 14.470583 1.014560 1 1.004241 2.004241 2.006566 3.006566 ПХ2 ПХ3 ОХ Свободные члены x3 18.000000 2.600000 6.000000 0.205650 1.014560 2.298243 0.070112 2.227110 1 4.043212 3.043212 20.148000 28.980000 11.400000 0.230190 24.934102 7.256500 1.723089 9.004677 4.043212 1 0 K 67.802000 26.804000 10.000000 0.774650 40.419245 3.943697 2.793200 6.777567 3.043212 0 1 Для контроля на обратном ходе на пересечении второй строки раздела ОХ со столбцом свободных членов записываем 0, а со столбцом контрольной суммы (K) 1. Для вычисления неизвестных y j используем последнее правило, при этом, как уже отмечалось, y j x j 1 . Имеем: x1 1.004241 , x2 2.006566 , x3 4.043212 . ▼ Пример 2.4. Используя метод простой итерации (Якоби), найти решение системы 4 x1 x2 2 x3 1.75, x1 5 x2 3x 3 2.5, 2 x1 x2 8 x3 0.25, (2.25) с точностью 10 4 в норме . ▲ Вычисляя коэффициенты по формулам 21 ci j ai j , zi aii bi 1 i, j n, j i , aii (2.26) приведем систему к виду, удобному для итераций. Для этого из первого уравнения системы (2.25) выразим неизвестное x1 , из второго уравнения неизвестное x2 , из третьего неизвестное x3 . В результате получим систему 0.25 x2 0.5 x3 0.4375 , x1 0.6 x3 0.5, x2 0.20 x1 x 0.25 x 0.125 x 0.03125 . 1 2 3 (2.27) В последнем уравнении коэффициенты даны с точностью до погрешности округления. Здесь 0.25 0.5 0 0.4375 C 0.2 0 0.6 , Z 0.5 . 0.25 0.125 0.03125 0 Достаточное условие сходимости метода простой итерации выполнено, так как C max 0.75, 0.8, 0.375 0.8 1 . i Примем за начальное приближение к решению вектор X0 0.43750 , 0.50000 , 0.03125 T и будем вести итерации по формуле xik 1 zi 3 c x ij k j j 1 до выполнения критерия окончания (2.21), где в данном случае 1 100.8.8 10 4 0.25 10 4 . 22 Значения приближений в таблице 2.2 приводятся с пятью цифрами после десятичной точки. При k=8 условие (2.21) выполняется и можно положить x1 0.3077 0.0001 , x2 0.4038 0.0001, x3 0.0577 0.0001 . Таблица 2.2 X k X k 1 k x1k x2k x3k 0 1 2 3 4 0.43750 0.29688 0.30000 0.31094 0.30742 0.50000 0.39375 0.39375 0.40625 0.40359 0.03125 0.07812 0.05625 0.05703 0.05820 3.52 10 3 5 0.30750 0.40360 0.05766 5.4 10 4 6 0.30777 0.40390 0.05768 3 10 4 7 0.30768 0.40384 0.05770 9 10 5 8 0.30769 0.40384 0.05769 110 5 0.14062 0.02187 0.01250 Итак: x1 0.3077 0.0001, x2 0.4038 0.0001 , x3 0.0577 0.0001 . ▼ Пример 2.5. Используя метод Зейделя, найти решение системы (2.25) с точностью 10 4 . ▲ После приведения системы к виду (2.27) убеждаемся, что C 1 (см. пример 2.4). В силу теоремы 5 метод Зейделя сходится. T Положим X0 0.43750, 0.50000, 0.03125 , и будем вычислять последовательно приближения по формулам xik 1 zi i 1 cij x jk 1 j 1 3 c x , ij k j j i 1 где c i j и z i находятся по формулам (2.26). 23 0 0.25 0.5 Здесь C 2 0 0 0.6 и C2 max 0.75, 0.6, 0 0.75 . Будем i 0 0 0 вести итерации до выполнения критерия окончания (2.24), где 2 10 4 100.8.8 2.7 10 4 . Значения приближений с пятью цифрами после десятичной точки приведены в таблице 2.3. Таблица 2.3 k X X k 1 k x1k x2k x3k 0 1 2 3 0.43750 0.29688 0.30566 0.30732 0.50000 0.42187 0.40722 0.40448 0.03125 0.05274 0.05676 0.05752 2.74 10 3 4 0.30762 0.40396 0.05766 5.2 10 4 5 0.30768 0.40387 0.05769 6 10 5 6 0.30769 0.40385 0.05769 2 10 5 0.14062 0.01465 При значении k 6 критерий окончания выполняется и можно положить x1 0.3077 0.0001 , x2 0.4038 0.0001, x3 0.0577 0.0001 . ▼ Вопросы для самопроверки 1. Какие методы называются точными или прямыми? 2. Какие методы называются итерационными? 3. Сформулируйте определение нормы вектора? 4. Сформулируйте определение нормы квадратной матрицы? 5. Что характеризует конкретная норма вектора? 6. Что понимают под согласованием нормы матрицы с нормой вектора? 7. Что значит, что норма матрицы подчинена норме вектора? 8. Какая обратная матрица называется неустойчивой? 9. Какая матрица называется плохо обусловленной? 10. Чем характеризуется чувствительность решения системы к возмущению входных данных? 24 11. Почему оценка относительной погрешности результата хуже оценки относительной погрешности правой части системы? 12. Какие коэффициенты называются ведущими в простом методе Гаусса? 13. В чем заключается прямой ход при решении СЛАУ методом Гаусса? 14. Что такое обратный ход метода Гаусса? 15. Каковы недостатки схемы единственного деления? 16. Сформулируйте теорему о достаточном условии сходимости простого метода Гаусса. 17. Является ли метод Гаусса точным или приближенным? 18. Чем отличается схема единственного деления от схемы главного элемента? 19. Каковы достоинства итерационных методов решения СЛАУ? 20. В чем заключаются преобразования исходной системы для проведения итераций? 21. Сформулируйте теорему о необходимом и достаточном условии сходимости метода простых итераций. 22. Сформулируйте теорему о достаточном условии сходимости метода простых итераций. 23. В чем заключается критерий окончания итерационного процесса? 24. Чем отличается метод простых итераций от метода Зейделя? Приближение функций Литература [1] – Гл. 2; [2] – л. 5, 6; [3] – ч. I, гл. 1; [4] – гл. II, п. 13, 1013, гл. IV, п. 11; [5] – ч. 2, гл. 3, п. 1, 2, 4; [6] – гл. 11, п. 11.1, 11.311.5, 11.711.9, 11.13; [7] – гл. 6; [8] – гл. V, п. 1, 2, 4. Основные теоретические сведения 1. Постановка задачи о приближении (аппроксимации) функции: данную функцию f (x) требуется приближенно заменить (аппроксимировать) некоторой функцией G(x) так, чтобы отклонение (в некотором смысле) G( x) от f ( x) в заданной области было наименьшим. Функция G(x) при этом называется аппроксимирующей. В процессе численной реализации этого подхода необходимо рассмотреть следующие четыре основных вопроса: 25 1. об имеющейся информации относительно функции f (x) , т.е. о виде, в котором задана функция f (x) ; 2. о классе аппроксимирующих функций, т.е. о том, какими функциями G(x) будет аппроксимирована функция f (x) ; 3. о близости аппроксимируемой и аппроксимирующей функций, т. е. о выборе критерия согласия, которому должна удовлетворять функция G(x) ; 4. о погрешности, т.е. об определении разности между точным и приближенным значениями. В вопросе об информации относительно функции f различают два основных случая: либо функция задана аналитически, либо в виде таблицы. Графический способ задания функции относят либо к первому, либо ко второму случаю в зависимости от конкретной задачи. В вопросе о классе аппроксимирующих функций следует руководствоваться двумя главными факторами. Во-первых, аппроксимирующая функция должна отражать характерные особенности аппроксимируемой, а во-вторых, быть достаточно удобной в обращении, т. е. при выполнении над ней необходимых операций. В численном анализе широкое применение имеют три группы аппроксимирующих функций. Первая – это функции вида 1, x, , x n , линейные комбинации которых порождают класс всех многочленов степени не выше n. Вторую группу образуют тригонометрические функции sin ai x и cos ai x , порождающие ряды Фурье, и интеграл Фурье. Наконец, третья группа состоит из экспоненциальных функций e ai x , определяющих явления типа распада и накопления, часто встречающиеся в реальных ситуациях. Вопрос о критерии согласия, по существу, заключается в том, чтобы определить некоторым образом «расстояние» между аппроксимируемой функцией и аппроксимирующими функциями. Затем из всего класса аппроксимирующих функций выбрать ту, для которой это «расстояние» минимально. Наконец, последний вопрос – о точности получаемого решения – во многих отношениях является основным, т.к. в конечном итоге качество метода определяется в первую очередь быстротой получения решения с требуемой точностью, или, как еще говорят, скоростью сходимости. Поэтому понятно, что выбор узловых точек, класса аппроксимирующих функций и критерия согласия должен быть подчинен одному вопросу – о требуемой точности. На первый взгляд вопрос о точности получаемого решения кажется довольно простым: необходимо, чтобы приближенное решение отличалось от точного решения не более чем на заданное число ε. 26 Однако вопрос о возможности сколь угодно точного приближения функции f, зависящий от перечисленных выше «параметров» (узлы x i , класс функций G, критерий согласия f и G), в общем случае остается открытым и подлежит исследованию для каждого конкретного аппроксимационного процесса. Если приближение строится на заданном дискретном множестве точек {xi }0n , то аппроксимация называется точечной. К ней относятся интерполирование, среднеквадратичное приближение и др. При построении приближения на непрерывном множестве точек (например, на отрезке [a; b]) аппроксимация называется непрерывной (или интегральной). 2. Постановка задачи интерполяции. 1. Информация относительно аппроксимируемой функции Пусть заданы точки x0 , x1 ,, xn и значения f ( x0 ), f ( x1 ), , f ( xn ) функции f (x) в этих точках. Соответствие x0 x1 Таблица 3.1 xn f ( x0 ) f ( x1 ) f ( xn ) будем называть таблицей значений функции f (x) в узлах x0 , x1 , , xn и говорить, что функция f (x) задана таблицей своих значений yi f ( xi ), 0 i n . (3.1) 2. Класс аппроксимирующих функций В качестве аппроксимирующей функции будем принимать многочлен некоторой степени n. n Gn ( x) a0 a1 x a2 x 2 an x n a x k k . (3.2) k 0 3. Выбор критерия согласия Наибольший интерес представляет частный случай, когда для аппроксимирующей функции расстояние 0 . Это означает, что для табулирования функции y f (x) , заданной своими значениями (3.1) требуется построить аппроксимирующую функцию G(x) , совпадающую в узлах x i со значениями заданной функции y f (x) , т. е. такую, что G( xi ) yi . 27 Задача интерполяции состоит в построении функции G(x) , удовлетворяющей условию: (3.3) G( xi ) f ( xi ), (0 i n) \. Другими словами, ставится задача о построении функции G(x) , график которой проходит через заданные точки ( xi ; yi ) . Указанный способ приближения функций принято называть интерполяцией (или интерполированием), а точки x i – узлами интерполяции. Выбор функции G(x) неоднозначен, так как по заданной таблице можно построить бесконечно много интерполирующих функций. Для практики весьма важен случай аппроксимации функции многочленом (3.2). При этом коэффициенты a j будут подбираться так, чтобы достичь наименьшего отклонения многочлена от данной функции. Экстраполяция. Пусть xmin , xmax минимальный и максимальный узлы интерполяции. В случае, когда интерполяция используется для вычисления приближенного значения функции f (x) в точке x, не принадлежащей отрезку [ xmin ; xmax ] (отрезку наблюдения), принято говорить о том, что осуществляется экстраполяция. Этот метод приближения часто используют с целью прогнозирования характера протекания тех или иных процессов при значениях параметра x, выходящих за пределы отрезка наблюдения. Алгебраическим интерполяционным многочленом Gn (x) назовем многочлен Gn x a0 a1 x an x n n a x k k (3.4) k 0 степени не выше n, который в узлах x0 , x1 , , xn принимает значения f ( x0 ) , f ( x1 ), , f ( xn ) , Gn xi f xi 0 i n . (3.5) Существование и единственность интерполяционного многочлена вытекают из теоремы. Теорема 3.1. Существует единственный интерполяционный многочлен степени n, удовлетворяющий условиям (3.5). Непосредственное определение коэффициентов ak интерполяционного многочлена связано с некоторыми вычислительными трудностями. Поэтому 28 при решении практических задач имеют дело со специальными видами интерполяционного многочлена. Интерполяционный многочлен в форме Лагранжа Приведем одну из форм записи интерполяционного многочлена многочлен Лагранжа. Ln x n x x0 x x1 x xi 1 x xi 1 x x n . i 0 i 1 i i 1 xi xi 1 xi xn y x x x x x x i i 0 (3.6) Если ввести в рассмотрение многочлен специального вида n 1 - й степени n1 ( x) x x0 x x1 x xn , (3.7) тогда многочлен Лагранжа можно записать в виде n Ln ( x) y i 0 i n1 ( x) . ( x xi )n ( xi ) (3.8) В инженерной практике наиболее часто используется интерполяция первой n 1 , второй n 2 и третьей n 3 степени (линейная, квадратичная и кубическая интерполяция). Пример 3.1. Положим n 1 . Ясно, что мы имеем в этом случае две точки x0 x1 y0 f ( x0 ) y1 f ( x1 ) и интерполяционная формула Лагранжа дает уравнение прямой, проходящей через две заданные точки (рис. 3.1). Соответствующая формула для записи многочлена Лагранжа первой степени: L1 ( x) x x0 x x1 y0 . x0 x1 x1 x0 29 Пример 3.2. Примем n 2 . Тогда мы получим уравнение параболы, проходящей через три точки (рис.3.2). x0 x1 x2 y0 f ( x0 ) y1 f ( x1 ) y 2 f ( x2 ) Соответствующая формула для записи многочлена Лагранжа второй степени: L2 ( x) ( x x1 ) ( x x2 ) ( x x0 ) ( x x2 ) ( x x0 ) ( x x1 ) y0 y1 y2 . ( x0 x1 ) ( x0 x2 ) ( x1 x0 ) ( x1 x2 ) ( x2 x0 ) ( x2 x1 ) у у1 y f (x) y L2 ( x ) у0 y1 у0 О y f (x) y2 y L1( x) х0 х x1 O х0 Рис. 3.1 x1 х2 х Рис. 3.2 Если узлы упорядочены по величине, т.е. xi 1 xi для всех i, то величины hi xi 1 xi ; 0 i n называют шагами интерполяции. Если hi h const , т.е. xi x0 h (0 i n) , то говорят об интерполяции по равноотстоящим узлам. Интерполяционная формула Лагранжа заметно упрощается, если узлы x x0 интерполяции равноотстоящие. Вводя обозначение t , имеем h n Ln (t ) i 1 (1) n i t (t 1) (t n) f ( xi ) . i!(n i)!(t i) (3.9) Рассмотрим частные случаи: 1. Пусть n 1 . Тогда L1 (t ) (t 1) y0 ty1 . 2. Пусть n 2 . Имеем L2 (t ) 12 (t 1)(t 2) y0 t (t 2) y1 12 t (t 1) y2 . 30 Употребительны и другие записи (единственного) интерполяционного многочлена Gn (x) . Особенно часто используют запись в форме Ньютона. Интерполяционный многочлен в форме Ньютона. Конечные разности. Пусть функция y f (x) задана таблицей (3.1) своих значений. Величину yi yi 1 yi принято называть конечной разностью первого порядка функции y f (x) в точке x i (с шагом h). Конечная разность второго порядка определяется формулой 2 yi yi 1 yi . Аналогично определяются конечные разности третьего и более высоких порядков. Общее определение конечной разности порядка k таково: k yi k 1 yi 1 k 1 yi , k 1 и 0 yi yi . Если интерполируемая функция задана на таблице с постоянным шагом h (т.е. xi x0 ih, 0 i n ), то многочлен Ньютона можно записать в следующем виде: y 2 y0 3 y0 Pn ( x) Pn x0 ht y0 0 t t t 1 t t 1t 2 1! 2! 3! (3.10) n y0 t t 1 t n 1, n! x x0 где t . h Многочлен (3.10) называется интерполяционным многочленом Ньютона с конечными разностями для интерполяции вперед. x xn Если t , то можно записать многочлен в виде интерполяционh ного многочлена Ньютона с конечными разностями для интерполяции назад: y 2 yn 2 Pn ( x) Pn ( xn ht ) yn n 1 t t (t 1) 1! 2! (3.11) 3 yn 3 n y0 t (t 1)(t 2) t (t 1) (t n 1). 3! n! Частные случаи При интерполировании в таблицах обычно пользуются линейной или квадратичной интерполяцией. 31 В случае линейной интерполяции значение функции в точке, отличной от узлов интерполяции, определяется по двум известным значениям функции в двух узлах интерполяции, между которыми расположено интересующее нас значение аргумента x xi xi1 xi h yi f ( xi ) yi1 f ( xi1 ) Первая интерполяционная формула Ньютона P1 ( x) yi t yi , где t x xi , h y i y i 1 y i – первая конечная разность в точке x i . Итак, для получения приближенного значения функции y f (x) по формуле Ньютона достаточно к табличному значению yi прибавить поправку, равную yi ( x xi )h 1 . В случае квадратичной интерполяции используют три значения функции xi1 xi xi 1 yi1 f ( xi1 ) yi f ( xi ) yi1 f ( xi1 ) Вторая интерполяционная формула Ньютона P2 ( x) yi 1 t yi 1 t (t 1) 2 yi 1 . 2! Сравнение записей в форме Лагранжа и Ньютона Для вычисления значения функции f (x) в точке x, не являющейся узлом интерполяции, можно положить f ( x) Gn ( x) (где Gn ( x) либо Ln ( x), либо Pn ( x) ). Пусть Gn (x) уже найден, но мы решили для уточнения привлечь еще один узел x n 1 и значение f ( x n1 ) в нем. Тогда для вычисления Gn1 ( x) с помощью формулы Лагранжа (3.8 или 3.9) нужно заново провести всю работу. 32 Для вычисления по формуле Ньютона (3.10) или (3.11) нужно досчитать n1 y0 n 1 y0 t(t 1) (t n) или t(t 1) (t n) . Кстати, (n 1)! (n 1)! сразу будет видно, насколько она велика. Теперь ясно видно различие между формулами Ньютона и Лагранжа. В формуле Лагранжа (3.8, 3.9) каждое из слагаемых представляет многочлен n ой степени и все эти слагаемые равноправны. Поэтому мы не можем заранее (т. е. до производства вычислений) пренебрегать какими-либо из них. В формулу же Ньютона входят в качестве слагаемых многочлены повышающихся степеней, причем коэффициентами при них служат последовательные конечные разности, деленные на факториалы. Как мы уже видели, последовательные разности обычно довольно быстро уменьшаются. Поэтому мы получаем возможность, не учитывать в формуле Ньютона тех слагаемых, коэффициентами при которых становятся пренебрежимо малыми. Сравнение форм Лагранжа и Ньютона для интерполяционного многочлена позволяет рекомендовать использование представления в форме Лагранжа: а) во-первых, в теоретических исследованиях, например при изучении вопроса о сходимости Gn (x) к функции f при n ; б) во-вторых, при интерполировании нескольких функций на одной и той же сетке узлов, поскольку в этом случае можно один раз вычислить множители Лагранжа и использовать их для интерполяции всех функций. 4. Погрешность интерполяции Ошибка приближения функции интерполяционным многочленом n-й степени в точке x это разность n ( x) f ( x) Gn ( x) . Оценить значение погрешности позволяет следующая теорема. Теорема 3.2. Пусть функция f (x) дифференцируема (n 1) раз на отрезке только поправку a; b, содержащем узлы интерполяции n ( x) x i , 0 i n . Тогда f ( n 1) ( ) n 1 ( x), a; b. (n 1)! (3.12) Из (3.12) следует оценка погрешности интерполяции n ( x) M n 1 n 1 ( x) , M n 1 max f n 1 ( x) . a; b (n 1)! (3.13) 33 Погрешность интерполяции в точке x [a; b] относительно переменной t можно представить в виде n ( x) f ( x) Pn ( x) f ( n 1) ( ) n1 h t (t 1) (t n) , (n 1)! (3.14) где ξ – некоторая точка, принадлежащая интервалу (a; b). Если M n 1 max f n 1 ( x) , то оценка погрешности интерполяции в точке [ a; b ] x [a; b] , имеет вид M n 1 n 1 h t (t 1) (t n) , (n 1)! (3.15) 3. Интерполирование сплайнами. 1. Информация относительно аппроксимируемой функции Пусть функция f (x) определена на отрезке [a; b] , который разбит точками a x0 x1 x n b на n частичных отрезков [ xi 1; xi ] , и задана таблицей своих значений yi f ( xi ), 1 i n . 2. Класс аппроксимирующих функций Интерполяционным сплайном степени m называется функция S m (x) , обладающая следующими свойствами: 1) на каждом из частичных отрезков [ xi 1; xi ] (1 i n) S m ( x) является многочленом степени m; 2) функция S m (x) непрерывна на отрезке [a; b] вместе со всеми своими производными до порядка m 1 ; 3) Sm ( xi ) f ( xi ) (1 i n) . Если m 2 , то для единственности S m (x) следует задать еще m 1 условий, которые обычно задаются на концах отрезка [a; b] либо произвольно, либо из дополнительной информации о поведении f (x) . Разность между степенью сплайна и наивысшим порядком непрерывной на отрезке [a; b] производной называется дефектом сплайна. Если m 1 , то имеем сплайн первой степени (метод ломаных) с дефектом, равным единице, так как непрерывна только сама функция (нулевая производная), а первая производная уже разрывная. 34 Наиболее широкое распространение на практике получили сплайны S3 ( x) третьей степени (кубические сплайны) с дефектом, равным 1 или 2. На каждом из отрезков [ xi1; xi ] S3 ( x) является кубическим многочленом вида S3 ( x) ai bi ( x xi 1 ) ci ( x xi 1 ) 2 di ( x xi 1 )3 , xi 1 x xi , 1 i n; (3.16) 3. Выбор критерия согласия Функция S3 ( x) обладает следующими свойствами: 1) Функция S3 ( x) непрерывна вместе со своими производными до второго порядка включительно; 2) в узлах сетки xi in1 выполняются равенства S3 ( xi ) f ( xi ), 1 i n ; (3.17) 3) S3( x) удовлетворяет граничным условиям S3(a) S3(b) 0 . (3.18) 4. Метод наименьших квадратов. 1. Информация относительно аппроксимируемой функции Пусть функция y f (x) задана таблицей приближенных значений yi f ( xi ), (1 i n) . (3.19) Эти значения получены с ошибками i yi0 yi , где yi0 f ( xi ) . 2. Класс аппроксимирующих функций В качестве аппроксимирующей функции будем принимать многочлен некоторой степени m. Gm ( x) a0 x m a1 x m1 am1 x am m a x k mk . (3.20) k 0 Здесь a0 , a1 , , am – параметры модели, являющиеся коэффициентами многочлена Gm (x) . 35 3. Выбор критерия согласия Как нетрудно видеть, при интерполировании происходит повторение ошибок наблюдений, в то время как при обработке экспериментальных данных желательно, напротив, их сглаживание. Отказываясь от требования выполнения в точках x i точных равенств, следует все же стремиться к тому, чтобы в этих точках выполнялись соответствующие приближенные равенства Gm ( x) yi . Из различных критериев, позволяющих выбрать параметры a0 , a1 , , am модели так, чтобы приближенные равенства Gm ( x) yi удовлетворялись наилучшим в некотором смысле образом, наиболее часто используется критерий наименьших квадратов. Согласно этому критерию параметры выбираются так, чтобы минимизировать среднеm квадратичное уклонение многочлена Gm ( x) a x mk k от заданных таблич- k 0 ных значений yi (1 i n) . Итак, задача метода наименьших квадратов состоит в следующем. Требуется найти многочлен Gm (x) , для которого среднеквадратичное уклонение принимает минимальное значение n i2 i 1 n G m ( xi ) 2 min . i 1 1) Если m n (степень аппроксимирующего многочлена не меньше числа наблюдений), то существует бесконечное множество многочленов, для n которых выполняется равенство 2 i 0. i 1 2) Если m n 1 (степень аппроксимирующего многочлена на единицу n меньше числа наблюдений) равенство 2 i 0 обеспечивается единствен- i 1 ным многочленом, дающим решение интерполяционной задачи. 3) Если m n 1 (в дальнейшем рассматривается только этот случай), то n 2 i 0 при любых значениях коэффициентов многочлена Gm (x) нужно так i 1 выбрать коэффициенты этого многочлена, чтобы величина n i 1 минимальной. 36 2 i была 4. Погрешность метода наименьших квадратов Оценить значение погрешности метода наименьших квадратов позволяет следующая формула для среднеквадратичного уклонения 1 n 2 1 Gm ; y Gm ( xi ) yi 2 . n 1 i 1 В точке минимума функции δ ее производные ak обращаются в нуль. Дифференцируя δ и приравнивая к нулю производные, получим так называемую нормальную систему метода наименьших квадратов. Эта система линейных алгебраических уравнений (СЛАУ) относительно неизвестных a0 , a1 , , am . Можно показать, что определитель этой системы отличен от нуля, т.е. решение системы существует и единственно. Однако на практике описанную методику применяют только для нахождения многочленов, степень которых не выше 45. При более высоких степенях нормальная система становится плохо обусловленной и погрешности определения коэффициентов велики. Пример 4.1. Аппроксимировать многочленом второй степени по методу наименьших квадратов функцию, заданную таблицей: x y f (x) ▲ 2.6 2.5 2.1 3.8 1.1 5 0 4.1 1.1 0.6 2.1 4.6 В данном примере заданную табличную функцию (n 6) требуется ап- проксимировать многочленом второй степени (m 2) G2 ( x) a0 x 2 a1x a2 (a0 0) . В этом случае нормальная система имеет вид a0 a0 a 0 n n xi4 a1 i 1 n x 3 i i 1 n a1 i 1 n i 1 n xi3 a2 xi2 a1 x i 1 n i 1 n xi2 i 1 n 2 i a2 y x ; 2 i i i 1 n x x y ; i i i i 1 (3.21) i 1 n xi n a 2 y . i i 1 37 Исходные данные и результаты обработки представлены в таблице 3.2. Таблица 3.2 i xi xi2 1 2 3 4 5 6 2.6 2.1 1.1 0 1.1 2.1 2.6 6.76 4.41 1.21 0 1.21 4.41 18.00 xi3 xi4 yi xi yi xi2 yi 17.576 9.261 1.331 0 1.331 9.261 17.576 45.6976 19.4481 1.4661 0 1.4661 19.4481 87.5260 2.5 3.8 5 4.1 0.6 4.6 11.4 6.5 7.98 5.5 0 0.66 9.66 28.98 16.900 16.758 6.050 0 0.726 20.286 20.148 Система уравнений (3.21) в данном случае принимает вид 87 .526 a0 17 .576 a1 18 .000 a2 20 .148 ; 17 .576 a0 18 .000 a1 2.600 a2 28 .980 ; 18 .000 a 2.600 a 6.000 a 11 .4. 0 1 2 Решая эту систему методом Гаусса (см. пример 2.3 темы 2), находим: a0 1.00424 , a1 2.00657 , a2 4.04321 . Следовательно, G2 ( x) 1.00424x 2 2.00657x 4.04321 . ▼ Вопросы для самопроверки 1. Сформулируйте постановку задачи об аппроксимации функции. 2. Каковы основные вопросы численной реализации задачи об аппроксимации функции? 3. Сформулируйте постановку задачи интерполяции. 4. В чем заключается отличие интерполяции функции от экстраполяции? 5. Что такое интерполяционный многочлен? 6. От чего зависит интерполяционный многочлен Лагранжа? 7. От чего зависит погрешность интерполяционного многочлена Лагранжа? 8. В чем состоят свойства конечных разностей? 9. В чем заключается контроль таблицы конечных разностей? 10. В чем заключаются достоинства и недостатки записей в форме Лагранжа и Ньютона? 38 11. Что представляет собой график интерполяционного многочлена при значениях n 1 и n 2 ? 12. Какими формулами (Лагранжа или Ньютона) удобнее пользоваться в случае равноотстоящих узлов интерполяции и почему? 13. Сколько интерполяционных многочленов можно построить для одной функции и одной системы узлов интерполяции? 14. Почему погрешность интерполяции для интерполяционных многочленов Лагранжа и Ньютона оценивается с помощью одной и той же формулы? 15. В чем заключается задача интерполирования кубическими сплайнами? 16. В чем заключается задача приближения функции методом наименьших квадратов? Численное дифференцирование и интегрирование Литература [1] – Гл. 3; [2] – л. 6; [3] – ч. 1, гл. 3; [4] – гл. 2, п. 15, 16, гл. 3, п. 16, 8; [5] – ч. 2, гл. 4; [6] – гл. 12, 13; [7] – гл. 7, 8; [8] – гл. 6, 7. Основные теоретические сведения 1. Численное дифференцирование. Пусть функция y f (x) задана таблицей своих значений (4.1) yi f ( xi ), (0 i n) . Простейший способ построения формул численного дифференцирования состоит в следующем. По табличным данным приближаем функцию интерполяционным многочленом с остаточным членом Rn , так что f ( x) Gn ( x) Rn ( x) . (4.2) Дифференцируя равенство (4.2) необходимое число раз, можно найти значения производных f ( x), f ( x), , f (k ) ( x) (k n) : f ( x) Gn ( x) Rn ( x), f ( x) Gn ( x) Rn ( x), , f (k ) ( x) Gn(k ) ( x) Rn(k ) ( x) . (4.3) 39 В качестве приближенного значения производной порядка k функции f (x) можно принять соответствующее значение производной многочлена Gn (x) , т. е. f (k ) ( x) Gn(k ) ( x) . Величина Rn(k ) ( x) f (k ) ( x) Gn(k ) ( x) , характеризующая отклонение приближенного значения производной от ее истинного значения, называется погрешностью аппроксимации производной. При вычислениях на ПК, когда мы заинтересованы, скорее, не в малом количестве арифметических операций, а в экономии элементов памяти и в простоте программирования, достаточно выгодно использовать представление интерполяционного многочлена Gn (x) в форме Лагранжа. При счете на микрокалькуляторах более рационально, по-видимому, воспользоваться многочленом Gn (x) в форме Ньютона. Наиболее простой вид принимают формулы численного дифференцирования при использовании таблиц (4.1) с постоянным шагом ( xn x0 nh) или ( xi 1 xi h; 0 i n) . Если, например, исходить из правила Ньютона для интерполирования в начале таблицы, получатся следующие выражения для производных: y( x0 th) y ( x0 th) dGn dt 1 2t 1 2 3t 2 6t 2 3 y0 y0 y0 . dt dx h 2! 3! 1 h2 y 2 0 (t 1)3 y0 , , t (4.4) x x0 , h const . h Если x x0 и t 0 , то ( 1) n1 y ( x0 ) 1h y0 12 2 y0 13 3 y0 n n y0 y x0 1 h2 y 2 0 n 1 h j 1 ( 1) j 1 j 11 4 3 y0 12 y0 56 5 y0 . j y0 , (4.5) (4.6) Если для интерполирования в конце таблицы воспользоваться многочленом Ньютона, то получим следующие выражения для производных: 40 y( xn th) 1 2t 1 2 3t 2 6t 2 3 yn 1 yn 2 yn 3 , h 2! 3! y ( xn th) 1 h 2 y 2 n2 (t 1)3 y n 3 , , t x xn . h Очень простые формулы численного дифференцирования для функции (4.1) можно получить из формулы Тейлора, которую запишем для функции f (x) , полагая ее достаточно гладкой в окрестности точки x: f ( x h) f ( x) f ( x)h f ( x) 2 f ( n ) ( x) n h h O h n 1 . 2! n! (4.7) Если ограничиться первыми двумя слагаемыми в правой части (4.7), т.е. аппроксимировать f (x) в окрестности точки x линейной функцией, то получим формулу правой разностной производной f ( x) f ( x h) f ( x) . h (4.8) Погрешность такой аппроксимации является величиной O(h) . Заменив в последней формуле h на h, получим левую разностную производную f ( x) f ( x) f ( x h) . h (4.9) Вычитая из приближенного равенства f ( x h) f ( x) f ( x)h приближенное равенство f ( x h) f ( x) f ( x)h , получим центральную разностную производную f ( x) f ( x h) f ( x h) , 2h (4.10) порядок погрешности, которой O(h 2 ) . 41 Если в формуле Тейлора оставить на одно слагаемое больше, т.е. аппроксимировать функцию многочленом второй степени по h, то получим центральную разностную производную второго порядка, погрешность которой является величиной O(h 2 ) : f ( x) f ( x h) 2 f ( x ) f ( x h) . h2 (4.11) Одним из источников погрешности численного дифференцирования является погрешность аппроксимации. Она определяется величиной остаточного члена. Погрешности, возникающие при численном дифференцировании, определяются также неточными значениями функции f ( xi ) в узлах (неустранимая погрешность) и погрешностями округлений при проведении расчетов. Погрешность метода численного дифференцирования тем меньше, чем меньше шаг h, а вычислительная погрешность с уменьшением шага увеличивается. С учетом этого обстоятельства выбирают оптимальный шаг дифференцирования, при котором суммарная погрешность была бы минимальной. 2. Численное интегрирование. Рассмотрим способы приближенного вычисления определенных интегралов вида b a b F ( x)dx p( x) f ( x)dx , (4.12) a где [a; b] любой конечный или бесконечный отрезок числовой оси; f (x) вещественная произвольная функция некоторого класса, а p (x) некоторая фиксированная функция, которую называют весовой. Если F (x) имеет какиенибудь особенности, то их выделение обычно делается при помощи разложения F (x) на два сомножителя F ( x) p( x) f ( x) , где p (x) имеет особенности того же типа, что и F (x) , а f (x) есть гладкая функция. Наиболее часто приближенное значение интеграла (4.12) ищут в виде линейной комбинации значений функции f (x) на отрезке [a; b] : b a 42 n p ( x) f ( x)dx A k k 0 f ( xk ) . (4.13) Приближенное равенство (4.13) называют квадратурной формулой. Выражение в правой части (4.13) называют квадратурной суммой, точки xk узлами квадратурной формулы, а числа Ak коэффициентами квадратурной формулы. Разность b rn n p ( x) f ( x)dx A k f (xk ) k 0 a называется погрешностью квадратурной формулы. Погрешность зависит как от расположения узлов, так и от выбора коэффициентов. Будем говорить, что квадратурная формула (4.13) точна для многочленов степени m, если для любого многочлена степени не выше m эта формула дает точное значение инb теграла, т. е. a m ( x)dx n A k m (xk ) . k 0 Интерполяционное квадратурное правило 1) Пусть узлы xk избраны каким-либо образом и фиксированы. 2) По заданной системе узлов xk и таблице значений f ( xk ) 0 k n построим интерполяционный многочлен Лагранжа и положим в интеграле (4.12) f ( x) Ln ( x) . Получим правило приближенного вычисления интеграла, которое характеризуется определенным законом выбора коэффициентов Ak . В связи со способом получения оно названо интерполяционным квадратурным правилом: b n p( x) f ( x)dx A k f ( xk ), k 0 a b ( x) Ak p( x) dx. ( x xk ) ( xk ) (4.14) a 43 Правила НьютонаКотеса 1) Отрезок интегрирования [a; b] разделим на n одинаковых частей длины, h ba h и точки деления a k h 0 k n примем за узлы интерполяцион- ного квадратурного правила. 2) Квадратурные формулы с равноотстоящими узлами и конечным отb резком интегрирования будем применять для вычисления интеграла f ( x)dx с a постоянной весовой функцией p( x) 1 . Для этого случая интерполяционное квадратурное правило (4.14) может быть записано в виде b n f ( x)dx (b a) B k f (a k h), k 0 a n (1) n k t(t 1) (t n) Bk dt. n k!(n k )! tk (4.15) 0 Квадратурные формулы (4.15) называют формулами НьютонаКотеса. Положим n 1 . Тогда приближенное равенство (4.15) преобразуется в известную элементарную формулу трапеций b f ( x)dx a ba f (a) f (b) . 2 (4.16) Формула трапеций получается путем замены подынтегральной функции f (x) интерполяционным многочленом первой степени. Если n 2 , то квадратурная формула (4.15) принимает вид b f ( x)dx a 44 ba ab f (a) 4 f f (b) , 6 2 (4.17) который получается путем замены подынтегральной функции f (x) интерполяционным многочленом второй степени (параболой). Эту формулу называют элементарной квадратурной формулой Симпсона или формулой парабол. Для уменьшения погрешности предварительно разбивают отрезок [a; b] на достаточно большое число интервалов и к каждому из них применяют простейшую квадратурную формулу. ba m и при- 12 f 0 f1 f m1 12 f m , (4.18) Так, разбивая отрезок [a; b] на m равных частей длиной h меняя к частичному отрезку a kh; a (k 1)h формулу (4.16), после суммирования по всем частичным отрезкам получаем так называемую составную формулу трапеций b a n f ( x)dx k 0 f ( xk ) f ( xk 1 ) hh 2 где f k f ( xk ), 0 k m . Если f (x) непрерывна на [a; b] , то оценка погрешности формулы трапеций | rn | (b a) 3 12 m 2 M 2 , M 2 max f ( x) , a x b (4.19) Пусть m четное число (m 2) . Возьмем удвоенный частичный отрезок a (k 1)h; a (k 1)h и применим к нему формулу Симпсона; в результате после суммирования по всем удвоенным частичным отрезкам найдем b f ( x)dx 3 f h 0 2 f 2 f 2 2 4 f1 f 2 1 f 2 . (4.20) a Приближенную формулу (4.20) называют составной формулой Симпсона. Для оценки погрешности имеем неравенство | rn | (b a) 5 180 m 4 M 4 , M 4 max f a x b IV ( x) . (4.21) 45 Для практической оценки погрешности квадратурной формулы можно использовать правило Рунге. Для этого проводят вычисления на сетках с шагом h и 12 h , получают приближенные значения интеграла J h и за окончательные значения интеграла принимают величины: J h J h Jh 2 ций; J h 2 J h Jh 2 15 3 – для формулы Симпсона. При этом за погрешность прибли- женного значения интеграла принимают величину: трапеций; J h Jh 2 15 – для формулы трапе- 2 J h Jh 2 3 – для формулы – для формулы Симпсона. Квадратурные формулы Гаусса В квадратурных формулах типа формулы Гаусса b n p( x) f ( x)dx A k f ( xk ) (4.22) k 1 a коэффициенты A1 , , An и узлы x1 , , xn подбирают так, чтобы приближенное равенство (4.22) было точным для всех многочленов возможной наивысшей степени N (обратим внимание, что здесь для удобства изложения нумерация узлов начинается со значения k 1 ). Если p( x) 0, a x b, N 2n 1 , то установлено ([4]), что коэффициенты и узлы определяются однозначно: 1) квадратурная формула (4.22) должна быть интерполяционной, 2) а многочлен n (x) должен быть ортогонален по весу p (x) на отрезке [a; b] ко всем многочленам степени меньше n. Квадратурная формула Гаусса p(t ) 1 1 1 46 n f (t )dt A k k 1 f (t k ) (4.23) имеет своими узлами корни многочлена Лежандра Pn ( x) 1 d n ( x2 1) n 2 n! d xn . b При вычислении интеграла f (x)dx следует сделать замену переменной a интегрирования ba ab x t 2 2 . Тогда b p( x) f ( x)dx a ba 2 n A k (4.24) f ( xk ) k 1 где xk ba ba tk . 2 2 (4.25) 3 Пример 4.1. При значении m 10 вычислить интеграл cosx dx x по составной 2 формуле Симпсона. ▲ Вычисляем 24 cosx 24 sin x 12 cosx 4 sin x cosx . 2 x x5 x4 x3 x Поскольку cosx 0, sinx 0 при значении x 2, 3 , для производной f ( 4) ( x) f (4) ( x) получаем, 54 f ( 4) ( x) 3, т.е. f ( 4) ( x) 3. Из неравенства (4.21) при значении m 10 следует r10 1 180104 3 1 106 . 67 Это означает, что если вести вычисления с 6 цифрами после десятичной точки, то результат будет иметь пять верных цифр после десятичной точки. Вычисления можно организовать следующим образом: a 2 , b 3 , h 3 2 10 0.1 . Составим табл. 4.1 (Обратите внимание, что, аргумент a функции cosx задан в радианах). По составной формуле Симпсона находим 47 3 2 cosx 1 0.538071 2(1.240829 ) 4(1.520200 ) 0.30335 . ▼ x 3 10 Пример 4.2. При значении n 5 вычислить интеграл примера 4.1 по формуле Гаусса. ▲ Сделаем за5мену переменной x 3 2 2 t 322 12 t 52 . Получим интеграл 3 2 1 cosx 1 cos 12 t dx 1t 5 x 2 2 2 5 2 dt . 1 Составляем таблицу значений подынтегральной функции (табл. 4.2). По формуле Гаусса при значении n 5 находим 3 2 cosx 1 dx (0.606702 ) 0.303351 . ▼ x 2 Таблица 4.1 xk=a +kh 48 k 0 1 2 3 4 5 6 7 8 9 10 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 cos xk 0.416147 0.504846 0.588501 0.666276 0.737394 0.801144 0.856889 0.904072 0.942222 0.970958 0.989992 Суммы f k f ( xk ) k 0; 10 k 1(2)9 k 2(2)8 0.208074 0.240403 0.267500 0.289685 0.307248 0.320458 0.329573 0.334841 0.336508 0.334813 0.329997 0.538071 1.520200 1.240829 k tk xk fk Ak 1 2 3 4 5 0.906180 0.538469 0 0.538469 0.906180 2.046910 2.230766 2.5 2.769234 2.953090 0.223912 0.274835 0.320457 0.336364 0.332630 0.236927 0.478629 0.568889 0.478629 0.236927 Сумма Таблица 4.2 Ak f k 0.053051 0.131544 0.182304 0.160994 0.078809 0.606702 Вопросы для самопроверки 1. В чем заключается постановка задачи численного дифференцирования? 2. Как получить формулы численного дифференцирования из правила Ньютона для интерполирования? 3. Как получить формулы численного дифференцирования (левые, правые и центральные разности) из формулы Тейлора? Каков порядок погрешности? 4. В чем заключается задача численного интегрирования? 5. Какая функция называется весовой? 6. Что называется квадратурной формулой, квадратурной суммой, квадратурными узлами, квадратурными коэффициентами? 7. В чем заключается точность квадратурного правила? 8. Что такое погрешность квадратурного правила? 9. Какие ограничения накладываются на квадратурное правило, чтобы получить интерполяционное квадратурное правило? 10. Какие дополнительные ограничения накладываются на квадратурное правило, чтобы получить правила Ньютона-Котеса? 11. Каков геометрический смысл правила трапеций? 12. В чем смысл составной формулы трапеций и ее геометрический смысл? 13. Каков геометрический смысл формулы Симпсона? 14. В чем смысл составной формулы Симпсона? 15. На чем основано квадратурное правило Гаусса? 49