книги / Численные методы. Ч. 4
.pdfВыполнение расчетов
Заданное уравнение (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+1»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] функции /(* ) = |х|
полиномами Ньютона (Лагранжа) Рп(х), построенными с использованием чебышёвских сеток