Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Численные методы. Ч. 4

.pdf
Скачиваний:
1
Добавлен:
20.11.2023
Размер:
6.88 Mб
Скачать

Выполнение расчетов

Заданное уравнение (0,75 - х)ех/2 = 0,5 преобразуется к требуемому виду:

х = 0,75- 0,5е-ф ,

то есть <р(х)=0,75- 0,5е~х,г. Для проверки условий сходимости последователь-

ности получаемых решений необходимо определить производную этой функ­ ции:

<p'(x)= 0,25e-Jt/2

Вид этой функции показан на рис. 1.6. В качестве множества А принима­ ется отрезок [0,1] (см. рис. 1.4). Тогда константу Липшица можно определить в

виде С = max|<p'(;t)|. В рассматриваемом случае функция на отрезке [0, 1] моно-

хеА 1

1

тонна (рис. 1.6),

поэтому в качестве константы Липшица принимается

С = |<р'(0)| = 0,25. Очевидно, что С < 1.

Кроме того, |ф(я)- а\ = |ф(0,5)- 0,5| = 0,13940, (l - С)г = 0,375, откуда следу­ ет, что |ф(а)-<я| £ (1 - С )г. Таким образом, условия теоремы выполнены, то есть

последовательность метода простых итераций должна сходиться к точно­ му решению заданного уравнения.

С помощью вычислительной программы, реализующей алгоритм метода простых итераций, при начальном приближении = 0,5 получено решение

заданного уравнения х =0,32499 с погрешностью не выше Ьх =10"* Подста­ новка этой величины в заданное уравнение дает значение модуля функции |/(0,32499)| = 0,2-10"6, не превышающее заданную погрешность = 10~*

-разработать вычислительную программу, реализующую метод Нью­

тона;

-вычислить корень уравнения с погрешностью не более КГ6;

-оценить быстродействие вычислительной программы.

Алгоритм решения

Для поиска корня уравнения /(х )= 0 в окрестности решения х выбирает­ ся точка х, возле которой функция f(x ) раскладывается в ряд Тейлора:

/(* )= /(* )+ /'(* )(* - * ) + - Отсюда следует приближенное равенство

которое с учетом

Л * )= о

позволяет получить выражение

X х - М

приводящее к итерационной формуле метода Ньютона: x(k+\) _ x(k) _ f{ x (t>)

Условия применимости метода Ньютона (условия сходимости последова­ тельности решений х ^ ) определяются теоремой: пусть выполнены следующие

предположения:

 

1)

х-корень уравнения, то есть

/ ( х ) - 0;

2) первая производная /'( х ) Ф0

Vx е А = {х| | х - х |< г};

3) вторая производная /"(х) непрерывна в А;

4) константа С = а.\х(°)

I

<\t г$е л/, = min|/'(x)| >0, М2=тах|/'(х)|.

2 М Х*

хеА

хеА

Тогда, если х ^ е А ,

то

метод Ньютона

сходится, причем

|х(л) - х| <>С2*",|х(0) - х|, где к - номер итерации.

Выполнение расчетов

Пусть отрезок А = [0, l] (см. рис. 1.4). Для проверки условий сходимости

последовательности решений, получаемых методом Ньютона, определяются первая и вторая производные функции f ( x ):

f'(x ) = - (1,25 + х)ех1г/2, Г (х ) = - (3,25 + х)ех/1/А .

Вид этих функций представлен на рис. 1.8.

/'(П А * )

Поскольку обе функции непрерывны и монотонны на отрезке [0, 1], то

М, = m in|/'(*)| = |/'(0)| = 0,625,

М 2 = ш ах|/'(х)| = |/'(l)| = 0,4801,

 

 

хея

 

 

 

и, кроме

того, /'(* ) *

0 Vx е А . Поскольку

разность

|х ^ - х| <

0,5 при

х(0)=0,5

и 3се[0, l], то

С = -^^-|х(0)-х|<0,192<1. Таким

образом,

условия

теоремы выполнены, и последовательность

метода Ньютона должна схо­

диться к точному решению заданного уравнения.

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

= 0,5 дает результат х =0,32499. Подстановка этой величины в исходное

уравнение дает значение модуля функции |/(0,32499)| = 0,2-10"6, то есть не

превышает заданное значение погрешности 5^ = 10"6

Рис. 1.9. Погрешность решения алгебраического уравнения методом Ньютона в зависимости от номера итерации к

На рис. 1.9 показана сходимость решения заданного уравнения: зависи­ мость 8 ^ = |х(*+1) - х(Л)| от номера итерации.

Выводы

1.Разработана программа решения нелинейного алгебраического уравне­ ния методом Ньютона.

2.Уменьшение погрешности решения с ростом числа итераций (см. рис. 1.9) свидетельствует о сходимости последовательности решений заданного

нелинейного уравнения, получаемых методом Ньютона.

3.С помощью разработанной программы найдено решение х = 0,32499 за­ данного нелинейного алгебраического уравнения с погрешностью, не превышаю­ щей КГ6.

4.Для решения заданного нелинейного алгебраического уравнения мето­ дом Ньютона на компьютере с процессором Intel® Pentium® 4 (тактовая частота 2,2 ГГц, объем оперативной памяти 512 Мбайт) требуется 1,5-10-4 с.

5.Для получения решения заданного нелинейного алгебраического уравне­ ния на вычислительной машине с указанными характеристиками методом поло­

винного деления требуется 1,7-КГ4 с, методом простых итераций - 1,6*10"4 с, ме­ тодом Ньютона - 1,5*1O'4 с. Следовательно, наибольшей производительностью при заданной точности обладает метод Ньютона.

1.3. Аппроксимация функций

Под аппроксимацией заданной функции /(х ) понимается нахождение функции ф(х) из некоторого определенного класса (например, среди алгебраи­ ческих многочленов заданной степени), в том или ином смысле близкой к /(х ) и дающей ее приближенное представление.

Для решения ряда прикладных задач возникает необходимость прибли­ женной замены функции f( x ) некоторым набором известных функций, вычис­ ление которых проще организовать. В частности, может рассматриваться зада­ ча о наилучшем приближении в нормированном пространстве Я, когда задан­ ную функцию / € Я требуется заменить линейной комбинацией известных

элементов ср* е Я , к = 0,л, так, чтобы отклонение 1/ - *=0 У было мини-

мальным.

Частный случай аппроксимации функции - задача интерполирования - со­ стоит в том, чтобы функцию /(х ), известную лишь в узлах некоторой сетки

заданного отрезка, то есть определенную в виде таблицы, /(х ,)= / ,,/ = 0,л,

приблизить непрерывной на этом отрезке функцией ср(х), которая в точках х, совпадает с заданными табличными значениями,

Ф(*/)=//> <= 0,л.

Функция ср(х) может определяться, например, следующим образом:

п

Ф ( * ) = 1 > л ( х)’

к=0

где ф*(х) - набор линейно независимых функций. Очевидно, что в приведен­ ных примерах задач о наилучшем приближении и интерполировании функция ф(х) определяется набором параметров ак, к = 0, п , от которых зависит линей­ но. В противном случае говорят о нелинейной аппроксимации.

1.3.1. Интерполяционный многочлен Ньютона

Задание. Аппроксимировать функцию /(x ) = |xj на отрезке [-1, 1] с ис­

пользованием полинома Ньютона. Исследовать сходимость последовательно­ сти полиномов на равномерной и чебышёвской сетках.

Алгоритм решения

Для произвольной функции /(х ) определим разделенные разности: - первая разделенная разность

f{xh Xj)= [/(* ,)-/(ху)] Дх,- -Ху),

- вторая разделенная разность

f { xi’xj>xk)~ [/^*i’xj )~ f(,xj хк)] j{xi ~ xk)i - третья разделенная разность

f{xi>Xj<xk,x,)= |/(х,,х>)х * )-/(х у,х*,х/)] /{ х .- х ,)

и так далее. Пусть Рп(х) - искомый интерполяционный многочлен степени п. Запишем для него разделенные разности:

Л.(х.х0) = [/5л(х ) - />п(д:о)] /( х - х 0), / >я(х,х0,х1)= [Рл(х,х0) - Р л(х0>х,)] /(х - х ,),

Рл(х,х0,х,,х2) = [Рл(х,х0,х,)—Рл(х0,х,,х2)] /( х - х 2) , ...

Отсюда получаем выражение для полинома в виде pA x )= pA*o)+рАх-хо)(х ~ хо)=

=^n(*o)+ (* - * o )k (Jfo ^ i)+ (* -;lciK(*.Xo,x1)]=

=^(*о)+(*~*о) [pn(Jco.xI)+(x -x,X />„(x0,x1,x2)+ (x -x 2)/5„(x,x0,xl,x;,)}]=..

Иначе это выражение можно записать в такой форме:

^(* )= ^ (х о )+ (х - х 0)/,л(х0,х1)+

+(х- х0)(х- х,)Рп(хо,х,,х2)+(х- х0)(х- х,)(х- х2)/5„(х,х0.х|,х2)+...

Поскольку в точках xh / = 0, п значения полинома Р„(х,) должны совпадать со значениями заданной функции /(*, ), то должны совпадать и соответствую­ щие разделенные разности: / ’„(XQ^ /(*о)» Рп(хо>х\)= /(*o»xi) и так далее. По­ этому искомый полином записывается в форме

Рп = /(*0 )+ (Х - Х0)[/■(*0.■*1)+ (*~ *1 ){/(*0 *1.■*2 )+ •'• ■•}]

или

Л(х) = /(х 0)+ (х - х0)/(х0,х,)+ (х - х0)(х - х, )/(х0,х, .х2)+ ...

Погрешность аппроксимации функции /(х ) полиномом Рп(х) на отрезке

[a, b] определяется выражением

где

= n ja ^ |/(B+1)(x)|, o (x )= (x -x 0)(x - x ,) ...(x - x j.

Погрешность аппроксимации можно уменьшить, если использовать в ка­

честве узловых точек корни полинома Чебышева степени п,

Ь + а

Ь - а

2/ +1

*/= —

+ —

С05^ к ,

1 = 0,«.

В этом случае оценка погрешности полинома Ньютона имеет вид

Выполнение расчетов

Пусть на отрезке [-1, 1] построена равномерная сетка, содержащая 5 узлов. Воспользуемся аналитической зависимостью /(х ) = |х| для табличного задания функции. Узловые координаты х, и соответствующие им значения функции /(* ,) приведены в табл. 1.9. Здесь же представлены значения разделенных раз­ ностей, определенные с использованием приведенных выше соотношений.

 

 

 

Таблица 1.9

 

Табличное задание функции /(х ) = |х| и значения соответствующих

 

разделенных разностей для равномерной сетки на отрезке [-1,1]

X,

/(*,) /(*Г*/+1)

У^(х,,Х;+1,Х/+|) /(*/»*/+1»xi+2»xi+3)

f ( xi,xi+xi+2»xi+3>xi+4 )

-1,0

1,0

 

 

 

-1,0

 

 

-0,5

0,5

0,0

 

 

“ 1,0

1,3333

-1,3333

0,0

0,0

2,0

 

1,0

-1,3333

 

0,5

0,5

0,0

 

1,0

1,0

 

 

1,0

 

 

Использование полученных разделенных разностей позволяет построить на отрезке [-1, 1] полином Ньютона, соответствующий функции /(х ) = |х|, за­ данной таблично с помощью равномерной сетки, содержащей 5 узлов:

P4(x)=l + fx + l) ( - I + (х + 0,5){0 + (х - 0)[1,3333 + (х - 0,5)(-1,3333)]}).

Аналогичным образом строятся аппроксимации на сетках, содержащих 3, 9,17,33 и 65 узлов1. Вид соответствующих функций приведен на рис. 1.10.

1Рекомендуется выполнять вычисления с использованием переменных вещественного типа «двойной точности».

38

На рис. 1.11 показана зависимость погрешности аппроксимации полино­ мами Рп(х) заданной функции /(х ) = | х | на равномерных сетках:

5» = II рп(*)- / МП =

/ Ml •

Рис. 1.10. Аппроксимация на отрезке [-1,1] функции /(х ) = |х| полино­ мами Ньютона Л»(х), построенными с использованием равномерных сеток

Рис. 1.11. Погрешность аппроксимации у функции /(х ) = |х|

полиномами Ньютона Рп(х) на отрезке [-1,1] в зависимости от номера п на равномерных сетках

Для повышения точности аппроксимации функции полиномом Ньютона воспользуемся чебышевской сеткой на отрезке [-1,1]:

х, = cos[(2/ + 1)л/2(п + 1)1 / = 07л.

Втабл. 1.10 представлены значения разделенных разностей, определенные

сиспользованием чебышёвской сетки.

Полученные разделенные разности позволяют построить на отрезке [-1, 1] полином Ньютона, соответствующий функции /(х ) = |х|, заданной таблично с

помощью чебышёвской сетки, содержащей 5 узлов:

Р<(х) =0,9511+ (х+0,951 lX-1+(х+ 0 ,5 8 7 # + ( х - 0)[l,l 056+ (х - 0 ,5 8 7 # 1,162#.

Таблица 1.10 Табличное задание функции /(х ) = |х| и значения соответствующих

разделенных разностей для чебышёвской сетки на отрезке [-1, 1]

*/

/(*.-) /(*/.*/+о

/(*(,*/+l,*l+l)

l,Xit2,XM ,Xi+4)

-0,9511

0,9511

 

 

 

-1,0

0,0

 

-0,5878

0,5878

1,1056

 

-1,0

 

0,0

0,0

1,7013

-1,1625

 

1,0

0,0

-1,1056

0,5878

0,5878

 

 

1,0

 

 

0,9511

0,9511

 

 

Р * -

 

 

1,2

-

 

 

Рис. 1.12. Аппроксимация на отрезке [-1,1] функции /(* ) = |х|

полиномами Ньютона (Лагранжа) Рп(х), построенными с использованием чебышёвских сеток