84
Министерство сельского хозяйства РФ Департамент научно-технологической политики и образования ФГОУ ВПО Волгоградская государственная сельскохозяйственная академия Кафедра высшей математики В.С. Корниенко ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

1

Министерство сельского хозяйства РФ Департамент научно-технологической политики и образования

ФГОУ ВПО Волгоградская государственная сельскохозяйственная академия

Кафедра высшей математики

В.С. Корниенко

ЧИСЛЕННЫЕ МЕТОДЫ

Волгоград ИПК «Нива»

2010

Page 2: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

2

УДК 517.9 ББК 22.176 К 67

Рекомендовано к изданию кафедрой высшей математики ВГСХА и учебно-методическим советом факультета электрификации с.х.

Корниенко, В.С. К 67 Численные методы [Текст]

/В.С. Корниенко; Волгогр. гос. с.-х. акад. Волгоград, 2010. 84 с.

Работа посвящена вопросам практической реализации численных методов с ис-пользованием Mathcad во всех разделах общего курса математики. Ее основная цель – ока-зать студентам сельскохозяйственных специальностей практическую помощь в изучении численных методов решения математических задач, в том числе и с помощью математиче-ской программы Mathcad. Для студентов ВГСХА эта цель актуальна, так как в академии нет ни кафедры прикладной математики, ни кафедры вычислительной математики.

Для студентов специальности 110302 - «Электрификация и автоматизация сельского хозяйства». УДК 517.9 ББК 22.176 © Корниенко В.С., 2010 © ФГОУ ВПО Волгоградская государственная сельскохозяйственная академия, 2010

Page 3: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

3

Содержание § 1. Элементы теории погрешности ……………………………………… 4 1.1. Значащие цифры …………………………………………….…… 6 1.2. Правило округления чисел ………………………………………. 7 § 2. Решение алгебраических и трансцендентных уравнений .….……… 8 2.1. Решение уравнений в режиме solve …………………………….. 20 § 3. Решение СЛАУ ……………………………………………….………. 24 3.1. Нормы векторов и матриц ……………………………………….. 24 3.2. Прямые методы решения СЛАУ ………………………………... 26 3.3. Итерационный метод …………………………………………….. 27 3.4. Метод Зейделя ……………………………………………….…… 30 3.5. Приведение СЛАУ к виду, удобному для итераций …………... 34 § 4. Аппроксимация непериодических функций ………………………... 38 4.1. Интерполяция …………………………………………………….. 39 4.1.1. Интерполяционные формулы Ньютона ………………….. 40 4.1.2. Интерполяционная формула Лагранжа ………………….. 46 4.1.3. Интерполяция сплайнами …………………….…………... 48 4.2. Аппроксимация методом наименьших квадратов ……………... 51 § 5. Численное дифференцирование ……………………………………... 57 5.1. Разностные формулы …………………………………………….. 57 § 6. Численное интегрирование …………………………………………... 59 6.1. Метод оценки погрешности интегрирования двойным пересчетом ………………………………………………….

62

6.2. Интегрирование таблично заданной функции …………….…… 66 § 7. Методы решения обыкновенных ДУ ……………………………….. 67 7.1. Типы решения дифференциальных уравнений ………………... 67 7.2. Решение задачи Коши в виде ряда Тейлора ……………………. 68 7.3. Решение задачи Коши методом Рунге-Кутта …………………... 69 7.3.1. Вычислительный блок Given/Odesolve …………………... 70 7.3. 2. Встроенная функция rkfixed ……………………………... 71 7.3.3. Правило Рунге для вычисления погрешности …………... 72 7.4. Численное решение систем ДУ первого порядка ……………… 73 § 8. Аппроксимация периодических функций ………………………….. 77 8.1. Тригонометрические многочлены ……………………………… 77 8.2. Интерполяционный тригонометрический многочлен …………. 79 8.3. Регрессионный многочлен Фурье ………………………………. 80 Библиографический список ………………………………………………. 83

Page 4: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

4

§ 1. Элементы теории погрешности Приближенным значением некоторой величины a называется число pa , которое незначительно отличается от точного значения этой величины. Пусть a – точное значение некоторой величины, а pa - ее приближенное значение. Абсолютной погрешностью приближенного значения называется модуль разности между точным и приближенным значениями этой величины: || paa . (1) П р и м е р 1. Если 25,20a и 20pa , то абсолютная погрешность

25,0 . Относительной погрешностью приближенной величины pa называется отношение абсолютной погрешности приближенной величины к абсолютной величине ее точного значения:

|| aa

aa p

. (2)

Это равенство можно записать в другой форме: || a . (3) П р и м е р 2. Пусть 25,20a и 20pa , тогда относительная погреш-

ность 0125,02025,0

.

На практике, как правило, точное значение величины неизвестно. По-этому вместо теоретических понятий абсолютной и относительной погреш-ностей используют практические понятия предельной абсолютной погрешно-сти и предельной относительной погрешности. Под предельной абсолютной погрешностью приближенного числа по-нимается всякое число a , не меньшее абсолютной погрешности этого числа: apaa || . (4) Неравенство (4) позволяет для точного значения величины получить оценку apap aaa . (5) Часто неравенства (5) записывают в другой форме )1( apap aaa . (6) На практике в качестве предельной абсолютной погрешности выбирают наименьшее из чисел a , удовлетворяющих неравенству (4), однако это не всегда возможно. П р и м е р 3. Оценить предельную абсолютную погрешность прибли-женного значения 72,2pa числа e, если известно, что ...718281828,2e

Page 5: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

5

Р е ш е н и е. Понятно, что 01,0|| ea p . Следовательно, 01,0 a . Также справедливо неравенство 002,0|...71828,2720,2||| ea p . Получаем другое значение предельной абсолютной погрешности 002,0 a . Ясно, что следует выбрать наименьшее из найденных значений предельной погрешности, так как это позволяет сузить диапазон (4), в котором находится точное значение изучаемой величины. Предельной относительной погрешностью a данного приближенного числа называется любое число, не меньшее относительной погрешности этого числа: a . (7) Так как справедливо неравенство

|||| aaa

,

то можно считать, что предельные абсолютная и относительная погрешности связаны формулой

|| a

aa

или aa a || . (8)

П р и м е р 4. Пусть длина бруска измерена сантиметровой линейкой и получено приближенное значение 251pa см. Найти предельную относи-тельную погрешность a . Р е ш е н и е. Так как сантиметровая линейка не содержит делений меньше сантиметра, то предельная абсолютная погрешность 1 a см, а точ-ное значение a длины бруска находится в диапазоне 250 см 252 a см. Хотя точное значение a неизвестно, можно для относительной погрешности запи-сать неравенство

004,02501

||

aa

a ,

т.е. считать, что 004,0a . Если абсолютная погрешность a значительно меньше точного значе-ния || a , то относительную погрешность определяют приближенно как отно-шение абсолютной погрешности к приближенному значению:

|| p

aa a

, apa a || . (9)

Часто в формуле (9) вместо знака «≈» используют знак точного равен-ства «=». Замечание. Относительную погрешность иногда задают в процентах. П р и м е р 5. Определить предельную относительную и абсолютную погрешности значения %5125 x . Р е ш е н и е. Здесь 05,0%5 a и 25,612505,0 a . При решении мы воспользовались формулой (9).

Page 6: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

6

1.1. Значащие цифры Значащими цифрами в записи приближенного числа называются: - все ненулевые цифры; - нули, содержащиеся между ненулевыми цифрами;

- нули, являющиеся представителями сохраненных десятичных разря-дов при округлении. В следующих примерах значащие цифры затемнены. П р и м е р 6. 2,305; 0,0357; 0,001123; 0,035299879 ≈ 0,035300.

При округлении числа 0,35299879 до шести знаков после запятой полу-чается число 0,035300, в котором последние два нуля являются значащими.

Важно! Если отбросить эти нули, полученное число 0,0353 не является равнозначным с числом 0,035300 приближенным значением числа 0,035299879, так как погрешности указанных приближенных чисел отлича-ются!

Первые n значащих цифр в записи приближенного числа называются верными в узком смысле, если абсолютная погрешность числа не превосхо-дит половины единицы разряда, соответствующего n-й значащей цифре, счи-тая слева направо.

Наряду с данным определением иногда используется другое. Первые n значащих цифр в записи приближенного числа называются

верными в широком смысле, если абсолютная величина числа не превосходит единицы разряда, соответствующего n-й значащей цифре.

П р и м е р 7. Определить верные цифры приближенного значения 721,2pa числа e, если известно, что ...718281828,2e Р е ш е н и е. Понятно, что 005,0003,0|...71828,2721,2||| ea p . Следо-

вательно, верными (в узком и широком смысле) являются только три первые цифры, последнюю цифру можно отбросить, 72,2pa .

П р и м е р 8. Пусть 00009,010253,1 x . Верными в узком смысле явля-ются первые четыре значащие цифры, а цифры 5 и 3 не удовлетворяют опре-делению. В широком смысле верными являются первые пять цифр.

П р и м е р 9. При записи следующих физических констант указаны три верные значащие цифры:

а) гравитационная постоянная γ = 6,67·10-11 Н·м2/кг2; б) скорость ветра в вакууме С = 3,00·108 м/с; в) постоянная Планка h = 6,63·10-34 Дж·с. Замечание. Термин «верные значащие цифры» нельзя понимать бук-

вально. Например, современное опытное значение скорости света в вакууме составляет С = 2,997925·108 м/с. Очевидно, что ни одна значащая цифра в примере 9, б не совпадает с соответствующей точной цифрой, но абсолютная погрешность меньше половины разряда, соответствующего последней зна-чащей цифре в записи 3,00·108:

Page 7: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

7

|3,00·108 - 2,997925·108| < 0,003·108 < 0,01·108/2 = 0,005·108.

1.2. Правило округления чисел Чтобы округлить число до n значащих цифр, отбрасывают все цифры, стоящие справа от n-й значащей цифры, или, если это нужно для сохранения разрядов, заменяют их нулями. При этом:

1) если первая отброшенная цифра меньше 5, то оставшиеся десятич-ные знаки сохраняют без изменения; 2) если первая отброшенная цифра больше 5, то к последней оставшей-ся цифре прибавляют единицу; 3) если первая отброшенная цифра равна 5 и среди остальных отбро-шенных цифр есть ненулевые, то к последней оставшейся цифре прибавляют единицу; 4) (правило четной цифры) если первая из отброшенных цифр равна 5 и все отброшенные цифры являются нулями, то последняя оставшаяся цифра оставляется неизменной, если она четная, и увеличивается на единицу, если нет. Эта правило гарантирует, что сохраненные значащие цифры являются верными в узком смысле, т.е. погрешность округления не превосходит поло-вины разряда, соответствующего последней оставленной значащей цифре. Правило четной цифры должно обеспечить компенсацию знаков ошибок. П р и м е р 10. Приведем примеры округления до четырех значащих цифр: а) 3,1415926 ≈ 3,142; Δp = |3,142 – 3,1415926| < 0,00041 < 0,0005; б) 1256410 ≈ 1256000; Δp = |1256000 – 1256410| < 500; в) 2,997925·108 ≈ 2,998·108; Δp = |2,998·108 – 2,997925·108| = 0,000075·108 < 0,0005·108. Следующая теорема выявляет связь относительной погрешности числа с числом верных десятичных знаков. Теорема. Если положительное приближенное число имеет n верных значащих цифр, то его относительная погрешность δ не превосходит величи-ны 101-n, деленной на первую значащую цифру αн:

н

n

110 . (10)

Формула (10) позволяет вычислить предельную относительную по-грешность

н

n

a

110 . (11)

Page 8: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

8

П р и м е р 11. Найти относительную и абсолютную погрешности при-ближенных чисел: а) 3,142; б) 2,997925·108. Р е ш е н и е. а) Здесь n = 4, αн = 3. Для оценки относительной погреш-ности используем формулу (11):

00033,03001,0101

н

n

a .

Для определения абсолютной погрешности применим формулу (9): 001,000033,0142,3|| apa a .

б) Аналогично вычислим: n = 7, αн = 2,

0000005,02

000001,0101

н

n

a ;

1500000005,010997925,2|| 8 apa a . § 2. Решение алгебраических и трансцендентных

уравнений Хорошо известны формулы, позволяющие находить корни линейных и

квадратных уравнений, т.е. таких уравнений f x( ) 0 , для которых f x( ) пред-ставляет собой функцию kx b или ax bx c2 с конкретными числовыми ко-эффициентами k , b или a , b , c . Однако этими простейшими алгебраически-ми уравнениями не исчерпывается круг тех уравнений, которые возникают в математике, физике, технике и т.д. Обнаруживается, что для решения многих представляющих практический интерес уравнений невозможно воспользо-ваться какими-то готовыми формулами. Обратимся к конкретному примеру. Площадь s кругового сегмента с радиусом r и с заданным в радианах центральным углом находится по

формуле sr

2

2( sin( )) . Требуется определить величину центрального угла

по данному радиусу r и площади s . Получаем уравнение

sin( )2

02

sr

.

По смыслу задачи 0 2 и 0 2 s r . Здесь не видно путей к получению точной формулы, т.е. такого выра-жения, значением которого для допустимых значений r и s было бы значе-ние корня уравнения. Уравнение 3 10 3 9 02 x x введением вспомогательного неизвестного t x 3 приводится к квадратному уравнению t t2 10 9 0 . Но стоит чуть-чуть изменить числовые значения, например, взять уравнение

3 01 10 17 3 02 9 03 02 03, , , ,, x x , и сведение к квадратному уравнению уже не проходит. Между тем числовые значения в инженерных расчетах, производственных задачах, статистических вычислениях обычно получаются с помощью экспериментальных замеров,

Page 9: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

9

табличных данных, технических характеристик и т.п. При этих условиях умение решать точно уравнения с помощью сложных преобразований оказы-вается бесполезным, так как такие коэффициенты уравнения выводят его за рамки специально подобранных задач. Однако точное решение уравнения не всегда является необходимым. Задачу отыскания корней уравнения можно считать практически решенной, если мы сумеем найти корни с нужной степенью точности. Рассмотрим задачу приближенного нахождения корней функции одной переменной в следующей постановке. Дано уравнение f x( ) 0 (1) и такие числа a , b (a b ), что значения f a( ) и f b( ) имеют разные знаки: f a f b( ) ( ) 0 , а график функции f x( ) на отрезке [a, b] является непрерывной

линией, т.е. линией, которую можно провести, не отрывая карандаша от бу-маги. Понятно, что уравнение (1) имеет корень на отрезке [a, b], так как гра-фик функции f x( ) обязательно пересечет ось Ox . Требуется определить значение корня с погрешностью, не превосходя-щей заданного положительного числа . Иначе говоря, если - истинное значение корня, т.е. если [a, b] и f ( ) 0 , то требуется определить число x такое, что x [a, b] и x .

При сформулированных выше условиях на функцию f x( ) речь идет лишь о существовании корня без каких бы то ни было соображений о том, в каком месте отрезка [a, b] находится искомый корень и как его искать. Нелинейная функция f x( ) в своей области определения может иметь конечное или бесконечное количество корней или не иметь их вообще. Боль-шинство же методов нахождения корней требует знания промежутков (по возможности, малых), где имеется единственный нуль функции. Если такие конкретные промежутки не известны заранее, то на первый план выходят: выявление ситуации с наличием и количеством корней уравнения (1), нахож-дение области их расположения, получение отрезков, на которых имеется точно по одному корню. Иными словами, отыскание приближенных корней связано со следующими двумя подзадачами. Подзадача 1. Предварительная локализация корней. Подзадача 2. Уточнение значения локализованных корней. Для функций общего вида нет универсальных способов решения этих подзадач. Поэтому здесь приемлемы любые способы. Если функция f x( ) такова, что без особого труда можно построить ее график (а Mathcad обладает отличными графическими возможностями в цве-те), этим следует воспользоваться для решения первой подзадачи, т.е. пред-ставить ситуацию с количеством и расположением всех нулей f x( ) , выделяя те интервалы оси Ox , где график функции f x( ) пересекает Ox . Построение графика f x( ) может вызывать затруднения, но исходное уравнение (1) оче-видным образом представляется в виде f x f x1 2( ) ( ) и функции f x1( ) и f x2 ( )

Page 10: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

10

таковы, что их графики строятся без труда. Тогда подзадача 1 решается от-слеживанием точек пересечения этих графиков и выделением на оси Ox тех промежутков, которым принадлежат проекции таких точек. Описанный при-ем называют графическим способом локализации [отделения, изоляции] кор-ней. Важно! Одна из возможных проблем (мы ее обсуждать не будем), в ко-торую упирается решение первой подзадачи, - это практическая невозмож-ность точного вычисления значений функции из-за ограниченности разряд-ной сетки компьютера. В данной работе всюду будем считать, что результа-ты приближенного вычисления f a( ) и f b( ) позволяют правильно отвечать на вопрос, верно ли что f a f b( ) ( ) 0 . Итак, пусть подзадача 1 решена, т.е. графически установлено, что в точках a и b функция f x( ) принимает значения разных знаков, причем эта функция определена и непрерывна на отрезке [a, b], и что между a и b име-ется единственный корень уравнения (1). Простейший прием приближенного нахождения этого корня, т.е. реше-ние подзадачи 2, состоит в том, что мы делим отрезок [a, b] на 10 равных час-тей и последовательно находим значения функции f x( ) в точках деления. Ре-зультаты систематизируются в таблицу x a x1 x2 x3 x4 x5 x6 x7 x8 x9 b f x( ) f a( )

f x( )1

f x( )2

f x( )3

f x( )4

f x( )5

f x( )6

f x( )7

f x( )8

f x( )9

f b( )

Поскольку в точках a и b функция f x( ) принимает значения разных

знаков, то найдутся такие две соседние точки деления, скажем, x1 и x2 (и этот факт легко обнаружить по таблице), в которых функция f x( ) принимает зна-чения разных знаков. В результате мы сужаем в 10 раз отрезок [a, b], на кото-ром находится корень. Снова разделив отрезок x x1 2, на 10 равных частей, мы еще в 10 раз сузим отрезок, на котором расположен корень и т.д. Если, например, мы обнаружили, что в точках с координатами x1 2 17 , и x2 2 18 , функция f x( ) принимает значения разных знаков, то это гарантирует наличие корня между этими точками, т.е. с точностью до 0,01 число 2,18 является приближением этого корня. При этом нет необходимости делать проверку найденного корня, поскольку корень заведомо существует и находится между числами 2,17 и 2,18. Таким образом, для практической реализации изложенного простейше-го приема нахождения корня уравнения (1) на отрезке [a, b] с помощью Math-cad нужно уметь решать две базовые задачи. Базовая задача 1. Построить график функции f x( ) на отрезке [a, b]. Базовая задача 2. Составить таблицу значений функции f x( ) для зна-чений x от a до b с шагом h.

Page 11: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

11

Для решения первой базовой задачи в Mathcad встроен декартов гра-фик. Чтобы создать этот график нужно:

1) поместить курсор ввода в то место документа, куда требуется вста-вить график; 2) если на экране нет панели Graph (Графики), вызвать ее нажатием кнопки с изображением графиков на панели Math (Математика); 3) нажать на панели Graph кнопку X-Y Plot для создания декартова графика; в результате в обозначенном месте документа появится пустая об-ласть графика с двумя местозаполнителями по осям X и Y; 4) ввести в местозаполнитель по оси X имя переменной, а по оси Y – имя функции. Если имена данных введены правильно, нужный график появится на экране. Созданный график можно изменить, в том числе меняя сами данные, форматируя его внешний вид или добавляя дополнительные элементы оформления. Мы указали способ быстрого построения декартова графика, который заключается во введении имени функции в один из местозаполнителей (на-пример, у оси Y), а имени аргумента – в местозаполнитель у другой оси (оси X). В результате Mathcad сам создает график функции в пределах значений аргумента, по умолчанию принятых равными от –10 до 10. Впоследствии можно поменять диапазоны значений аргумента, и Mathcad автоматически подстроит график под эти значения. П р и м е р 1. Найти промежутки изоляции корней уравнения

x x2 1 0 sin( ) . Р е ш е н и е. Строим в Mathcad график функции f x x x( ) sin( ) 2 1.

По графику видно, что данное уравнение имеет два корня:

1 [-2, 0] и 2 [0, 2]. Для решения этого примера можно было бы представить исходное уравнение в виде f x f x1 2( ) ( ) , где f x1( ) - это x 2 1 , а f x2( ) - это sin( )x , и по-строить графики функций f x1( ) и f x2( ) .

f x( ) x2 sin x( ) 1

2 0 2 4

10

10

20

f x( )

x

Page 12: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

12

Ответ: (-2, 0), (0,2). П р и м е р 2. Выяснить, сколько корней имеет уравнение x e x2 и где

они расположены. Р е ш е н и е. Строим в Mathcad графики функций f x x e x1 2( ) и f x2( ) .

По графику видно, что данное уравнение имеет единственный корень

, близкий к 1. Ответ: единственный, который находится в интервале (0,5, 1,5).

П р и м е р 3. Составить таблицу значений функции f x x x x x( ) 4 3 23 2 3

(вычисленных с точностью до 10 3 ) для значений x от 1 до 2 с шагом h = 0,1.

f1 x( ) x2 1 f2 x( ) sin x( )

2 0 2

5

f1 x( )

f2 x( )

x

f1 x( ) x2 ex f2 x( )

2 1 0 1 2

2

4

f1 x( )

f2 x( )

x

Page 13: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

13

Р е ш е н и е. Составим Mathcad-программу.

Поясним написанную программу. В ее первой строке определены функция f x( ) , концы отрезка [a, b] и шаг деления этого отрезка. Во второй строке определена матрица x , состоящая из точек деления xk отрезка [a, b]. В третьей строке программы определена матрица Tab , состоящая из двух столбцов: первый столбец x , а второй - f x( ) . Чтобы матрица Tab была напе-чатана Mathcad горизонтально, необходимо применить к ней операцию транспонирования, т.е. создать матрицу TabT . При написании второй и треть-ей строк программы, нужно воспользоваться панелью Matrix и встроенной в Mathcad функцией augment. Просмотреть все компоненты матрицы TabT , ко-торые не помещаются на экране, можно с помощью горизонтальной полосы прокрутки. Рассмотрим очередной пример.

П р и м е р 4. С точностью до 10 3 найти корни уравнения

3 01 10 17 3 02 9 03 02 03, , , ,, x x . (2) Р е ш е н и е. Сперва выясним, сколько корней имеет данное уравнение. Для этого построим график функции f x x x( ) , , , ,, 3 01 10 17 3 02 9 032 03 .

f x( ) x4 3x3 2x2 x 3 a 1 b 2 h 0.1

k 0 10 xk a k h

Tab augment x f x( )( )

TabT 0 1 2 3 4 5 6 7 8 901

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.94 3.991 3.97 3.945 3.93 3.938 3.986 4.093 4.282 4.575

f x( ) 3.012.03x 10.17 3.02x 9.03

4 2 0 2 4

20

20

f x( )

x

Page 14: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

14

По графику видим, что уравнение (2) имеет два корня: 1 - близкий к нулю и 2 - близкий к 2. Для локализации этих корней рассмотрим графики функции f x( ) вблизи этих точек.

Левый график позволяет утверждать, что корень 1 находится внутри

отрезка [-0,02, -0,01], а правый - что 2 [1,95, 1,96]. Тем самым найдены оба корня с точностью 0,01. Продолжаем нахождение корня 1 с заданной точностью. Для этого ра-зобъем отрезок [-0,02, -0,01] на 10 равных частей и найдем значения функции f x( ) в точках деления. Составим Mathcad-программу для нахождения табли-

цы значений функции f x( ) .

По таблице видно, что при переходе x от значения –0,016 к значению

–0,015 (т.е. от x4 к x5 ) функция f x( ) сменила знак: f ( , ) , 0 016 3108 10 3 ; f ( , ) , 0 015 5 78 10 3 .

Значит, внутри отрезка [-0,016, -0,015] содержится корень 1 данного уравнения. В качестве его значения возьмем число –0,016.

Другой корень уравнения, равный 1,954, предлагается найти самостоя-тельно. Ответ: L = {-0,016; 1,954}.

0.02 0.01 0

0.2

0.2

f x( )

x

1.95 1.96

1

1

2

f x( )

x

f x( ) 3.012.03x 10.17 3.02x 9.03

a 0.02 b 0.01 hb a10

k 0 10 xk a k h

Tab augment x f x( )( )

TabT 1 2 3 4 5 6 7

01

-0.019 -0.018 -0.017 -0.016 -0.015 -0.014 -0.0130.03 0.021 0.012 3.108·10 -3 -5.78·10 -3 -0.015 -0.024

Page 15: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

15

Для решения одного уравнения с одним неизвестным в Mathcad служит встроенная функция root (корень), которая в зависимости от уравнения мо-жет включать либо два, либо четыре аргумента и, соответственно, работает несколько по-разному в каждом из следующих случаев:

1) root f x x( ( ), )

2) x root f x x: ( ( ), ) 3) a b root f x x a b: : ( ( ), , , ) Здесь во всех трех случаях f x( ) - функция, определяющая уравнение f x( ) 0 ; a , b - границы интервала, внутри которого происходит поиск лока-

лизованного корня. В первом случае функция root не требует дополнительного задания на-чального значения переменной x . Например, для уравнения (2) Mathcad-программа будет иметь вид

Компьютер выдал только один корень: x 0 016, . Во втором случае функция root требует задания начального значения переменной x . Для этого нужно просто предварительно присвоить x некото-рое число. Поиск корня будет производиться вблизи этого числа. Таким обра-зом, присвоение начального значения требует априорной информации о при-мерной локализации корня. Например, для уравнения (2) будем иметь сле-дующую Mathcad-программу

Компьютер выдал корень уравнения, который находится вблизи числа

2. В третьем случае необходимо задавать не начальное приближение к корню, а отрезок [a, b], внутри которого заведомо находится корень (и при-том только один). В этом случае следует использовать функцию root с че-тырьмя аргументами, а присваивать начальное значение x не нужно. Поиск корня будет осуществлен в промежутке между a и b. Например, для уравне-ния (2) Mathcad-программа будет такой:

f x( ) 3.012.03x 10.17 3.02x 9.03

root f x( ) x( ) 1.5650206580725789288 10-2

f x( ) 3.012.03x 10.17 3.02x 9.03

x 2 root f x( ) x( ) 1.954

Page 16: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

16

Если функция f x( ) является полиномом [многочленом] степени n

a a x a x a x a xnn

nn

0 1 22

11 ... ,

то все корни уравнения f x( ) 0 можно найти, используя встроенную функ-цию polyroots (K), где

K

aaa

aan

n

0

1

2

1

... -

матрица коэффициентов этого многочлена. При этом нет необходимости вво-дить какое-либо начальное приближение, как это делалось для функции root. Иногда исходный многочлен задается не в развернутом виде, а, напри-мер, как произведение нескольких многочленов. В этом случае определить все его коэффициенты можно, воспользовавшись кнопкой coeffs панели Symbolic. В результате символьный процессор Mathcad сам найдет и выдаст матрицу коэффициентов многочлена, пользователю надо будет только скопи-ровать эту матрицу в аргумент функции polyroots. При нахождении действительных корней многочлена n-й степени сле-дует иметь в виду, что все действительные корни многочлена заключены в интервале ( , )B B , где граница B определяется следующим образом: если an - абсолютная величина старшего коэффициента, A - наибольшая из абсо-лютных величин всех остальных коэффициентов a0 , a1 , … , an1 , то

BA

an

1 .

П р и м е р 5. Найти действительные корни многочлена третьей степе-ни f x x x x( ) 7 5 3 2 3 *. Р е ш е н и е. Сперва найдем интервал, внутри которого заключены все действительные корни многочлена. Для этого составим Mathcad-программу:

* По умолчанию точность вычислений считается равной 0,001.

f x( ) 3.012.03x 10.17 3.02x 9.03

root f x( ) x 1 0( ) 0.016

root f x( ) x 1 2( ) 1.954

Page 17: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

17

Поясним эту программу. В первой строке определена матрица коэффи-циентов K данного многочлена. Ее элементы: K0 7 , K1 5 , K2 3 , K3 1 . (Обратите внимание, нумерация элементов матрицы начинается с нуля). В этой же строке задана степень многочлена с помощью встроенной в Math-cad функции rows. Во второй строке программы определен модуль старшего коэффициента многочлена. В третьей строке с помощью встроенной функции submatrix задана матрица всех остальных коэффициентов многочлена. В чет-вертой строке определена матрица, состоящая из абсолютных величин этих коэффициентов. Для ее нахождения использовалась кнопка f M( )

панели Ma-trix. В последней строке программы найдено число B . Таким образом, все действительные корни многочлена находятся в ин-тервале (-8, 8). А это означает, что достаточно построить график многочлена f x( ) лишь в промежутке (-8, 8). Строим графики, позволяющие выяснить во-

прос о количестве корней и локализовать эти корни.

По графикам видно, что многочлен имеет один действительный корень, близкий к числу 2. Найдем этот корень с помощью функции root.

K

7

5

3

1

n rows K( ) 1

as Kn

ap submatrix K 0 n 1 0 0( )

ap1 ap

A max ap1( ) BAas

1 B 8

f x( ) 7 5x 3x2 x3

5 0 5

500

500

f x( )

x

0 1 2 3

10

10

f x( )

x

Page 18: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

18

Предлагаем найти самостоятельно корни данного многочлена с помо-щью функции polyroots.

Ответ: 2,180. П р и м е р 6. Найти корни многочлена четвертой степени

f x x x x x( ) 3 10 12 62 3 4 . Р е ш е н и е. Попробуем с помощью Mathcad (используя кнопку factor панели Symbolic) разложить этот многочлен на множители

Последняя строка программы показывает, что f x x x( ) ( )( ) 3 1 3 . Таким образом, данный многочлен имеет четыре действительных корня (все целые): простой корень 3 и 1 кратности 3. П р и м е р 7. Решить уравнение x x3 1 2 0 ln( ) . Р е ш е н и е. Представим это уравнение в виде x x3 1 2 ln( ) . Положив f x x x1 13( ) ln( ) и f x2 2( ) , построим графики функций f x1( ) и f x2( ) .

По графику заключаем, что данное уравнение имеет один действитель-

ный корень, близкий к 1. Найдем этот корень с помощью функции root, со-ставив Mathcad-программу

Ответ: L = {1,082}. П р и м е р 8. Решить уравнение 8 4 8 4 2 03 3x x .

f x( ) 7 5x 3x2 x3

root f x( ) x 2 3( ) 2.18

f x( ) 3 10x 12x2 6x3 x4

f x( ) factor 1 x 3( ) x 1( )3

f x( ) f1 x( ) f2 x( )

root f x( ) x 1 1.5( ) 1.082

f1 x( ) x3 ln x 1( ) f2 x( ) 2

0 1 2

5

10

f1 x( )

f2 x( )

x

Page 19: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

19

Р е ш е н и е. Рассмотрим функции f x x x1 8 4 8 43 3( ) , f x2 2( ) и построим их графики.

По графику видно, что данное уравнение имеет два корня: один поло-

жительный и симметричный ему отрицательный. Находим эти корни с помо-щью функции root.

Ответ: L = {-0,5; 0,5}. П р и м е р 9. Решить уравнение 1 4 32 3 x x x .

Р е ш е н и е.

По графику видим, что уравнение имеет три корня: 1 [-1, -0,5], 2 [-0,5, 0], 3 [0,5, 1].

Найдем эти корни с точностью до 0,001

f1 x( ) 3 8x 4 3 8x 4 f2 x( ) 2

1 0 1

1

2

3

4

f1 x( )

f2 x( )

x

f1 x( ) 3 8x 4 3 8x 4 f2 x( ) 2

f x( ) f1 x( ) f2 x( )

root f x( ) x 1 0( ) 0.5

root f x( ) x 0 1( ) 0.5

f1 x( ) 1 x2 f2 x( ) 4x3 3x

1 0 1

1

1

f1 x( )

f2 x( )

x

Page 20: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

20

Ответ: L = {-0,707; -0,383; 0,924}. Теперь решим уравнение, записанное в начале § 2.

Пусть r 1, sr

2

4. Составим Mathcad-программу для нахождения чис-

ла с точностью до 10 3 .

Ответ: α = 2,310 рад. 2.1. Решение уравнений в режиме solve Укажем способ решения уравнений с помощью Mathcad в режиме solve. Для его осуществления необходимо:

1) ввести уравнение (знак «=» булев, набирается с панели Boolean); 2) щелкнуть по кнопке solve панели Symbolic;

f1 x( ) 1 x2 f2 x( ) 4x3 3x

f x( ) f1 x( ) f2 x( )

root f x( ) x 1 0.5( ) 0.707

root f x( ) x 0.5 0( ) 0.383

root f x( ) x 0.5 1( ) 0.924

r 1 s r2

4

f1 sin f2 2s

r2

0 1 2 3

1

2

3

f1

f2

f f1 f2

root f 2 3 2.31

Page 21: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

21

3) в помеченной позиции справа от запятой (поставленной компьюте-ром после слова solve) ввести имя переменной, относительно которой нужно решить уравнение; 4) щелкнуть по свободному месту в рабочем документе. Вычисленные решения уравнения будут отражены компьютером в ра-бочем документе справа от стрелки – в виде числа (если решение единствен-ное) или в виде матрицы (если решений больше одного). Если компьютер не сможет найти решение, то он выдаст сообщение: No solution was found. В этом случае следует прибегнуть к уже знакомому способу приближенного решения уравнения. П р и м е р 10. Решить уравнение 3 2 5 5 x x .

Р е ш е н и е.

Проверка:

Ответ: L 77 10 57 . П р и м е р 11. Решить уравнение

x x x x x2 25 3 3 2 2 1 . Р е ш е н и е.

Проверка:

Решения найдены верно.

Ответ: L

12

23

, .

П р и м е р 12. Решить уравнение

x x x x x x3 4 34 1 8 1 2 .

f x( ) 3 2x 5 x

f x( ) 5 solve x 77 10 57

f 77 10 57 5

f1 x( ) x2 5x 3 x2 3x 2 f2 x( ) 2x 1

f1 x( ) f2 x( ) solve x

12

23

f11

2

0 f21

2

0 f12

3

0.333 f22

3

0.333

Page 22: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

22

Р е ш е н и е.

Проверка:

Значение x 0 не входит в ОДЗ уравнения. Ответ: L 1 . Попытаемся решить пример 9 в режиме solve.

Сообщение компьютера: No solution was found.

П р и м е р 13. Решить уравнение 4 4 1 5 02x x x ln ( ) . Р е ш е н и е.

Сообщение компьютера: No solution was found. Решим это уравнение

приближенно.

Ответ: L = {0,738; 1,61}.

П р и м е р 14. Решить уравнение x e xx4 3 1 2 0 .

f1 x( ) x3 4x 1 8 x4 x f2 x( ) x3 1 2 x

f1 x( ) f2 x( ) solve x0

1

f1 1( ) 2 f2 1( ) 2 f1 0( ) i f2 0( ) i

f1 x( ) 1 x2 f2 x( ) 4x3 3x

f1 x( ) f2 x( ) solve x f1 x( ) f2 x( ) solve x

f x( ) 4x ln x( )2 4 1 x 5

f x( ) 0 solve x f x( ) 0 solve x

f x( ) 4x ln x( )2 4 1 x 5

0 1 2

2

2

4

f x( )

x

root f x( ) x 0.5 1( ) 0.738

root f x( ) x 1 2( ) 1.61

Page 23: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

23

Р е ш е н и е.

Сообщение компьютера: No solution was found. И это уравнение решим приближенно.

Ответ: L = {-5,385; -2,684; 0,968}. Решим несколько уравнений с абсолютными величинами. П р и м е р 15. Решить уравнение 2 1 5 3 1 4 0x x x .

Р е ш е н и е.

Проверка:

Ответ: L

75

3, .

П р и м е р 16. Решить уравнение 3 5 4 2 12x x x .

f x( ) x4 ex 3 x 1 2 f x( ) solve x f x( ) solve x

f1 x( ) x4 ex 3 x 1 f2 x( ) 2

10 8 6 4 2 0 2

5

5

f1 x( )

f2 x( )

x

root f x( ) x 6 4( ) 5.385 root f x( ) x 4 2( ) 2.684

root f x( ) x 0 2( ) 0.968

f x( ) 2x 1 5 3x 1 4x

f x( ) 0 solve x75

3

f75

0 f 3( ) 0

Page 24: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

24

Р е ш е н и е.

Ответ: L

1 52

7 1092

; .

П р и м е р 17. Решить уравнение x x x x5 3 5 33 1 100 3 1 104 .

Р е ш е н и е.

Ответ: L = {3}. § 3. Решение СЛАУ 3.1. Нормы векторов и матриц Приведем определения норм векторов и матриц. Пусть задан n-мерный вектор

nx

xx

x...

2

1

.

Наиболее часто для векторов используют следующие нормы:

||max11

knkxx

, (1)

n

kkxx

12

|| , (2)

xxxxn

kk

1

2

3

|| . (3)

Норма (3) порождена скалярным произведением векторов

n

iii yxyx

1.

П р и м е р 1. Вычислить нормы 1

x , 2

x , 3

x вектора

321

x .

Р е ш е н и е. Пользуясь определениями норм, вычислим

3x2 5x 4 2x 1 solve x

12

12

5

76

16

109

x5 3 3x 1 100 x5 3 3x 1 104 solve x 3

Page 25: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

25

nkkxx

11

3|)3||,2||,1max(|||max ,

n

kkxx

12

6321|| ,

742,314)3(21|| 222

1

2

3

xxxxn

kk .

Если A симметричная матрица, то )()(

yAxyxA .

Если в пространстве векторов введена норма

x , то согласованной с

ней нормой в пространстве матриц называют норму

x

xAA

x 0sup . (4)

Согласованные с нормами векторов (1) – (3) нормы матриц определя-ются формулами

n

jjini

aA1

,11 ||max , (5)

n

ijinj

aA1

,12 ||max , (6)

iAAni

TA

13max , (7)

где iAAT - i-е собственное значение симметричной матрицы AAT .

Доказано, что для симметричной матрицы B верно соотношение

||max)(sup0

iix xx

xxB

, (8)

где i - i-е собственное значение матрицы B. Отсюда следует норма (7). В Mathcad

1A normi(A);

2A norm1(A);

3A norm2(A).

П р и м е р 2. Вычислить нормы 1

A , 2

A , 3

A матрицы

320261031

A .

Р е ш е н и е. По формулам (5), (6) находим

9594

max320261031

max||max1

,11

n

jjini

aA ,

115

112

max320263011

max||max1

,12

n

ijinj

aA .

Page 26: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

26

Чтобы вычислить норму матрицы по формуле (7), воспользуемся Math-cad

Mathcad-контроль полученных результатов:

3.2. Прямые методы решения СЛАУ Теоретические условия существования и единственности решения СЛАУ известны – главный определитель не должен равняться нулю. Тогда решение можно найти по правилу Крамера, или методом исключения неиз-вестных Гаусса. Метод Гаусса и правило Крамера относятся к прямым мето-дам решения СЛАУ. Они позволяют за конечное число действий получить точное решение системы, при условии, что все действия выполняются точно, без округления. Но на практике, при больших порядках системы, правило Крамера требует слишком много времени для вычисления определителей. Правило Крамера используется чаще для теоретических исследований, а на практике почти не применяется. Метод исключения неизвестных Гаусса для решения СЛАУ более эф-фективен, чем правило Крамера. Более того, он также эффективен при вы-числении определителя и обратной матрицы. При большом числе неизвестных иногда оказывается, что выгоднее ре-шать СЛАУ методом итераций, который дает приближенное решение систе-мы. Более полную информацию о прямых методах решения СЛАУ можно найти в [11].

A

1

1

0

3

6

2

0

2

3

ATA AT A n rows ATA( ) E identity n( )

ATA E 961 712 64 2

3

polyroots

961

712

64

1

1.564

12.238

50.197

M max 1.564 12.238 50.197( ) M 7.085

normi A( ) 9 norm1 A( ) 11 norm2 A( ) 7.085

Page 27: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

27

3.3. Итерационный метод Запишем квадратную СЛАУ в виде

bxA , (9) где A – матрица коэффициентов;

b - вектор правых частей [свободных чле-нов] системы. Преобразуем (9) к виду, удобному для итераций:

cxBx . (10) Тогда метод простой итерации определяется формулой:

cxBxkk 1

, k 0, 1, …, (11)

начальное приближение 0

x задано. В качестве критерия сходимости итераций обычно применяют условие

kk xx 1 . Сформулируем теоремы об условиях сходимости метода простых ите-раций. Теорема 1 (достаточное условие сходимости). Если 1

1B , то система

(9) имеет единственное решение, а итерационный метод (11) сходится к ре-шению со скоростью геометрической прогрессии. Теорема 2 (признак сходимости). Пусть система (10) имеет единст-венное решение. Итерационный процесс (11) сходится к решению системы (10) тогда и только тогда, когда все собственные значения матрицы B по мо-дулю меньше единицы. Теоремы 1 и 2 не дают способов преобразования квадратной произ-вольной СЛАУ к виду (10) так, чтобы метод итераций (11) сходился к реше-нию. Эти теоремы имеют важное теоретическое значение. Отметим, что на практике для проверки условия сходимости метода итераций более полезна теорема 1, а теорему 2 удается использовать тогда, когда собственные значе-ния матрицы B известны. Задача определения собственных значений матрицы в общем случае сложнее, чем задача решения СЛАУ. Для преобразования системы уравнений к виду, удобному для итера-ций, можно умножить систему (9) на матрицу 1AD , где - произволь-ная матрица. Тогда система примет вид (10)

cxBx , AB ,

bDc (12) и матрица B будет удовлетворять теореме 1, если выбрать элементы матрицы достаточно малыми по модулю. Однако этот прием не выгоден, так как для вычисления обратной матрицы 1A необходимо выполнить не меньше опера-ций, чем на решение самой системы. При небольшом числе уравнений систему иногда удается привести к виду, удобному для итераций, с помощью нескольких преобразований.

Page 28: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

28

П р и м е р 3. СЛАУ приведена к виду, удобному для итераций. Прове-рить условия сходимости и найти решения.

51,02,0,201,04,02,0

,11,03,0

323

3212

211

xxxxxxx

xxx.

Р е ш е н и е. Найдем норму матрицы B и проверим условие сходимо-сти:

161,01,02,0

01,04,02,01,03,0

max||max1

,11

n

jjini

bB .

Mathcad-контроль:

По теореме 1 имеем сходящийся итерационный процесс:

,51,02,0,201,04,02,0

,11,03,0

321

3

3211

2

211

1

kkk

kkkk

kkk

xxxxxxx

xxx k 0, 1, …

Запишем этот процесс в матричном виде

52

1

3

2

1

13

12

11

k

k

k

k

k

k

xxx

Bxxx

,

или короче

CxBxkk

)()1(

. За нулевое приближение примем столбец свободных членов

52

1)0(

x .

Тогда

1,595,05,1)1(

x ;

32,5269,1

545,1)2(

x ;

278,513,1

59,1)3(

x ;

302,5177,159,1)4(

x ;

292,5158,1

595,1)5(

x ;

298,5165,1

594,1)6(

x ;

297,5162,1

595,1)7(

x ;

297,5163,1

595,1)8(

x ;

297,5163,1

595,1)9(

x .

B

0.3

0.2

0

0.1

0.4

0.2

0

0.01

0.1

B1 normi B( ) B1 1 1

Page 29: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

29

Процесс приостановили, так как в значениях каждой неизвестной 1x , 2x , 3x стабилизировались по три десятичных знака после запятой. Таким обра-

зом, можно принять

297,5163,1

595,1)8(

3

2

1

xxxx

x .

Точное решение системы:

4493/238004493/5225

4493/7165x .

Найдем точное решение с помощью Mathcad:

B

710

15

0

110

75

15

0

1100

910

B1

1

2

5

110

75

15

0

1100

910

B2

710

15

0

1

2

5

0

1100

910

B3

710

15

0

110

75

15

1

2

5

x1B1B

x171654493

1.595

x2B2B

x25225

4493 1.163

x3B3B

x3238004493

5.297

Page 30: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

30

3.4. Метод Зейделя Пусть требуется решить квадратную СЛАУ (9). Выразим из первого уравнения переменную 1x , из второго - 2x и т.д. В отличие от метода итера-ций, метод Зейделя использует при вычислении компоненты 1k

ix уже найден-

ные компоненты 11kx , 1

2kx , …, 1

1kix вектора

)1( k

x . Расчетные формулы метода Зейделя можно записать в виде

111,

122,

111,

,

1

,233,21

11,222,2

12

,122,111,1

11

...1.........................................................................

,...1

,...1

knnn

kn

knn

nn

kn

knn

kkk

knn

kk

xaxaxaba

x

xaxaxaba

x

xaxaba

x

. (13)

Теорема 3 (достаточные условия сходимости). Пусть при всех i для коэффициентов системы (9) выполняются условия

ij

iiji aqa ,, ||| , 1q . (14)

Тогда метод Зейделя сходится и выполняется неравенство

1

*

1

*1

xxqxxkk

, (15)

где *

x - точное решение системы (9). Если матрица A удовлетворяет условию (14), говорят что A – матрица с диагональным преобладанием. П р и м е р 4. Решить квадратную СЛАУ методом итераций и методом Зейделя. Сравнить скорости сходимости методов.

39,67,529

321

321

321

xxxxxx

xxx.

Р е ш е н и е. Понятно, что матрица коэффициентов системы уравнений имеет диагональное преобладание. Выразим из каждого уравнения соответст-вующую переменную:

213

312

321

391

,671

,2591

xxx

xxx

xxx

и запишем расчетные формулы метода Зейделя:

Page 31: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

31

12

11

13

31

11

2

321

1

391

,671

,2591

kkk

kkk

kkk

xxx

xxx

xxx

, k = 0, 1, … .

Теперь используем Mathcad.

B 1 C 1 D 1

M0

B

C

D

B15 2C D

9 C1

6 B1 D7

D13 B1 C1

9

M1

B1

C1

D1

M1

0.222

1.032

0.473

B25 2C1 D1

9 C2

6 B2 D17

D23 B2 C2

9

M2

B2

C2

D2

M2

0.379

0.844

0.469

B35 2C2 D2

9 C3

6 B3 D27

D33 B3 C3

9

M3

B3

C3

D3

M3

0.42

0.85

0.474

B45 2C3 D3

9 C4

6 B4 D37

D43 B4 C4

9

M4

B4

C4

D4

M4

0.419

0.849

0.474

Page 32: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

32

Процесс приостановили, так как в значениях каждой неизвестной 1x , 2x , 3x стабилизировались по три десятичных знака после запятой. Таким обра-

зом, можно принять

474,0849,042,0

5

3

2

1

Mxxx

x .

Точное решение системы:

584/27773/62584/245

x .

Теперь решим эту систему методом итераций. Понятно, что в данном случае система имеет вид

CxBx

, где

09/19/17/107/19/19/20

B ,

3/17/69/5

C .

Применяем Mathcad.

B55 2C4 D4

9 C5

6 B5 D47

D53 B5 C5

9

M5

B5

C5

D5

M5

0.42

0.849

0.474

B65 2C5 D5

9 C6

6 B6 D57

D63 B6 C6

9

M6

B6

C6

D6

M6

0.42

0.849

0.474

B

0

17

19

29

0

19

19

17

0

C

59

67

13

X0 C

Page 33: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

33

Сравнивая методы решений, видим, что метод Зейделя для данного примера имеет более высокую скорость сходимости, чем метод итераций. Например, на шаге k = 4 метод итераций дает погрешность 0,012514, а метод Зейделя имеет на этом же шаге погрешность 0,000878056. Важно! Не всегда метод Зейделя сходится быстрее, чем метод простых итераций. Следует иметь в виду, что условия сходимости метода итераций и метода Зейделя различны и один из этих процессов для данной системы мо-жет оказаться расходящимся тогда, когда другой сходится. Теорема 4 (достаточные условия сходимости). Пусть матрица A сис-темы (9) – действительная, симметричная и положительно определенная. То-гда метод Зейделя сходится.

B X0 C

0.402

0.889

0.49

X1

0.402

0.889

0.49

B X1 C

0.412

0.845

0.477

X2

0.412

0.845

0.477

B X2 C

0.421

0.848

0.473

X3

0.421

0.848

0.473

B X3 C

0.42

0.85

0.474

X4

0.42

0.85

0.474

B X4 C

0.419

0.849

0.474

X5

0.419

0.849

0.474

B X5 C

0.42

0.849

0.474

X6

0.42

0.849

0.474

B X6 C

0.42

0.849

0.474

X7

0.42

0.849

0.474

Page 34: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

34

П р и м е р 5. Решить систему уравнений методом Зейделя.

342,6242

,524

32

321

21

xxxxx

xx.

Р е ш е н и е. Матрица системы симметрична, но не имеет диагонально-го преобладания, поскольку решениями системы неравенств

42,44,42

qqq

являются значения 1q , а должны быть 1q (см. (14)). Понятно, что матрица

системы

420242

024A положительно определена, поскольку все ее угло-

вые миноры положительны. Согласно теореме 4 метод Зейделя для данной СЛАУ сходится. Выразим из каждого уравнения соответствующую перемен-ную и запишем формулы метода Зейделя:

43

21

,23

21

21

,45

21

23

312

21

xx

xxx

xx

;

43

21

,23

21

21

,45

21

12

13

31

11

2

21

1

kk

kkk

kk

xx

xxx

xx

, k = 0, 1, … .

Аналогично примеру 4 по данным расчетных формул можно вычислить решение этой СЛАУ. 3.5. Приведение СЛАУ к виду, удобному для итераций

Рассмотрим систему (9)

bxA , матрица A которой не является матри-цей с диагональным преобладанием, т.е. не удовлетворяет соотношению (14). Рассмотрим следующие два случая:

10. Матрица A этой системы симметрическая и положительно опреде-ленная.

Тогда от системы (9) сначала переходят к равносильной ей системе

bxA ( - некоторое число), (16) затем полагают AEEA , (17) где E – единичная матрица, и переходят к системе

bxAEx )( . (18) Остается подобрать множитель τ так, чтобы какая-нибудь норма матри-цы AE была меньше единицы.

Page 35: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

35

Если положить

21

2

, (19)

где 1 и 2 - соответственно наибольшее и наименьшее характеристические числа матрицы A, то норма матрицы

3AE системы (18) будет равной

21

21

, (20)

и значит, будет меньше единицы. Этого достаточно для сходимости процесса итераций, применяемого к системе (18). П р и м е р 6. Привести систему

1222,8252

,422

321

321

321

xxxxxx

xxx (21)

к виду, удобному для применения итераций. Р е ш е н и е. Матрица данной системы не является матрицей с диаго-нальным преобладанием. Однако матрица ее коэффициентов

221252122

A

симметрическая и положительно определенная, поскольку

02 , 05222

, 0|| A .

Характеристическими числами матрицы A являются числа 71 , 132 . Поэтому по формуле (19) найдем

41

172

и составим равносильную (21) СЛАУ (18)

bxAEx

41

41 ,

где E – единичная матрица 3-го порядка, т.е. систему

321

21

41

,221

41

21

,141

21

21

3213

3212

3211

xxxx

xxxx

xxxx

. (22)

В силу (20) норма матрицы (23) будет равна 1

43

1717

.

Поэтому процесс итераций, примененный к системе (22), будет сходящимся:

Page 36: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

36

bxAEx kk

41

41 )()1( , (23)

где k 0, 1, 2, …, а в качестве

)0(x может быть взят столбец свободных чле-нов системы (22), т.е.

321

)0(x .

Выпишем несколько значений:

75,35,025,3

)1(x ;

438,5625,1813,3

)2(x ; …;

569,8142,1426,7

)27(x ;

57,8143,1427,7

)28(x ;

57,8143,1427,7

)29(x . Таким образом,

57,8143,1427,7

)28(xx .

Точное решение системы:

7/607/87/52

x .

20. Пусть теперь невырожденная матрица A системы (9) произвольная, а сама система не удовлетворяет соотношению (14). В этом случае сначала от системы (9) переходят к равносильной ей сис-теме

bAxAA TT . (24) В системе (24) матрица AAT уже будет симметрической и положитель-но определенной. Поэтому к системе (24) применим случай 10 при подготовке ее к виду, удобному для решения методом итераций. Он заключается в пере-ходе от системы (24) к системе (18). П р и м е р 7. Привести СЛАУ

14543,3947,1434

321

321

321

xxxxxxxxx

(25)

к виду, удобному для осуществления метода итераций. Р е ш е н и е. Данная система не удовлетворяет соотношению (14). Име-ем

543417434

A ,

1439

1b .

Найдем матрицу

Page 37: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

37

544413374

TA

и перейдем к системе (24), равносильной системе

5743

42673774

AAT ,

9098311

bAT ,

9098311

574342673774

3

2

1

xxx

. (26)

Запишем систему (26) в виде

11 bxA , (27) где AAA T1 ,

bAb T1 . Теперь от системы (27) перейдем к системе (18). Для этого найдем соб-ственные значения матрицы 1A : 611,241 ; 678,752 ; 711,563 . Тогда

501

289,10022

21

и система вида (18) в данном случае примет вид

1

5011

501 bxAEx , (28)

где E - единичная матрица 3-го порядка. К системе (28) применим метод итераций

9098311

1)0( bx ;

1

5011

501 )0()1( bxAEx ;

7,1566,12

38,151)1(x ;

1

5011

501 )1()2( bxAEx ;

468,8486,30052,78

)2(x ; …;

2001,3002,4

)18(x ;

23999,3

)19(x ;

234

)20(x ;

234

)21(x .

Таким образом,

234

)20(xx . Точное решение системы:

234

x .

Page 38: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

38

§ 4. Аппроксимация непериодических функций Рассмотрим задачи, в которых требуется найти способ приближенного вычисления значения функции в заданной точке. Эти задачи возникают в тех случаях, когда прямое вычисление данной функции )(xfy для произвольно-го аргумента невозможно или слишком трудоемко. Например, функция )(xf определяется как решение сложной задачи. Здесь могут быть известны некоторые свойства функции )(xfy , например, непрерывность и дифференцируемость. Даже если функция легко вычисляется, может возникнуть необходи-мость ее замены, например, при вычислении некоторых определенных инте-гралов или специальных функций математической физики. В этом случае вместо подынтегральной функции нужно подобрать другую функцию, от ко-торой интеграл легко вычисляется. Разумеется, новая функция должна быть приближенно равна в некотором смысле подынтегральной функции. Если значения функции определяются в результате дорогостоящих экс-периментов, могут быть найдены ее значения только в некоторых точках, а для вычисления значения в произвольной точке требуется приближенный метод. При этом может быть известен вид функции, но неизвестны парамет-ры, входящие в определение функции. В этом случае задача сводится к опре-делению параметров известной функции. Аппроксимацией [приближением] функции )(xf называется нахождение такой функции )(x [аппроксимирующей функции], которая была бы близка заданной. Критерии близости функций могут быть различны. В том случае, когда приближение строится на дискретном наборе точек

),( ii yx , ni ,1 , аппроксимацию называют точечной или дискретной. При точечной квадратичной аппроксимации параметры 1a , 2a , …, ma аппроксимирующей функции ),...,,,( 21 maaax , nm , определяются из усло-вия

n

imii aaaxy

1

221 ),...,,,( min.

Если аппроксимация проводится на непрерывном множестве точек (от-резке), она называется непрерывной или интегральной. При интегральной квадратичной аппроксимации функции )(xfy на отрезке [a, b] параметры аппроксимирующей функции ),...,,,( 21 maaax оп-ределяются из условия

b

amaaxxf 2

1 ),...,,()( min.

Примером непрерывной аппроксимации может служить использование конечного числа слагаемых разложения функции в ряд Тейлора, т.е. замена функции многочленом Тейлора. Аналогично, использование конечного числа

Page 39: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

39

слагаемых разложения функции в ряд Фурье, т.е. замена функции тригоно-метрическим многочленом Фурье (см. § 8). Наиболее часто встречающимся видом точечной аппроксимации на дискретном наборе из (n+1)-й точки ),( ii yx , ni ,0 является интерполяция многочленом n-го порядка )(xPn , коэффициенты которого определяются из условий

)( ini xPy , ni ,0 . Применяя интерполяционный многочлен, можно вычислить значения функции )(xf между узлами [провести интерполяцию в узком смысле], а так-же определить значение функции за пределами заданного интервала [провес-ти экстраполяцию]. Важно! Погрешность экстраполяции может быть велика. Для гладких )(xf экстраполяция целесообразна при x , выходящих за указан-ные границы ],[ 0 nxx не более чем на 2/h . В том случае, когда интерполяционный многочлен един для всей облас-ти интерполяции, говорят, что интерполяция глобальная. Если между различ-ными узлами интерполяционные многочлены различны, говорят о кусочной [локальной] интерполяции. Простейшим случаем локальной интерполяции является кусочно-линейная интерполяция, когда в качестве интерполяцион-ной функции выбирается полином первой степени, т.е. узловые точки соеди-няются отрезками прямой. 4.1. Интерполяция Под задачей интерполирования [интерполяции] принято понимать сле-дующую. Пусть известны значения iy функции )(xf в точках ix , ni ,0 , называе-мых узлами интерполяции. Требуется найти такую функцию )(x [интерпо-лирующая функция], значение которой в узлах интерполяции совпадают со значениями )(xf : ii yx )( , ni ,0 . (1) Предполагается, что интерполирующая функция )(x зависит от конеч-ного числа параметров, которые находят из условия (1). Если зависимость интерполирующей функции )(x от параметров линейна, то говорят о линей-ной интерполяции, в противном случае – о нелинейной интерполяции. Формула )(xy называется интерполяционной и используется для вы-числения значения функции )(xf в точке x , не совпадающей с узлами интер-поляции. Эта операция называется интерполированием [интерполяцией] фун-кции. Часто в качестве интерполирующей функции используется многочлен n-го порядка )(xPn [интерполяционный многочлен], удовлетворяющий усло-вию

Page 40: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

40

)( ini xPy , ni ,0 . (2) Важно! Задача отыскания произвольного многочлена, удовлетворяюще-го условиям (2), некорректна, поскольку если степень многочлена меньше n, то такого многочлена не существует, но если больше n, то таких многочленов бесконечное множество. 4.1.1. Интерполяционные формулы Ньютона Пусть узлы интерполяции расположены на отрезке равномерно

ihaxi , ni ,0 . Обозначим шаг изменения переменной x через hx . Введем сначала понятие конечной разности, которое используется для записи интерполяционной формулы Ньютона. Конечные разности функции y = f(x) Первой конечной разностью функции )(xfy называется выражение )()( xfhxfy . (3) Конечная разность второго порядка определяется формулой )()()(2 xfhxfyy )()(2)2( xfhxfhxf . (4) Используя формулу бинома Ньютона, можно вывести формулу конеч-ной разности n-го порядка:

n

k

kn

kn hknxfCnhxfy1

2 )()1()( . (5)

Запишем формулу (5) в Mathcad: :)(xf

!

)(:),(

1

0

k

snknC

k

s

n

k

k hknxfknChnxfnhxy1

2 ))((),()1()(:),,(

П р и м е р 1. Найти конечные разности функции 2x с шагом 1h . Р е ш е н и е. Применим Mathcad.

f x( ) x2

C n k( )0

k 1

s

n s( )

k

y x h n( ) f x n h( )

1

n

k

1( )k 2 C n k( ) f x n k( ) h[ ]

Page 41: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

41

Как видим, конечная разность третьего порядка функции 2x равна ну-лю. Справедливо более общее утверждение: конечная разность (n+1)-го по-рядка многочлена n-й степени равна нулю. Пусть функция )(xf задана своими (n+1) значениями )( ii xfy в равно-отстоящих точках ihxxi 0 , ni ,0 . Таблица конечных разностей функции )(xf записывается в одной из двух форм: горизонтальной или диагональной таблицы разностей. Так как конечная разность использует два значения, столбец iy содержит n значений (на одно значение меньше, чем столбец iy ), iy2 - на одно значение меньше, чем столбец iy и т.д. Если задано n+1 значений функции, то таблица конеч-ных разностей содержит n столбцов, причем последний столбец содержит только одно значение. П р и м е р 2. Построить таблицу конечных разностей многочлена

24 45 xx , используя его значения в точках 21 ixi , 10,0i . Р е ш е н и е. Применим Mathcad.

y x 1 1( ) simplify 2 x 1

y x 1 2( ) simplify 2

y x 1 3( ) simplify 0

f x( ) 5x4 4x2 h 0.2 C n k( )0

k 1

s

n s( )

k

1y x( ) f x 1 h( )

1

1

k

1( )k 2 C 1 k( ) f x 1 k( ) h[ ]

2y x( ) f x 2 h( )

1

2

k

1( )k 2 C 2 k( ) f x 2 k( ) h[ ]

3y x( ) f x 3 h( )

1

3

k

1( )k 2 C 3 k( ) f x 3 k( ) h[ ]

4y x( ) f x 4 h( )

1

4

k

1( )k 2 C 4 k( ) f x 4 k( ) h[ ]

Page 42: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

42

5y x( ) f x 5 h( )

1

5

k

1( )k 2 C 5 k( ) f x 5 k( ) h[ ]

i 0 10 xi 1 i h

1y x( ) submatrix 1y x( ) 0 10 1 0 0

2y x( ) submatrix 2y x( ) 0 10 2 0 0

3y x( ) submatrix 3y x( ) 0 10 3 0 0

4y x( ) submatrix 4y x( ) 0 10 4 0 0

5y x( ) submatrix 5y x( ) 0 10 5 0 0

1y x( )

0

01

23

45

67

8

9

-4.392-2.52

-1.32-0.6

-0.1680.168

0.61.32

2.52

4.392

x

0

01

23

45

67

89

10

-1-0.8

-0.6-0.4

-0.20

0.20.4

0.60.8

1

f x( )

0

01

23

45

67

89

10

94.608

2.0880.768

0.1680

0.1680.768

2.0884.608

9

4y x( )

0.192

0.192

0.192

0.192

0.192

0.192

0.192

3y x( )

0.672

0.48

0.288

0.096

0.096

0.288

0.48

0.672

2y x( )

1.872

1.2

0.72

0.432

0.336

0.432

0.72

1.2

1.872

Page 43: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

43

В данном случае 11 узлов (нумерация от 0 до 10). Поэтому каждый столбец разности короче предыдущего на единицу.

Поскольку исходный многочлен 4-й степени, то столбец последней разности нулевой. Первая интерполяционная формула Ньютона Выведем первую интерполяционную формулу Ньютона. Найдем много-член )(xPn , удовлетворяющий условиям iin yxP )( для ni ,0 . Будем искать этот многочлен в следующем виде:

))...()((...))(()()( 10102010 nnn xxxxxxaxxxxaxxaaxP . Имеем

0xx : 000 )( axPy n 00 ya ;

1xx : hayxxayxPy n 10011011 )()( hy

hyya 001

1

;

2xx : ))(()()( 120220201

022 xxxxaxxh

yyyxPy n

hh

hh

yyyy

hxx

xxh

yyyya

2

2

)(

)( 0102

02

0201

02

2

20

2

2012

20102

20102

!2!22

!222

!2)(2

hy

hyyy

hyyyy

hyyyy

.

Аналогично можно получить общую формулу коэффициентов много-члена Ньютона:

k

k

k hkya

!0

.

Теперь можно записать первую интерполяционную формулу Ньютона: ))...()((...))(()()( 10102010 nnn xxxxxxaxxxxaxxaaxP ,

где

00 ya , …, k

k

k hkya

!0

( nk ,1 ).

С помощью замены переменной

5y x( )

3.553 10 15

2.442 10 15

0

0

0

5.329 10 15

Page 44: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

44

hxxq 0

первую интерполяционную формулу Ньютона можно представить в виде

002

00 !))1()...(1(...

!2)1()( y

nnqqqyqqyqyxP n

n

n

k

kn ykqCyynqCyqCyqCy1

00002

00 ),(),(...)2,()1,( ,

где

!

)(),(

1

0

k

sqkqC

k

s

.

Важно! Первая интерполяционная формула Ньютона применяется для интерполирования вблизи начала таблицы (около 0x ). Ее называют также интерполяционной формулой Ньютона для интерполирования вперед. Вторая интерполяционная формула Ньютона Аналогичными рассуждениями выводится вторая интерполяционная формула Ньютона:

))...()((!

...)(!1

)( 1101 xxxxxx

hnyxx

hyyxP nnn

n

nn

nn

,

которая с помощью замены

hxxq n

приводится к виду

022

1 !))1()...(1(...

!2)1()( y

nnqqqyqqyqyxP n

nnnn

.

Положив

!

)(),(

1

0

k

sqkqT

k

s

,

запишем вторую интерполяционную формулу Ньютона в виде:

n

kkn

knn ykqTyxP

1),()( .

Важно! Вторая интерполяционная формула Ньютона применяется для интерполирования вблизи конца таблицы (около nx ). Ее называют также ин-терполяционной формулой Ньютона для интерполирования назад. П р и м е р 3. Задана таблица значений неизвестной функции )( ii xfy :

i 0 1 2 3 4 xi 2,0 2,5 3,0 3,5 4,0 yi 4 5 5,5 5,7 5,8

Page 45: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

45

Вычислить значения функции в точках 3,2x и 7,3x . Р е ш е н и е. Применим первую интерполяционную формулу Ньютона. Воспользуемся Mathcad. Для этого исходную таблицу зададим в виде матри-цы data:

data

0

1

2

3

4

2.0

2.5

3.0

3.5

4.0

4

5

5.5

5.7

5.8

x data 1 y data 2 h 0.5

m rows data( ) n m 1

C m k( )0

k 1

s

m s( )

k

1y0 y11

1

k

1( )k 2 C 1 k( ) y1 k

1y0 1

2y0 y21

2

k

1( )k 2 C 2 k( ) y2 k

2y0 0.5

3y0 y31

3

k

1( )k 2 C 3 k( ) y3 k

3y0 0.2

4y0 y41

4

k

1( )k 2 C 4 k( ) y4 k

4y0 0

q t( )t x0

h C t k( )

0

k 1

s

q t( ) s( )

k

P t( ) y0 C t 1( ) 1y0 C t 2( ) 2y0 C t 3( ) 3y0 C t 4( ) 4y0

P 2.3( ) 4.671

Page 46: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

46

Теперь вычислим значение функции в точке 7,3x . Для этого приме-ним вторую интерполяционную функцию Ньютона, воспользовавшись, опять-таки Mathcad.

4.1.2. Интерполяционная формула Лагранжа Интерполяционные формулы Ньютона пригодны лишь для равноот-стоящих узлов интерполяции. Рассмотрим интерполяционную формулу Ла-гранжа, которая применима при любом расположении узлов. Пусть дана сис-тема точек 0x , 1x , …, nx , принадлежащих некоторому отрезку [a, b], и извест-ны соответствующие значения неизвестной функции )( ii xfy . Найдем мно-гочлен )(xLn , удовлетворяющий условиям iin yxL )( . Интерполяционный многочлен Лагранжа имеет вид

C m k( )0

k 1

s

m s( )

k

1y3 yn1

1

k

1( )k 2 C 1 k( ) yn k

1y3 0.1

2y2 yn1

2

k

1( )k 2 C 2 k( ) yn k

2y2 0.1

3y1 yn1

3

k

1( )k 2 C 3 k( ) yn k

3y1 0.2

4y0 yn1

4

k

1( )k 2 C 4 k( ) yn k

4y0 0

q t( )t xn

h T t k( )

0

k 1

s

q t( ) s( )

k

P t( ) yn T t 1( ) 1y3 T t 2( ) 2y2 T t 3( ) 3y1 T t 4( ) 4y0

P 3.7( ) 5.741

Page 47: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

47

n

i niiiiiii

niiin xxxxxxxxxx

xxxxxxxxxxyxL0 1110

1110

))...()()...()(())...()()...()((

)( .

Этот многочлен можно преобразовать так, чтобы упростить вычисле-ния. Вынесем за знак суммы произведение

1 10 ))...()(()(n nxxxxxxx ,

которое является многочленом степени n+1. Получим

n

i niiiiiiii

inn xxxxxxxxxxxx

yxxL0 1110

1 ))...()()()...()(()()( .

Теперь интерполяционный многочлен Лагранжа можно записать в виде

n

i i

inn D

yxxL0

1)()( ,

где ))...()()()...()(( 1110 niiiiiiiii xxxxxxxxxxxxD .

Важно! В произведении iD из n+1 сомножителя вместо скобки )( ii xx присутствует множитель )( ixx . П р и м е р 4. Вычислить значения функции из примера 3 в точках

3,2x и 7,3x . Р е ш е н и е. Воспользуемся Mathcad.

Замечание. Существует ряд специальных видов многочлена )(xPn (Ньютона, Лагранжа, Эйткена, Эверетти и др.). Однако следует помнить, что

data

0

1

2

3

4

2.0

2.5

3.0

3.5

4.0

4

5

5.5

5.7

5.8

x data 1 y data 2 h 0.5

m rows data( ) n m 1

P t( ) t x0 t x1 t x2 t x3 t x4

D0 t( ) t x0 x0 x1 x0 x2 x0 x3 x0 x4 D1 t( ) x1 x0 t x1 x1 x2 x1 x3 x1 x4

D2 t( ) x2 x0 x2 x1 t x2 x2 x3 x2 x4

D3 t( ) x3 x0 x3 x1 x3 x2 t x3 x3 x4

D4 t( ) x4 x0 x4 x1 x4 x2 x4 x3 t x4

L t( ) P t( )y0

D0 t( )

y1D1 t( )

y2

D2 t( )

y3D3 t( )

y4

D4 t( )

L 2.3( ) 4.671 L 3.7( ) 5.741

Page 48: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

48

многочлен )(xPn , имеющий iin yxP )( , является всегда единственным. Поэто-му при пренебрежении погрешностью вычислений компьютером все виды интерполяции должны давать одинаковый результат. Это характерно для со-временных компьютеров, имеющих нередко скрытую разрядную сетку для повышения точности вычислений. При обработке экспериментальных данных, как правило, возникает за-дача аппроксимации результатов эксперимента аналитической зависимостью

)(xfy , которую можно использовать в последующих расчетах. Существуют три возможности аппроксимации данных. 1) Аппроксимирующая функция )(xf должна пройти через все опытные точки. Такой способ аппроксимации называется интерполяцией. 2) Аппроксимирующая функция должна сглаживать [усреднять] опыт-ные данные. Такой способ аппроксимации называется регрессией [сглажива-нием]. 3) Аппроксимирующая функция должна отбрасывать систематические погрешности (так называемые шумы, наложившиеся на экспериментальные данные). Такой способ аппроксимации называется сглаживанием с фильтра-цией данных. 4.1.3. Интерполяция сплайнами Пусть задана таблица значений неизвестной функции iy в n+1 узлах

nxxx ...10 . Обозначим 1 iii xxh , ni ,1 . Сплайн – гладкая кривая, проходящая через заданные точки [узлы]

),( ii yx , ni ,0 . Интерполяция сплайнами заключается в том, что на каждом отрезке ],[ 1 ii xx используется многочлен определенной степени. Наиболее часто применяется многочлен 3-й степени, реже – 2-й или 4-й. При этом для определения коэффициентов многочленов используются условия непрерыв-ности производных в узлах интерполяции. Интерполяция кубическими сплайнами представляет собой локальную интерполяцию, когда на каждом отрезке ],[ 1 ii xx , ni ,1 применяется кубиче-ская кривая, удовлетворяющая некоторым условиям гладкости, а именно, не-прерывности самой функции и ее первой и второй производных в узловых точках. Использование кубической функции вызвано следующими соображе-ниями. Если предположить, что интерполяционная кривая соответствует уп-ругой линейке, закрепленной в узлах ),( ii yx , то из курса сопротивления мате-риалов известно, что эта кривая определяется как решение дифферециального уравнения 0)( IVf на отрезке ],[ 1 ii xx . Общим решением такого ДУ является многочлен 3-й степени с произвольными коэффициентами, который удобно записать в виде

Page 49: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

49

31

211 )()()()( iiiiiiii xxdxxcxxbaxS ,

ii xxx 1 , ni ,1 .

Алгоритм интерполяции с помощью кубического сплайна Исходные данные: n+1 значений неизвестной функции 0y , 1y , …, ny в узлах 0x , 1x , …, nx ( nxxx ...10 ). Шаг 0. Вычислим значения ih и ig :

1 iii xxh , ni ,1 ;

i

ii

i

iii h

yyh

yyg 1

1

13 , 1,1 ni .

Шаг 1. Прямой ход прогонки для вычисления коэффициентов ic . Вы-числим коэффициенты прогонки i и i :

)(2 21

22 hh

h

,

)(2 21

12 hh

g

,

)(2 1

11

ii

iiii hh

hh

, 1,3 ni ; 0n .

)(2 1

111

ii

iiii hh

hg

, ni ,3 .

Шаг 2. Обратный ход прогонки для вычисления коэффициентов ic . Вычислим коэффициенты ic :

01 nc ,

iiii cc 1 , 2,ni ; 01 c . Шаг 3. Вычисление коэффициентов ia , ib , id :

1 ii ya , i

iii h

ccd31 , 1

1 23

iii

iii cch

hyyb , ni ,1 .

Шаг 4. Вычисление значения функции с помощью сплайна. Для этого найти такое значение i, что данное значение переменной x принадлежит от-резку ],[ 1 ii xx , и вычислить

31

211 )()()()( iiiiiiii xxdxxcxxbaxS .

П р и м е р 5. Построить кубический сплайн для функции )sin()( xxf на отрезке [0, 2], используя равномерное разбиение отрезка на n = 10 частей. Найти значение в точке 48,0x . Р е ш е н и е. Применим Mathcad.

Page 50: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

50

В Mathcad для кубической сплайн-интерполяции используется встроен-ная функция interp. Обращение к функции: interp(vs, x, y, t) Здесь: vs – вектор вторых производных, созданный функцией cspline(x,y); x – вектор опытных значений аргумента, расположенных в порядке воз-растания; y – вектор опытных значений функции; t – значение аргумента, при котором вычисляется интерполирующее значение функции. Важно! Использование двух функций для интерполяции можно со-вместить, записав, например, fit(t):= interp(cspline(x,y),x,y,t). Для предыдущего примера

x0 0 h 0.2 n 10

i 0 n xi x0 i h yi sin xi

i 1 n 1 gi3h

yi 1 yi yi yi 1

i 3 n 1 i1 i 1

4 2

14

n 0

2g14 h

i 3 n igi 1 h i 1

4 h

i n 2 cn 1 0 ci i ci 1 i c1 0

i 1 n ai yi 1 dici 1 ci

3 h bi

yi yi 1

hh3

2ci ci 1

i 3 Si t( ) ai bi t xi 1 ci t xi 1 2 di t xi 1 3

Si 0.48( ) 0.996 sin 0.48 0.998

fit t( ) interp cspline x y( ) x y t( )

fit 0.48( ) 0.998

Page 51: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

51

4.2. Аппроксимация методом наименьших квадратов

Наиболее распространенным методом аппроксимации эксперименталь-ных данных является метод наименьших квадратов* [МНК]. Очень часто, особенно при анализе эмпирических данных, возникает необходимость найти в явном виде функциональную зависимость между ве-личинами x и y, которые получены в результате измерений. Как правило, об-щий вид этой функциональной зависимости известен, а некоторые числовые параметры неизвестны. Табличные данные, полученные путем измерений, как правило, содержат погрешности. Поэтому построение аппроксимирую-щей интерполяционной функции (т.е. функции с условием обязательного прохождения ее графика через эти экспериментные точки) означало бы тща-тельное повторение допущенных при измерениях погрешностей. Выход из такого положения может быть найден выбором аппроксимации, при которой график функции проходит близко от имеющихся узлов. Понятие «близко» уточняется при рассмотрении разных видов приближений. Пусть заданы значения iy , соответствующие значениям ix , ni ,1 . Предположим, что аппроксимирующая функция )(x зависит от m парамет-ров ),...,,,( 21 maaax , nm . При точечной квадратичной аппроксимации па-раметры 1a , 2a , …, ma аппроксимирующей функции определяются из условия минимума суммы квадратов отклонений значений аппроксимирующей функ-ции от заданных значений функции:

n

imii aaxy

1

21 ),...,,( min. (6)

Вид функции ),...,,,( 21 maaax определяется особенностями решаемой задачи, например, физическими соображениями, если проводится аппрокси-мация результатов физического эксперимента. Наиболее часто применяются аппроксимации прямой линией [линейная регрессия], полиномом [полиномиальная регрессия], сшивкой полиномов, ли-нейной комбинацией линейно независимых функций. Рассмотрим применение МНК для определения параметров функции

),...,,,( 21 maaax при аппроксимации линейной комбинацией линейно независи-мых функций:

m

iiimmm xaxaxaxaaax

122111 )()(...)()(),...,,( . (7)

* Метод наименьших квадратов был открыт немецким математиком К.Ф. Гауссом

[1777-1855], который опубликовал свою первую работу по этому вопросу в 1821 г. и затем возвращался к нему неоднократно в течение всей своей жизни. Его метод наименьших квадратов представляет собой одно из первых крупных достижений в статистике, и даже на сегодняшний день он является одним из самых мощных методов, имеющихся в распо-ряжении статистиков.

Page 52: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

52

Тогда условие (6) имеет вид

n

iimmiiim xaxaxayaaS

1

222111 )(...)()(),...,( min. (8)

Минимум квадратичной функции существует; необходимым условием его существования является равенство нулю частных производных функции S по всем переменным. В результате получим систему уравнений МНК для оп-ределения параметров. При линейной и полиномиальной регрессиях эта система линейна. Если зависимость аппроксимирующей функции от параметров нелинейна, то для определения параметров приходится решать нелинейные задачи. Иногда уда-ется с помощью преобразований вместо функции с нелинейной зависимостью от параметров рассматривать функцию с линейной зависимостью от парамет-ров. П р и м е р 6. Найти параметры показательной функции bteat )( по заданной таблице значений ),( iit , ni ,1

ti 1 2 3 4 5 6 7 8 9 10 φi 1 1,2 1,4 1,5 1,7 1,8 2 2,1 2,5 3

Р е ш е н и е. Применим Mathcad.

Получили: 945,0a ; 11,0b ; сумма квадратов отклонения равна 0,078. Таким образом, результатом аппроксимации является функция

)11,0exp(945,0)( tt . В этом решении была применена встроенная в Mathcad функция Minimize. Найдем матрицу относительных ошибок на узлах:

ORIGIN 1

n 10 i 1 n ti i

1 1 2 1.2 3 1.4 4 1.5 5 1.7

6 1.8 7 2 8 2.1 9 2.5 10 3

f t a b( ) a exp b t( ) S a b( )

1

n

i

f ti a b i 2

a 1 b 1

Given A Minimize S a b( ) A0.945

0.11

S A1 A2 0.078

Page 53: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

53

Полиномиальная регрессия В Mathcad реализована регрессия* одним полиномом [многочленом] и отрезками нескольких полиномов. Полиномиальная регрессия означает приближение данных ( , )x yi i

),0( ni полиномом n-й степени nhxdxcxbxaxP ...)( 32 . При 1n поли-ном является прямой линией, при 2n - параболой, при 3n - кубической параболой и т.д. Как правило, на практике применяются 5n . Замечание. Для построения регрессии полиномом n-й степени необхо-димо наличие по крайней мере )1( n точек данных. В Mathcad полиномиальная регрессия осуществляется комбинацией встроенной функции regress и полиномиальной интерполяцией. regress(x, y, n) – вектор коэффициентов для построения полиномиаль-ной регрессии данных; interp (s, x, y, t) – результат полиномиальной регрессии; s = regress(x, y, n); n – степень полиномиальной регрессии (натуральное число); t – значение аргумента полинома регрессии. Решим пример 3 с помощью полиномиальной регрессии. Понятно, что в данном случае n = 4.

Убедимся, что многочлен fit(t) в данном случае проходит через узлы:

* Более подробную информацию о регрессиях можно почерпнуть, например, в рабо-

те [10].

i 1 n if ti A1 A2 i

i100

1

12

34

56

78

9

10

5.573-1.752

-5.956-1.978

-3.4131.87

2.3878.895

2.151

-4.937

fit t( ) interp regress x y n( ) x y t( )

fit 2.3( ) 4.671 fit 3.7( ) 5.741

fit 2.0( ) 4 fit 2.5( ) 5 fit 3.0( ) 5.5 fit 3.5( ) 5.7 fit 4.0( ) 5.8

Page 54: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

54

Регрессия отрезками полиномов Помимо приближения массива данных одним полиномом имеется воз-

можность осуществить регрессию сшивкой отрезков (точнее говоря, участ-ков, так как они имеют криволинейную форму) нескольких полиномов. Для этого имеется встроенная функция loess , применение которой аналогично функции regress. loess(x,y,span) – вектор коэффициентов для построения регрессии дан-ных отрезками полиномов; interp(s,x,y,t) – результат полиномиальной регрессии; s = loess(x,y,span); span – параметр, определяющий размер отрезков полиномов (положи-тельное число, хорошие результаты дает значение порядка span 0 75, ).

П р и м е р 7.

Найдем сумму квадратов отклонений ε:

data

0

1

2

3

4

5

6

4.1

2.4

3

4.3

3.6

5.2

5.9

data csort data 0( )

x data 0 y data 1

s loess x y 0.9( ) A t( ) interp s x y t( ) A 1.5( ) 2.949

0 1 2 3 4 5 62

4

6

y

A t( )

x t

n rows data( ) i 0 n 1

0

n 1

i

A xi yi 2

1.143

Page 55: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

55

Приведем матрицу относительных ошибок:

Регрессия специального вида Кроме рассмотренных, в Mathcad встроено еще несколько видов трех-параметрической регрессии. Их реализация несколько отличается от приве-денных выше вариантов регрессии тем, что для них, помимо массива данных, требуется задать некоторые начальные значения коэффициентов a b c, , . Ис-пользуйте соответствующий вид регрессии, если хорошо представляете себе, какой зависимостью описывается ваш массив данных. Когда тип регрессии плохо отражает последовательность данных, то ее результат часто бывает не-удовлетворительным и даже сильно различающимся в зависимости от выбора начальных значений. Каждая из функций выдает вектор уточненных пара-метров a b c, , .

expfit(x,y,g) - регрессия экспонентой f x a b x c( ) exp( ) ;

lgsfit(x,y,g) – регрессия логистической функцией f xa

b c x( )

exp( )

1;

sinfit(x,y,g) – регрессия синусоидой f x a x b c( ) sin( ) ; pwrfit(x,y,g) – регрессия степенной функцией f x a x cb( ) ; logfit(x,y,g) – регрессия логарифмической функцией

f x a x b c( ) ln( ) ; где g – вектор из трех элементов, задающий начальные значения a b c. , .

Замечание. Правильность выбора начальных значений можно оценить по результату регрессии – если функция, выданная Mathcad, хорошо прибли-жает зависимость y x( ) , значит, они были подобраны удачно.

П р и м е р 6. Рассмотрим экспоненциальную регрессию (исходные данные взяты из примера 7):

5.701

24.845

2.836

12.591

16.113

5.755

1.301

iA xi yi

yi100

g

1

1

1

C expfit x y g( ) C

0.109

0.548

3.104

Page 56: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

56

Регрессия линейной комбинацией функций пользователя

linfit(x,y,F) – вектор параметров линейной комбинации функций поль-

зователя, осуществляющий регрессию данных; F(x) – пользовательская векторная функция скалярного аргумента. П р и м е р 9. Исходные данные взяты из примера 7:

0 1 2 3 4 5 62

4

6

8

y

f t( )

x t

f t( ) C0 exp C1 t C2

F x( )

1x 1

x

ex

C linfit x y F( ) C

3.957

0.854

5.605 10 4

f t( )C0

t 1C1 t C2 et

0 1 2 3 4 5 62

4

6

8

y

f t( )

x t

Page 57: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

57

§ 5. Численное дифференцирование Задача приближенного вычисления производной может возникнуть в тех случаях, когда неизвестно аналитическое выражение для исследуемой функции. Функция может быть задана таблично, или известен только график функции, полученный, например, в результате показаний датчиков парамет-ров технического процесса. Иногда, при решении некоторых задач на компьютере, из-за громоздко-сти выкладок может оказаться более удобным вычисление производных чис-ленным методом, чем аналитическим. При этом разумеется, необходимо обосновать применяемый численный метод, т.е. убедиться в том, что погреш-ность численного метода находится в приемлемых границах. Одним из эффективных методов решения дифференциальных уравне-ний является разностный метод, при котором вместо искомой функции рас-сматривается таблица ее значений в определенных точках, при этом произ-водные приближенно заменяются разностными формулами. 5.1. Разностные формулы Разностные формулы для обыкновенных производных Разностные формулы для приближенного вычисления производной подсказаны самим определением производной. Пусть значения функции в точках ix обозначены через iy :

)( ii xfy , ihaxi , ni ,0 , h

abh .

Мы рассматриваем случай равномерного распределения точек на отрез-ке [a, b]. Для приближенного вычисления производных в точках ix можно ис-пользовать следующие разностные формулы, или разностные производные.

h

yyh

xfhxfy iiiix

1)()( . (1)

h

yyh

hxfxfy iiiix

1)()(

. (2)

h

yyh

hxfhxfyyy iiiixx

x 22)()(

211

. (3)

Так как предел отношения (1) при 0h равен правой производной в точке ix , то это отношение иногда называют правой разностной производной в точке ix . По аналогичной причине отношение (2) называют левой разност-ной производной в точке ix . Отношение (3) называют центральной разност-ной производной в точке ix . Доказано, что разностная формула (3) имеет погрешность на порядок меньшую, чем разностные формулы (1) и (2).

Page 58: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

58

П р и м е р 1. Вычислить приближенно производные с помощью разно-стных формул и сравнить с точными значениями производной функции

)sin( xy в точках отрезка [0, 1] с шагом h = 0,1. Р е ш е н и е. Применим Mathcad.

Разностные формулы для производных высших порядков

Производные высших порядков можно приближенно вычислять по формулам, полученным с помощью последовательного применения разност-ных соотношений (1) – (3). Разностная формула для второй производной [разностная производная второго порядка] имеет вид

211 2

hyyyy iii

xx

. (4)

П р и м е р 2. Вычислить приближенно производную второго порядка с помощью формулы (4) и сравнить с точными значениями второй производ-ной функции )sin( xy в точках отрезка [0, 1] с шагом h = 0,2. Р е ш е н и е. Применим Mathcad.

n 10 x0 0 h 0.1

i 0 n xi x0 i h yi sin xi

i 1 n 1 y1xi1h

yi 1 yi y2xi1h

yi yi 1

y3xi1

2 hyi 1 yi 1 ytxi cos xi

Tab augment y1x y2x y3x ytx( )

Tab

0 1 2 3

01

23

45

67

8

9

0 0 0 02.788 3.09 2.939 2.988

2.212 2.788 2.5 2.5421.42 2.212 1.816 1.847

0.489 1.42 0.955 0.971-0.489 0.489 0 0

-1.42 -0.489 -0.955 -0.971-2.212 -1.42 -1.816 -1.847

-2.788 -2.212 -2.5 -2.542

-3.09 -2.788 -2.939 -2.988

Page 59: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

59

§ 6. Численное интегрирование

Как правило, интегралы, с которыми приходится иметь дело в различ-

ных приложениях, не выражаются элементарными функциями, т.е. являются «неберущимися». Другими словами, вычисление определенных интегралов на основании формулы Ньютона-Лейбница с помощью первообразной функ-ции не всегда возможно, так как хотя первообразная и существует, она далеко не всегда может быть найдена фактически, и даже тогда, когда ее можно най-ти, она имеет часто весьма сложный вид. Кроме того, функция f x( ) может быть задана таблично. Тем не менее существует достаточно хорошо разрабо-танный аппарат приближенных формул с использованием элементарных функций, а также методы приближенных расчетов, позволяющие с любой степенью точности оценивать и вычислять «неберущиеся» интегралы.

Для приближенного вычисления определенного интеграла f x dxa

b

( ) ра-

зобъем отрезок интегрирования [a, b] на n равных частей точками x a x a h x a i h x bi n0 1 , ,..., ,...,

(h - шаг разбиения, hb a

n

).

Непрерывная подынтегральная функция y f x ( ) заменяется функцией s x( ) , аппроксимирующей данную функцию. Интегрируя функцию s x( ) на от-резке [a, b], придем к некоторой формуле численного интегрирования (квад-ратурной формуле).

В зависимости от функции s x( ) , аппроксимирующей подынтегральную функцию, будем получать различные квадратурные формулы.

n 5 x0 0 h 0.2

i 0 n xi x0 i h yi sin xi

i 1 n 1 yxxiyi 1 2 yi yi 1

h2 ytxxi

2 yi

Tab augment yxx ytxx( )

Tab

0

5.613

9.082

9.082

5.613

0

5.801

9.387

9.387

5.801

Page 60: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

60

Формула средних прямоугольников Если на каждой части ii xx ,1 , ni ,1 деления отрезка [a, b] функцию

f x( ) заменить функцией, принимающей постоянное значение, равное значе-

нию функции f x( ) в серединной точке i-й части Xx x

ii i

1

2, то функция s x( )

будет иметь ступенчатый вид:

iiii

ii xxxxx

fXfxsxs ,,2

)()()( 11

, ni ,1 .

В этом случае

s x dx s x dx h fx x

ii i

i

n

x

x

i

n

a

b

i

i

( ) ( )

1

11 21

.

Получаем квадратурную формулу средних прямоугольников

b

a

b

a

n

iiXfhdxxsdxxf

1)()()( . (1)

Формула левых прямоугольников

Если на каждой части ii xx ,1 , ni ,1 деления отрезка [a, b] функцию f x( ) заменить функцией, принимающей постоянное значение, равное значе-

нию функции f x( ) в левой точке i-й части 1ix , то функция s x( ) будет иметь ступенчатый вид:

iiii xxxxfxsxs ,),()()( 11 , ni ,1 . В этом случае

b

a

n

i

x

x

n

iii

i

i

xfhdxxsdxxs1 1

1

1

)()()( .

Получаем квадратурную формулу средних прямоугольников

b

a

b

a

n

iixfhdxxsdxxf

11 )()()( . (2)

Формула трапеций

Если функцию f x( ) на каждом отрезке x xi i1 , заменить ее линейной интерполяцией по точкам x f xi i 1 1, ( ) и x f xi i, ( ) , то получим непрерывную кусочно-линейную функцию

iii

ii

ii xxxhxxxf

hxxxfxsxs ,,)()()()( 1

11

, ni ,1 .

Page 61: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

61

Графиком этой функции является ломаная линия. В этом случае

s x dx s x dx hf x f x

ii i

i

n

x

x

i

n

a

b

i

i

( ) ( )( ) ( )

1

11 21

.

Получаем квадратурную формулу трапеций

f x dx s x dx hf a f b

f xii

n

a

b

a

b

( ) ( )( ) ( )

( )

2 1

1

. (3)

Формула парабол (Симпсона) Прежде чем переходить к написанию формулы парабол (Симпсона) для вычисления определенного интеграла, заметим следующее:

1) Через любые три точки ( , ), ( , ), ( , )x y x y x y1 1 2 2 3 3 с разными абсциссами можно провести единственную параболу (которая может выродиться в пря-мую), ось которой параллельна оси Oy ;

2) Если точки x x x1 2 3, , расположены через равные промежутки

x x h x x h2 1 3 2 , , то площадь под параболой равна hy y y

341 2 3 .

Можно получить квадратурную формулу Симпсона, называемую также формулой парабол, если функция s x( ) , аппроксимирующая подынтегральную функцию f x( ) , представляет собой непрерывную функцию, составленную из примыкающих парабол. Требуется, чтобы на отрезке x xi i1 , парабола прохо-дила через точки x f x X f X x f xi i i i i i 1 1, ( ) , , ( ) , , ( ) .

Установлено, что в этом случае

s x s xx x x X

hf xi

i ii( ) ( )

( )( )( )

22 1

4 212

12

( )( )( )

( )( )( )

x x x xh

f Xx X x x

hf xi i

ii i

i ,

x x x i ni i 1 1 2, , , ,..., . Тогда

s x dx s x dxh

f x f X f xi i i ii

n

x

x

i

n

a

b

i

i

( ) ( ) ( ) ( ) ( )

6

4111 1

и в результате приходим к квадратурной формуле парабол

f x dxh

f a f b f X f xi ii

n

i

n

a

b

( ) ( ) ( ) ( ) ( )

6

4 211

. (4)

Перепишем формулу (4) в виде

f x dxh

f a f b f X f xi ii

n

a

b

( ) ( ) ( ) ( ) ( )

6

4 21

. (5)

Page 62: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

62

Приближенное значение интеграла .парабI , вычисленное по квадратурной формуле парабол (4), можно выразить через значения .прямоугI и .трапI - резуль-таты вычислений по квадратурным формулам прямоугольников и трапеций: ... 3

132

траппрямоугпараб III . (6)

Мы не будем касаться погрешности каждой квадратурной формулы. Заметим, что при интегрировании степенной функции, степень которой не выше трех, квадратурная формула Симпсона дает точный результат. 6.1. Метод оценки погрешности интегрирования двойным пересчетом Практически важно вести вычисления до достижения заданной точно-сти по той или иной квадратурной формуле. Этой цели удовлетворяет ме-тод двойного пересчета, который заключается в следующем. По квадратур-ной формуле проводят вычисление интеграла с шагом h и получают значение интеграла I h( ) . Затем уменьшают шаг вдвое (т.е. увеличивают n вдвое) и по-

лучают новое приближенное значение интеграла Ih2

. Чтобы определить, как

сильно уклоняется значение Ih2

от точного значения I , используется прави-

ло Рунге:

I Ih

I h Ih

k

2

12 1 2

( ) , (7)

где k 2 для формул прямоугольников и трапеций и k 4 для формулы Симпсона. При заданной точности вычисления с уменьшающимся шагом прово-дят до окончания приближений при выполнении условия

12 1 2k I h I

h

( ) . (8)

При этом полагают

I Ih

2

с точностью .

В качестве начального значения n рекомендуется:

n b a ( ) - в формуле трапеций; n b a ( ) 4 - в формуле парабол.

Page 63: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

63

Реализация метода двойного пересчета в формуле трапеций с помощью Mathcad в «ручном режиме»

Проверка правила Рунге

I2 I13

6.864 10 6

Следовательно, с точностью до пяти знаков после запятой интеграл ра-вен 6,20876. Понятно, что для достижения необходимой точности вычисления необ-ходимо менять вручную значения t в первой строке программы.

t 15

a 0 b 10 5 n0 floor b a( ) 1 n 2t 2 n0

h1b a

n i1 1 n 1 xi1 a i1 h1

h2h12

i2 1 2n 1 xi2 a i2 h2 f x( ) exp sin x( )( )

I1 h1f a( ) f b( )

2i1

f xi1

I1 6.20874

I2 h2f a( ) f b( )

2i2

f xi2

I2 6.20876

Page 64: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

64

Реализация метода двойного пересчета в формуле Симпсона с помощью Mathcad в «ручном режиме»

Проверка правила Рунге

I2 I115

7.322 10 6

Таким образом, с точностью до пятого знака после запятой интеграл равен 6,20876. Для достижения необходимой степени точности нужно менять вручную значения s в первой строке программы. Приведем график функции ))exp(sin()( xxf .

0 0.5 1 1.5 2 2.5 3 3.5

2

42.718

0

f x( )

3.1420

x

s 11 f x( ) exp sin x( )( )

a 0 b 10 5 n0 floor b a( )4 1 n 2s 2 n0

h1b a

n i1 1 n xi1 a i1 h1 Xi1 a i1

12

h1

h2h12

i2 1 2n xi2 a i2 h2 Xi2 a i212

h2

I1h16

f a( ) f b( )

i1

4 f Xi1 2 f xi1

I1 6.20887

I2h26

f a( ) f b( )

i2

4 f Xi2 2 f xi2

I2 6.20876

Page 65: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

65

Реализация метода двойного пересчета в формуле Симпсона с помощью Mathcad в режиме «программирование»

f x( ) exp sin x( )( )

simps f a b s I 0

n0 floor b a( )4 1

n 2s 2 n0

hb a

n

xi a i h

Xi a i12

h

I I 4 f Xi( ) 2 f xi( )

i 1 nfor

h6

I f a( ) f b( )( )

numint f a b( ) 10 5

s 2

I1 simps f a b s

I2 simps f a b s 1

s s 1

I1 I2

I2 simps f a b s 1

I2 I115

while

I2

numint f 0 6.20876

0

xf x( )

d 6.20876Точное значение интеграла

Page 66: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

66

6.2. Интегрирование таблично заданной функции Пусть неизвестная функция y f x ( ) задана отсчетами (вектор y ) с ша-гом h . Число интервалов интегрирования m length y ( ) 1. Тогда интегрирова-ние методом трапеций осуществляется по формуле

Itrh

y yi ii

2 1 ,

где 1,0 mi . Например,

Если же число интервалов - четное число, то можно интегрировать по формуле Симпсона

i m j m

Isimpsh

y y y ym ii

jj

1 3 1 2 4 2

34 20

, .. , ..

Например, для данного выше вектора отсчетов имеем

З а д а ч а. Электрическая цепь питается батареей аккумуляторов. В те-

чение 7 минут напряжение на клеммах падает. Его числовые значения зане-сены в таблицу. Вычислить приближенно количество электричества, про-шедшее через поперечное сечение проводника за этот промежуток времени, если сопротивление цепи постоянно и равно 10 Ом.

i 1 3 m 1 j 2 4 m 2

Ih3

y0 ym 4

i

yi 2

j

yj

I 26.333

y

9

16

25

36

49

h 0.25 m length y( ) 1

i 0 m 1

Itrh2

i

yi yi 1 Itr 26.5

Page 67: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

67

t, мин 0,5 1 1,5 2 2,5 3 3,5 U, В 60,5 60 59,4 59 58,7 58,2 57,9

t, мин 4 4,5 5 5,5 6 6,5 7 U, В 57,3 49,8 49,3 48,9 48 47,3 47

Р е ш е н и е. Поскольку число интервалов нечетное (равное 13), то пользоваться формулой Симпсона нельзя. Применим формулу трапеций.

§ 7. Методы решения обыкновенных диффференциальных уравнений 7.1. Типы решения дифференциальных уравнений Уравнение

0),...,,,,( )( nyyyyxF , связывающее неизвестную функцию )(xy , независимую переменную x и производные )(xy , )(xy , …, )()( xy n неизвестной функции, называется обык-новенным дифференциальным уравнением [ДУ]. Порядок n старшей произ-водной называется порядком дифференциального уравнения. В задаче Коши для ДУ n-го порядка искомая искомая функция )(xy , кроме самого ДУ, должна удовлетворять n начальным условиям

00 )( xy , 10 )( xy , 20 )( xy , …, 10)1( )(

nn xy .

Методы решения задач для дифференциальных уравнений можно раз-бить на три типа: точные, приближенные и численные.

U1

60.5

60

59.4

59

58.7

58.2

57.9

U2

57.3

49.8

49.3

48.9

48

47.3

47

data stack U1 U2( )

di110

data

m length di( ) 1 h 30

j 0 m 1 m 13 Нечетное число интервалов

Ih2

j

dij dij 1 I 2.123 103

Ответ: 2123 Кл.

Page 68: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

68

Точными [аналитическими] называют методы, с помощью которых ре-шение ДУ можно выразить через элементарные функции или интегралы от элементарных функций. Точные методы решения известны только для неко-торых классов ДУ (ДУ с разделяющимися переменными, линейные ДУ и др.). Приближенными называют методы, в которых решение находят как предел последовательности функций, являющимися элементарными или ин-тегралами от элементарных функций. Например, метод разложения искомой функции в ряд Тейлора является приближенным методом. Численный метод решения ДУ – алгоритм вычисления значений иско-мого решения )(xy на некотором дискретном множестве значений аргумента x . При этом вычисляемые значения искомого решения )(xy являются при-ближенными, но могут быть и точными. 7.2. Решение задачи Коши в виде ряда Тейлора При нахождении частного решения ДУ в виде степенного ряда приме-няют способ, основанный на использовании ряда Тейлора (способ последо-вательных дифференцирований). Пусть, например, требуется найти решение ДУ ),( yxfy (разрешенно-го относительно y ), удовлетворяющее начальному условию 00 )( yxy . При-меняя указанный способ, искомое решение ищут в виде ряда Тейлора:

...)(!

)(...)(

!2)(

)(!1

)()()( 0

0)(

20

00

00

n

n

xxn

xyxxxyxxxyxyxy , (1)

где 00 )( yxy ; ),()( 000 yxfxy ; остальные производные )( 0)( xy n ( ,...3,2n ) на-

ходят последовательным дифференцированием исходного ДУ и подстановкой в результат дифференцирования вместо x , y , y , … значений 0x , 0y , 0y и всех остальных найденных значений последовательных производных.

С помощью ряда Тейлора аналогично интегрируются уравнения высших порядков, которые разрешимы относительно старшей производной.

П р и м е р 1. Найти в виде степенного ряда частное решение ДУ 0 xyy , удовлетворяющее начальным условиям 1)0( y , 0)0( y .

Р е ш е н и е. Данное уравнение разрешимо относительно второй произ-водной: xyy , (2) поэтому его частное решение можно искать в виде ряда Тейлора. Так как на-чальные условия заданы в точке 00 x , то искомое решение находим в виде ря-да Маклорена:

...!

)0(...!2

)0(!1

)0()0()()(

2

nn

xn

yxyxyyxy (3)

Полагая в уравнении (2) 0x и 1y , получаем 0)0( y . Чтобы найти значения остальных производных, будем последовательно дифференцировать уравнение (2):

Page 69: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

69

)()( yxyxy , )2()()()4( yxyyxyyxy , )3()2()()5( yxyyxyyxy , …, )2()3()( )2()( nnn xyynxy , и т.д. Тогда 1))0(0)0(()0( yyy , 0))0(0)0(2()0()4( yyy , 0))0(0)0(3()0()5( yyy , 41)0()6( y , 0)0()0( )8()7( yy , 741)0()9( y и т.д. Подставляя найденные значения в разложение (3), получим

1

3963

)!3()23...(741)1(1...

!9741

!641

!311)(

n

nn xn

nxxxxy . (4)

С помощью признака Даламбера можно убедиться, что полученный сте-пенной ряд (4) сходится при любом ),( x , следовательно, для этих же зна-чений x он представляет искомое решение. Важно! Часто разложение (1) заменяют многочленом Тейлора заданной степени.

7.3. Решение задачи Коши методом Рунге-Кутта Рассмотрим наиболее популярный метод решения задачи Коши – метод

Рунге-Кутта. Этот метод позволяет строить формулы расчета приближенного решения практически любого порядка точности.

Запишем расчетные формулы метода Рунге-Кутта 2-го порядка с пере-менным шагом для 1 :

),(

2,

21 iii

iiiii yxfh

yhxfhyy , 1,0 ni ,

и 5,0 :

),(,(),(21 iiiiiiii

iii yxfhyhxfyxfhyy , 1,0 ni .

Приведем наиболее употребительные формулы метода Рунге-Кутта, формулы 4-го порядка точности:

43211 222

kkkkhyy ii ,

),(1 ii yxfk ,

12 2

,2

khyhxfk ii ,

23 2

,2

khyhxfk ii , ),( 34 hkyhxfk ii .

Page 70: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

70

П р и м е р 2. Решить задачу Коши методом Рунге-Кутта 4-го порядка с шагом h = 0,1:

xyxy

21)(

2 , 0)1( y .

Р е ш е н и е. Создадим в программе Mathcad функции для решения за-дачи Коши методом Рунге-Кутта и вычислим решение в точке 2x с шагом h = 0,1 (n = 10):

7.3.1. Вычислительный блок Given/Odesolve

Этот вычислительный блок для решения одного ДУ, реализующий чис-ленный метод Рунге-Кутта, состоит из трех частей: Given – ключевое слово; ДУ и начальное условие, записанное с помощью логических операторов,

причем начальное условие должно быть в форме y t b( )0 ; odesolve(t,t1) – встроенная функция для решения ДУ относительно пере-

менной t на интервале ( , )t t0 1 .

f x y( )1 y2

2x x0 1 y0 0

RungeKutta f x0 y0 x n( ) hx x0

n

k1 f x0 y0( )

k2 f x0h2

y0h2

k1

k3 f x0h2

y0h2

k2

k4 f x0 h y0 h k3( )

y1 y0h6

k1 2k2 2k3 k4( )

x0 x0 h

y0 y1

i 1 nfor

y0

RungeKutta f 1 0 2 10( ) 0.361

Page 71: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

71

Замечание. Допустимо, и даже часто предпочтительно, задание фун-кции odesolve t t step( , , )1 с тремя параметрами, где step - внутренний параметр численного метода, определяющий количество шагов, в которых метод Рун-ге-Кутта, будет рассчитывать решение ДУ. Чем больше step , тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск. Помните, что подбором этого параметра можно заметно (в не-сколько раз) ускорить расчеты без существенного ухудшения их точности. Решим предыдущий пример в блоке Given/Odesolve.

7.3.2. Встроенная функция rkfixed Альтернативный метод решения ДУ заключается в использовании встроенной функции rkfixed. Этот способ несколько проигрывает способу, изложенному в п. 7.3.1, и в простоте, и в наглядности. Поэтому советуем предпочесть вычислительный блок Given/Odesolve. Однако иногда прихо-дится решать ДУ 1-го порядка с помощью блока rkfixed. Решим пример 2 с помощью функции rkfixed.

Обратим внимание на необходимость явного задания количества точек интегрирования ДУ M = 10 в третьей строке программы, а также на получение результата, в отличие от вычислительного блока Given/Odesolve, не в виде функции, а виде матрицы размера 2M . Она состоит из двух столбцов: в ну-левом столбце находятся значения аргумента t (от t0 до t1 включительно), а в первом – соответствующие значения искомой функции )(ty .

Given

y' t( )1 y t( )2

2t y 1( ) 0

y Odesolve t 2( )

y 2( ) 0.361

1 1.5 2

0.2

0.4

y t( )

t

Page 72: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

72

7.3.3. Правило Рунге для вычисления оценки погрешности Для оценки погрешности правилом Рунге сначала проводят вычисления

с шагом h , затем – с шагом h2

. Если yik( ) - приближение, вычисленное с шагом

h , а yik( / )2 - с шагом h

2, то справедлива оценка

y y x y yik

i ik

ik

22

2 22

2

1615

( / ) ( / ) ( )( ) .

За оценку погрешности решения, вычисленного с шагом h2

, принимают

величину

max( / ) ( )

i

ik

iky y2

22

15

. (5)

П р и м е р 3. Решить численно задачу Коши y x y x y2 3 3sin ( ), y( )0 1 на отрезке [0;3] методом Рунге-Кутта с постоянным шагом. Изобразить гра-фики решений, вычисленных с шагом 0,3; 0,6; 0,15. Оценить погрешности найденных решений по формуле Рунге (1).

y 0 D t y( )1 y2

2t M 10 y rkfixed y 1 2 M D( )

1 1.5 2

0.2

0.4

y 1

y 0

y

0 1

01

23

45

67

89

10

1 01.1 0.048

1.2 0.0911.3 0.132

1.4 0.171.5 0.206

1.6 0.2391.7 0.272

1.8 0.3031.9 0.332

2 0.361

ORIGIN 1

y1 1 f x y( ) x2 y1 3 sin x y1 3

Y1 rkfixed y 0 3 10 f( ) Y2 rkfixed y 0 3 20 f( )

Y3 rkfixed y 0 3 5 f( )

Page 73: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

73

Оценим погрешности найденных решений

7.4. Численное решение систем ДУ первого порядка Если система n ДУ первого порядка с n неизвестными функциями

y y yn1 2, ,..., от независимой переменной x разрешена относительно произ-водных этих функций, то она называется нормальной системой; задача Коши для такой системы имеет вид

y f x y y yy f x y y y

y f x y y y

n

n

n n n

1 1 1 2

2 2 1 2

1 2

( , , ,..., ),( , , ,..., ),

...............( , , ,..., ),

y x yy x y

y x yn n

1 0 0 1

2 0 0 2

0 0

( ) ,( ) ,

...............( ) .

,

,

,

(6)

Здесь f f f n1 2, ,..., - известные функции n 1 независимых переменных, отно-сительно которых будем предполагать, что они определены и непрерывны в рассматриваемой области. Число уравнений системы (6) называется ее поряд-ком. Таким образом, система (6) является нормальной системой n-го порядка. Обозначив

0 0.5 1 1.5 2 2.5 3

0.5

1

1.5

2

Y1 2

Y2 2

Y3 2

Y1 1 Y2 1 Y3 1

i 1 10 k 1 5

Er1i Y1 2 i Y2 2

2 i er1max Er1( )

15 er1 8.852 10 3

Er2k Y3 2 k Y1 2

2 k er2max Er2( )

15 er2 0.032

Page 74: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

74

Y x

y xy x

y x

Y

yy

y

Y

y xy x

y x

F x Y

f x y yf x y y

f xn n n

n

n

n

( )

( )( )

...( )

, ... ,

( )( )

...( )

, ( , )

( , ,..., )( , ,..., )

...(

,

,

,

1

20

0 1

0 2

0

1

2

1 1

2 1

, ,..., )y yn1

,

где Y

- искомое решение; Y0

- вектор начальных условий;

F x Y

( , ) - вектор правых частей,

запишем задачу Коши (6) в векторной форме

Y F x Y Y x Y( , ), ( )0 0 . Численное решение задачи Коши (6) состоит в построении таблицы приближенных значений y y yi i i n, , ,, ,...,1 2 ( , ,..., )i N 1 2 решения y x y x y xn1 2( ), ( ),..., ( ) на отрезке x xN0 , (другое обозначение этого отрезка x xstart end, ) в точках x x xN0 1, ,..., , которые называются узлами сетки.

В Mathcad решить задачу Коши (1) можно методом Рунге-Кутта с по-мощью встроенной функции rkfixed y x x N Dstart end, , , , . Смысл параметров для всех функций определяется математической постановкой задачи: y - вектор-столбец начальных условий Y0

; xstart - начальная точка отрезка интегрирования системы; xend - конечная точка интегрирования системы; N - число узлов на отрезке x xstart end, ;

D - имя вектора-функции D x y( , ) , содержащего правые части F x Y

( , ) , так что D x y f x y y yi i n( , ) ( , , ,..., ) 1 2 . Система ДУ высших порядков, разрешенная относительно старших производных ),1(,...,,,...,,...,,,( )1()1(

111)( 1 niyyyyyyxfy ni m

nnnm

im

i , (7) называется канонической системой ДУ порядка m mn1 ... . Задача Коши для системы (7) ставится так: найти решение

),1()( nixyy ii , удовлетворяющее начальным условиям

y y y y y yi i i i im

imi i ( ) ( ) ( ), ( ),..., ( )0 1 10 0 при x x 0 ),1( ni .

Каноническую систему (7) можно привести к нормальной системе (6) m mn1 ... уравнений. П р и м е р 4. Привести к нормальному виду систему ДУ

4 3

x y x tx y t

sin( ),cos( ).

Page 75: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

75

Р е ш е н и е. Здесь функции x и y зависят от переменной t . Из второго уравнения имеем x y tcos( ) . Подставляя это выражение в первое уравне-ние системы и разрешая его относительно y , получаем

y t t x y4 3 4cos( ) sin( ) . Система ДУ

x t yy t t x y

cos( ) ,cos( ) sin( )4 3 4

является нормальной системой второго порядка. П р и м е р 5. Привести к нормальному виду систему ДУ

y y y ey y

x1 2 1

1 2 1,

.

Р е ш е н и е. Сначала приведем эту систему к каноническому виду, разрешив каждое уравнение относительно старшей производной

y e y yy y

x1 2 1

2 11,

.

Теперь введем дополнительные искомые функции y y y y3 1 4 2 , .

В результате получим нормальную систему четвертого порядка

y yy yy e y yy y

x

1 3

2 4

3 4 3

4 31

,,

,.

П р и м е р 6. Решить задачу Коши

y yy y y

1 2

2 2 10 2 0 25,

, , ,

yy

1

2

0 0 10 0 2

( ) , ,( ) ,

на отрезке [0; 30], N = 3000. Р е ш е н и е. Данная система ДУ имеет нормальный вид, поэтому для

ее решения применим метод Рунге-Кутта.

ORIGIN 1

N 3000 y0.1

0.2

D x y( )y2

0.2 y2 0.24 y1

Y rkfixed y 0 30 N D( )

Page 76: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

76

Столбец Y 1 содержит координаты узлов; столбец Y 2 содержит значения функции y x1( ) в узлах; столбец Y 3 содержит значения функции y x2 ( ) в узлах. Вывод полученного решения и графика. Для того чтобы построить

графики найденного решения (т.е. графики функций y x1( ) и y x2 ( ) ), следует ввести в качестве переменной на горизонтальной оси Y 1 , а на вертикальной оси, разделяя запятой, - Y Y 2 3, .

Построим графики

0 5 10 15 20 25 30 35

5

5

107.56

3.927

Y 2

Y 3

300 Y 1

Y

1 2 3

12

34

56

78

910

1112

1314

15

16

0 0.1 0.20.01 0.102 0.2

0.02 0.104 0.20.03 0.106 0.2

0.04 0.108 0.2010.05 0.11 0.201

0.06 0.112 0.2010.07 0.114 0.201

0.08 0.116 0.2010.09 0.118 0.201

0.1 0.12 0.2010.11 0.122 0.201

0.12 0.124 0.2020.13 0.126 0.202

0.14 0.128 0.202

0.15 0.13 0.202

Page 77: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

77

§ 8. Аппроксимация периодических функций 8.1. Тригонометрические многочлены Пусть функция f x( ) периода Т кусочно-дифференцируема [кусочно-

гладкая] на отрезке [a, a+T] (условие Дирихле); тогда во всех точках непре-рывности этого отрезка она разложима в действительный ряд Фурье:

f xa

a x b xk k k kk

( ) cos( ) sin( ) ,

0

12

где

Ta

akk

Ta

akk

Ta

a

dxxxfT

bdxxxfT

adxxfT

a ,)sin()(2,)cos()(2,)(20

12 fkk , T

f 11 , ,1k .

Обозначим через

n

kkkkkn xbxa

axS

1

0 )sin()cos(2

)(

многочлен Фурье n-й степени функции )(xf на отрезке [a, a+T].

Функция T x u x v xn k k k kk

n

( ) cos( ) sin( )

0, где u vk k, - произвольные

действительные числа, называется тригонометрическим многочленом n-й степени. Тригонометрическим многочленом наилучшего приближения n-й степени функции f x( ) на отрезке [a, a+T] называется тригонометрический

многочлен P x u x v xn k k k kk

n

( ) cos( ) sin( )

0, среднеквадратичное отклонение

n x( ) которого от функции f x( ) минимально:

n T na

a T

na

a T

x f x T x dx f x P x dxn

( ) min ( ) ( ) ( ) ( )

2 2 .

Доказано, что для любой ограниченной интегрируемой на [a, a+T] функ-ции многочлен Фурье n-й степени является тригонометрическим многочле-ном наилучшего приближения n-й степени. П р и м е р. Найти для заданного значения погрешности 0 02, триго-нометрический многочлен наилучшего приближения функции f x x( ) , за-данной на отрезке [-π, π], и наименьшей степени со среднеквадратичным от-клонением, меньшим, чем . Построить график зависимости среднеквадра-тичного отклонения от степени многочлена. Р е ш е н и е. Применим Mathcad.

Page 78: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

78

По матрице s видим, что n = 13. Об этом же свидетельствует и постро-енный график.

f x( ) x a T 2 n 30

k 0 n k2kT

Ak2T a

a Txf x( ) cos k x

d Bk2T a

a Txf x( ) sin k x

d

S x n( )A02

1

n

k

Ak cos k x Bk sin k x

n( )a

a Txf x( ) S x n( )( )2

d

k 1 20 sk k( )

0 5 10 15

0.02

0.04

0.02 k( )

13

k

s

0

01

23

45

67

89

1011

1213

14

15

00.273

0.2730.109

0.1090.061

0.0610.04

0.040.029

0.0290.022

0.0220.017

0.017

0.015

Page 79: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

79

8.2. Интерполяционный тригонометрический многочлен Пусть T-периодическая функция задана на отрезке [a0, a0+T] множест-вом из четного числа N равноотстоящих узлов );0( ii ya , где 1,0 Ni с шагом

NTh . Укажем для этого случая интерполяционный тригонометрический

многочлен )(int tT . Для этого сначала запишем интерполяционный тригономет-рический многочлен )(tTin для случая a0 = 0 и h = 1:

1

1

00int )2cos(

2)sin()cos(

2)(

N

mmmmm t

atbta

atT , (1)

где коэффициенты 0a , ma , mb вычисляются по формулам:

1

0)cos(1 N

kmkm ky

Na ,

1

0)sin(1 N

kmkm ky

Nb , (2)

1,0 Nm , T

mm

2 .

Тогда искомый интерполяционный тригонометрический многочлен имеет следующий вид:

hatTtT in

0)(int . (3)

Важно! Формула (1) (а, значит и формула (3)) подходит только для четных N . Если N - нечетное число, то для составления соответствующего интерполяционного тригонометрического многочлена достаточно в формуле

(1) отбросить последнее слагаемое, т.е. )2cos(2

0 ta .

П р и м е р 1. Найти интерполяционный тригонометрический много-член для функции, заданной 12-ю узлами:

(-6; -6), (-5; -20), (-4; -28), (-3; -8), (-2; -1), (-1; 7), (0; -20), (1; -6), (2; -7), (3; 14), (4; 19), (5; 12).

Р е ш е н и е. В данном случае a0 = -6, 1h , 12N . Все вычисления бу-дем производить с помощью Mathcad.

a0 6 h 1 N 12 i 0 N 1 A0i a0 h i

A10 6 A11 20 A12 28 A13 8 A14 1

A15 7 A16 20 A17 6 A18 7 A19 14

A110 19 A111 12

data augment A0 A1( )

x data 0 y data 1 m 0 N 1 m2m

N

Page 80: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

80

Последняя строка программы говорит о том, что полученный много-член действительно является интерполяционным, т.е. проходит через данные узлы. П р и м е р 2. Найти интерполяционный тригонометрический много-член для функции, заданной 12-ю узлами:

(0; -6), (π/6; 0,4), (π/3; 0,582), (π/2; 0,589), (2π/3; 0,465), (5π/6; 0,255), (π; 0), (7π/6; -0,255), (4π/3; -0,465), (3π/2; -0,589), (5π/3; -0,582), (11π/6; -0,4).

Р е ш е н и е. В данном случае 00 a , 6/h , 12N , 2T . Теперь воспользуемся Mathcad.

am1N

0

N 1

k

yk cos m k

bm1N

0

N 1

k

yk sin m k

Tin t( )a02

1

N 1

m

am cos mt bm sin mt

a02

cos 2t

Tint t( ) Tint a0

h

m

Tint xm ym 2 0

a0 0 h6

N 12 i 0 N 1 A0i a0 h i

A10 6 A11 0.4 A12 0.582 A13 0.589 A14 0.465

A15 0.255 A16 0 A17 0.255 A18 0.465 A19 0.589

A110 0.582 A111 0.4

data augment A0 A1( )

x data 0 y data 1 m 0 N 1 m2m

N

am1N

0

N 1

k

yk cos m k

bm1N

0

N 1

k

yk sin m k

Tin t( )a02

1

N 1

m

am cos mt bm sin mt

a02

cos 2t

Page 81: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

81

Последняя строка программы показывает, что получен интерполяцион-

ный многочлен. 8.3. Регрессионный многочлен Фурье Регрессионный многочлен Фурье n-й степени имеет вид

n

kkkkkreg tbta

atT

1

0 )sin()cos(2

)( , (4)

1

0)cos(2 N

iikik xy

Na ,

1

0)sin(2 N

iikik xy

Nb ,

hNk

k

2 .

Понятно, что коэффициенты регрессионного многочлена Фурье найде-ны с помощью формулы левых прямоугольников (см. с. 60). П р и м е р 3. Найти регрессионный многочлен Фурье наименьшей сте-пени для данных из примера 1. Р е ш е н и е. Воспользуемся Mathcad.

Приведем таблицу зависимости ε от n:

n 3 4 5 6 7 12 ε 243,917 225,25 147 147 225,25 3004

По таблице находим, что n = 5. Построим узлы, интерполяционный многочлен и регрессионный мно-гочлен Фурье 5-й степени.

Tint t( ) Tint a0

h

m

Tint xm ym 2 0

n 5 k 0 n k2kN h

apk2N

i

yi cos k xi bpk2N

i

yi sin k xi

Treg t( )ap02

1

n

k

apk cos k t bpk sin k t

i

Treg xi yi 2

i

Treg xi yi 2 147

Page 82: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

82

6 4 2 0 2 4 6

40

20

20

4022.962

28.099

y

Tint t( )

Treg t( )

a0 N ha0 x t П р и м е р 4. Найти регрессионный многочлен Фурье наименьшей сте-пени для данных из примера 2. Р е ш е н и е. Воспользуемся Mathcad.

Treg t( )ap02

1

n

k

apk cos k t bpk sin k t

Приведем таблицу зависимости ε от n:

n 3 4 5 6 7 ε 0,455 0,00006 0 0 0,00006

По таблице заключаем, что искомый регрессионный многочлен Фурье имеет 5-ю степень. В данном случае полученный регрессионный многочлен Фурье оказался и интерполяционным многочленом. Построим узлы, интерполяционный многочлен и регрессионный мно-гочлен Фурье 5-й степени.

0 1 2 3 4 5 6

1

0.5

0.5

10.605

0.605

y

Tint1 t( )

Treg t( )

20 x t

Page 83: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

83

Библиографический список 1. Корниенко В.С. Обработка опытных данных сплайнами [Текст] /В.С.

Корниенко; Волгогр. гос. с.-акад. Волгоград, 1999. 20 с. 2. Корниенко В.С. Компьютерное решение задач на построение эмпири-

ческих формул методом наименьших квадратов [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 1999. 12 с.

2(1). Корниенко В.С. Численное интегрирование в Mathcad [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2000. 8 с.

3. Корниенко, В.С. Методика изучения математики на агроинженерных специальностях с помощью системы Mathcad: Монография. В 2-х ч. Ч. 1 [Текст] /В.С. Корниенко; Волгогр. гос. с.-х. акад. Волгоград, 2002. 248 с. 4. Корниенко, В.С. Методика изучения математики на агроинженерных специальностях с помощью системы Mathcad: Монография. В 2-х ч. Ч. 2 [Текст] /В.С. Корниенко; Волгогр. гос. с.-х. акад. Волгоград, 2002. 252 с.

5. Корниенко В.С. Решение дифференциальных, интегральных и интег-ро-дифференциальных уравнений и систем операционным методом [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2002. 28 с.

6. Корниенко В.С. Решение жестких систем обыкновенных дифферен-циальных уравнений с помощью Mathcad [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2002. 24 с.

7. Корниенко В.С. Получение оптимального плана-решения в задачах с линейной структурой с помощью Mathcad [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2002. 36 с.

8. Корниенко В.С. Статистическая обработка экспериментальных дан-ных линейными одно- и двух факторными корреляционно-регрессионными моделями [Текст] /В.С. Корниенко, Ю.М. Перевозкина; Волгогр. гос. с.-акад. Волгоград, 2002. 20 с.

9. Корниенко В.С. Статистическая обработка экспериментальных дан-ных одно- и двухфакторным дисперсионным анализом [Текст] /В.С. Корниенко, Ю.М. Перевозкина; Волгогр. гос. с.-акад. Волгоград, 2002. 16 с.

10. Корниенко В.С. Элементы теории вероятностей и математической статистики [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2009. 244 с.

11. Корниенко В.С. Элементы математики [Текст] /В.С. Корниенко; Волгогр. гос. с.-акад. Волгоград, 2009. 296 с.

Page 84: Численные методы - narod.ruelectro-vgsha.narod.ru/Biblioteka/Chislennye_metody.pdf · ЧИСЛЕННЫЕ МЕТОДЫ Волгоград ИПК «Нива» 2010

84

В авторской редакции Компьютерная вёрстка Корниенко С.В.

Подписано в печать 10. Формат 60841/16. Усл. печ. л. 5,25. Тираж 100. Заказ .

Издательско-полиграфический комплекс ФГОУ ВПО ВГСХА «Нива» 400002, Волгоград, пр. Университетский, 26