книги / Численные методы. Ч. 1
.pdfj-l |
j-1 |
rl |
Z(2) = AZ(,) = £<х^А Х ^ = ^ a j(Xj)2Xj ; |
|
|
>1 |
j-i |
|
|
|
j-i |
|
|
|
|
Для |
достаточно |
большого числа |
итераций |
получим, что |X,|k » |X j|k, j = 2,n. |
||
Отсюда |
следует, что |
Z ^ a a ^ A .,) X1, |
то |
есть |
построенная указанным |
способом |
последовательность векторов Z(0), Z(,\ Z(2), |
сходится (с точностью до направления) |
|||||
к вектору X1, соответствующему наибольшему собственному значению |Х,|. |
|
|||||
Кроме того, учитывая, что имеет место зависимость |
|
|||||
|
|
|
=X,|a,(Xl)kX,|«X.1Z(k) |
(5.Ю) |
получим итерационный процесс для вычисления наибольшего (по модулю) собственного значения:
Метод обратных итераций
Для нахождения наименьшего (по модулю) собственного значения матрицы А
можно воспользоваться тем, что матрица А '1 имеет собственные значения, обратные собственным значениям исходной матрицы.
Понятно, что в этом случае итерационный процесс |
|
Z(k+,) = A”,Z(k) |
(5.11) |
приводит к определению модуля наибольшего собственного числа |Х| матрицы А"1 Соответственно, |А.| ' является наименьшим собственным числом матрицы А.
А"1= -i h 4 |
2 1 |
6|_ 5 |
-1 |
Согласно выражению (5.11) построим итерационную процедуру
z !k*"= ^ (-4г |к,+2г(,к'),
z«k*"= i(5z;k)-z'k)).
В качестве первого приближения вновь выберем вектор Z(0) = J. Результаты
расчетов сведены в таблицу 5.4.
|
|
|
|
Таблица 5.4 |
|
|
Вычисление наименьшего собственного значения |
|
|||
Номер |
7 оо |
z‘k> |
И |
X |
|
итерации |
|||||
|
1 |
|
|||
0 |
1 |
1,414213562 |
|
||
1 |
-0,333333333 |
0,666666667 |
0,745355993 |
0,527046277 |
|
2 |
0,444444444 |
-0,388888889 |
0,590563656 |
0,792324287 |
|
3 |
-0,425925926 |
0,435185185 |
0,608932705 |
1.031104266 |
|
4 |
0,429012346 |
-0,427469136 |
0,605624847 |
0.994567777 |
|
5 |
-0,428497942 |
0,428755144 |
0,606169498 |
1.000899321 |
|
6 |
0,428583676 |
-0,428540809 |
0,606078537 |
0.999849941 |
|
7 |
-0,428569387 |
0,428576532 |
0,606093692 |
1,000025005 |
|
8 |
0,428571769 |
-0,428570578 |
0,606091166 |
1,000020837 |
|
9 |
-0,428571372 |
0,428571570 |
0,606091587 |
1,000000695 |
После нормирования получаем вектор
-0,7071066181
0,707106944 Г
Значения для собственного вектора
Х: |
Л |
-0,7071067811 |
|
0,707106781) |
|||
|
|
и собственного значения Х2 = -1 также определены ранее.
Контрольные вопросы и задания
♦Сформулируйте алгебраическую проблему собственных значений. Укажите различие между полной и частичной проблемами.
♦Что понимается под устойчивостью собственных значений и собственных векторов?
♦Определите, что называется коэффициентом перекоса и поясните его геометрический смысл.
♦Опишите и обоснуйте метод интерполяции для определения собственных значений.
♦Обоснуйте алгоритм приближенного определения собственных векторов.
♦Какие особенности трехдиагональных матриц использует описанный алгоритм вычисления определителя?
♦Опишите процедуру метода линеаризации для поиска собственных значений и векторов.
♦Можно ли при использовании степенного метода определить знак максимального собственного значения?
♦Поясните идею определения минимального собственного значения с помощью “обратных итераций".
б . Ч И С Л Е Н Н О Е Д И Ф Ф Е Р Е Н Ц И Р О В А Н И Е
Конечно-разностная аппроксимация
jj_а Пусть на отрезке [а, Ь] введена сетка с шагом h = ------,
п
Пп = |х0=а; х, = a + ih , i = 0,n}.
В произвольной точке этой сетки приближенное значение производной некоторой функции и(х) можно представить несколькими способами:
й, u( * J
'h
,и(х,)-ч(х„,) ‘ h
и(»,„)-и(хн ) 4 2h
Рис. 6.1. Схема численного дифференцирования
Вполне очевидно, что эти формулы по-разному, то есть с различной стеш ыо точности, представляют значение производной в рассматриваемой точке.
Для оценки получаемых погрешностей воспользуемся разложениями рассматриваемой функции в ряды Тейлора вблизи заданной точки х>
) = u(x.)+ u'(x.)h +и"(х.)у + u"'(x.)Y + ° ( h4) ’
ч(х,-,) = uOO - u'(x,)h + U "(x,)y - u'"(X i)y+ ° ( h4) .
Оценим погрешность представления величиной и' первой производной, то есть отклонение действительного значения производной от ее приближенного значения:
> Ф „ . ) - Ч х.)
V, =и'(х,)-й ; = и'(х,)-
= u'(* .) - f(u'(*i)h+u"(*1) y +u'"(xi) y +0(h4)) =
u'(x, ) - u'(x ,)-u "(x, ) | - u"(x, ) y + 0 (h 3) = - u" ( x ,)y - u" '(x ,)y + 0 (hJ) = 0 (h).
Полученный результат свидетельствует о том, что погрешность аппроксимации первой производной u'(xj) выражением й' определяется величиной,
пропорциональной шагу h сетки Пп при условии ограниченности второй производной и"(х,) и малости самого шага h. В этом случае говорят, что имеет место первый
порядок аппроксимации.
Оценим погрешность аппроксимации величиной и' первой производной:
у/, = u,(x ,)-u ; = U (х,)— 7 |
v— —= |
= u'(x.) - ^ u'(x,)h - u"(x,) y |
+ u'"(x, ) y 4 |
= u'(x,) - u '( x,) + u''(xl) |- u " '( x l) y + 0 (h ,)= u"(x1) | - u " '( x,) y + 0 ( h J) = 0(h).
Видно, что в этом случае также имеет место первый порядок аппроксимации. Аналогично поступим для оценки погрешности формулы “ц*:
¥. =u'(x1) - Ч,= и'(х1)------ ^ — '- =
= u'(x,) _ y ( 2u'(x,)h + u'"(x,) T + 0(hJ)) - u'(x.)~ “Чх*)“ u'"(x. +°(h*)=
=- “ "'(x, ) y + 0 (h 5) = 0 (h J)
Впоследнем случае получили уже второй порядок аппроксимации. Это означает, что из трех выражений для аппроксимации производной последний вариант обеспечивает наименьшую погрешность.
Вполне очевидно, что в любом из рассмотренных случаев приближение производной ее разностным аналогом тем точнее, чем меньше шаг h выбранной сетки. Вместе с тем следует иметь в виду, что уменьшение шага h приводит к возрастанию
погрешности вычислений.
В самом деле, пусть вместо точных значений и(х,) и и(х,_,) вследствие ошибок
округления получены значения Цх^+б, и и(х,_,)+ б,Аппроксимация производной
г ', _ (и(*.)+5'М |
и(*.-')+6м) |
и(х,)-и(хм ) |
6 ,-6 ,., |
‘ |
h |
h |
h |
вычисляется также с ошибкой |
|
При известных оценках |б;|<А, |б4_,| < А |
|
полную погрешность можно также оценить |
|
|
|
|
|б| < —— —►оо, |
h-> 0. |
|
Очевидно, следует потребовать, чтобы погрешность округления не превышала |
|||
погрешности аппроксимации при записи разностного аналога: |
|
||
|
2А M,h |
|
|
где М 2 = maxju"(x)| - чебышевская оценка второй производной заданной функции на |
|||
отрезке [а, Ь]. |
|
|
|
Отсюда следует |
|
|
|
|
Н* 2 1 |
|
|
|
М, |
|
Применение интерполяционных формул
Для получения приближенного значения производной можно воспользоваться
рассмотренными ранее способами аппроксимации значения функции. Идея
заключается в том, что сложная функция заменяется вблизи заданной точки некоторым полиномом, для которого и определяется значение производной.
В частности, для трех точек хм , Xj, х|+1 полином Лагранжа имеет вид
L ,W - , < - - - х — ■>
к
Xх. ( х , . 1 -х^Хх,.,-х.)
(х-х.Дх-х,) |
(x-x,.,X*-x»»).,/r w(x-x-iXx-x0„(v у |
■ h,(h1+u |
h,h,., |
u(x',+ M h 1+h,.,) |
Определим для построенного полинома производные:
Л |
2u(X-l) |
2u(X.) , |
2u(X..l) |
' |
h,(h,+ h„|) |
h,h,.i |
h ^ h .+ h ,,,) - |
Для выбранной точки Xj получаем значение первой производной
j . / \ |
hlt,u(x,-,) |
, (h,„-h,)u(x,) | |
h,u(x,„) |
|
h,(h ,+ h w) |
h,h„, |
hM(h ,+ h ,.,)' |
Очевидно, что выражение L'2'(x) от переменной х не зависит.
В частном случае постоянного шага сетки |
= hi+I = h получаем |
||||
|
I- 'Ы |
u(x—■) | u(x»*') |
u( * J - 4 * , - i ) |
|
|
|
Л |
2h |
2h |
2h |
4 ’ |
L ;'(X,)= |
2U (X ,_I ) |
2u(x,) |
| 2u(x„|) |
u(x,_,) - 2u(x,) + u(x„,) |
|
2h! |
h! |
2h! |
hJ |
|
|
|
|
Контрольные вопросы и задания
♦Укажите принципы построения аппроксимации производных функции.
♦Определите понятия: погрешность аппроксимации, порядок аппроксимации.
♦Опишите способ оценки точности аппроксимации производной разностным аналогом.
♦Как используются интерполяционные полиномы для построения аппроксимаций производных?
♦Установите зависимость степени интерполяционного полинома от порядка аппроксимируемой производной.
♦Определите погрешность полученной аппроксимации второй производной.
♦ Запишите самостоятельно выражение для аппроксимации смешанной
w d2u(x,y)
производной---- -— - и оцените ее погрешность.
д \д у
7 Ч И С Л Е Н Н О Е И Н Т Е Г Р И Р О В А Н И Е
Пусть для функции f(x) требуется вычислить значение определенного интеграла
|
|
|
I = jf(x)dx. |
|
|
(7 .1) |
|
|
|
|
а |
|
|
|
|
Заменим подынтегральную функцию разложением вида |
|
||||||
|
|
f ( x ) « if(*,)<P,(x), |
|
|
(7.2) |
||
где f(xj) |
значения |
заданной |
функции |
в |
узлах |
разностной сетки |
|
Ога = | хо = а’ |
Xj=a +i h; |
i=0,т; |
h = |
I Фj(x) |
система |
линейно-независимых |
|
функций. |
|
|
|
|
|
|
|
Подставляя выражение (7.2) в формулу (7.1), получаем |
|
||||||
|
I= }f(x)dx * £ f(x,)J<P,(x)dx =£c,f(x,). |
(7.3) |
|||||
|
а |
|
}=0 |
а |
рО |
|
|
|
|
|
Ь |
|
__ |
|
|
В этой формуле обозначено |
С3 =Jфj(x)dx, j =0,ш - весовыекоэффициенты. |
||||||
Выражение (7.3) носит название квадратурной формулы интерполяционного типа; |
|||||||
]ГСДхл) - квадратурная сумма. |
|
|
|
|
|
||
Разобьем |
весь интервал |
интегрирования |
[а, |
Ь] на |
ряд подынтервалов |
[хк_„ хк], к = 1,п, поскольку на каждом из таких отрезков проще и удобнее оценивать
квадратурные формулы. Погрешность формул интегрирования на произвольном отрезке [хк_р хк] определяется как разность между точным значением интеграла и
квадратурной суммой:
Ч-i 1"
Пользуясь свойством аддитивности, выражение (7.1) представим в виде
I=J f(x)dx = Z }f(x)dx.
J |
^ 1 |
Погрешность численного интегрирова ия на всем интервале [а, Ь]
T = X Vk. |
(7.4) |
к I
Формула прямоугольников
Рассмотрим простейший случай, когда в разложении (7.2) удерживается лишь одно слагаемое, содержащее функцию ср0 = 1. В этом случае весовой коэффициент
ч
C0k = Jcp0dx=h, xkI
и на отрезке [хк_,, хк] интеграл заменяется выражением |
|
Jf(x)dx=f(xt ,,2)h . |
(7.5) |
xk-i |
|
Геометрически это означает замену интеграла на указанном отрезке площадью
прямоугольника с основанием h и высотой, равной значению функции в середине
основания прямоугольника (рис. 7.1).
Рис. 7.1. Схема численного интегрирования методом прямоугольников
Воспользуемся для представления функции f(x) вблизи точки хк_|/2 формулой
Тейлора
f(x) = f(xk-l;!) + f'(xt ,;j)(x -x t „:) + Р'(^ Х *ы/г) , * б[хк.„х к].
Определим погрешность вычисления интеграла на отрезке [xk_,, хк J:
Ч\ = J f(x)dx - f(xk.1/2)h = Ч-I
= jf ^к-1/2)+f'(хк-I/2)(X- х>1<:)+f"(£)^ |
jdx-f(xk,|„)h = |