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

Boyarshinov_ChM_T1

.pdf
Скачиваний:
133
Добавлен:
13.03.2016
Размер:
1.32 Mб
Скачать

 

 

Z(k 1)

AZ(k) .

 

 

 

 

Разложим начальное приближение Z(0)

по базису из собственных векторов X j, j 1,n

матрицы A:

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

Z(0) jXj .

 

 

 

 

 

 

 

j 1

 

 

 

 

 

Тогда очевидно, что

 

 

 

 

 

 

 

 

n

n

 

n

 

 

n

 

Z(1)

AZ(0) A jXj j AXj j jXj

j jXj ;

 

 

j 1

j 1

 

j 1

 

 

j 1

 

 

 

n

 

n

 

 

 

 

 

Z(2) AZ(1) j jAXj

j j 2

Xj

;

 

 

 

 

j 1

 

j 1

 

 

 

 

 

 

 

. . .

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

Z(k) j j k Xj .

 

 

 

 

 

 

j 1

 

 

 

 

 

Для достаточно большого числа итераций получим, что

1

k

k

. Отсюда

j , j 2,n

следует, что

Z(k) 1 1 k X1 ,

то

есть

построенная

 

указанным

способом

последовательность векторов Z(0),

Z(1), Z(2), сходится (с точностью до направления) к

вектору X1, соответствующему наибольшему собственному значению 1 .

 

Кроме того, учитывая, что имеет место зависимость

 

 

 

 

 

Z(k 1) 1 1 k 1X1 1 1 1 k X1 1Z(k) ,

(5.10)

получим итерационный процесс для вычисления наибольшего (по модулю) собственного значения:

(k1

1)

 

Z(k 1)

.

Z(k)

 

 

 

 

Метод обратных итераций

Для нахождения наименьшего (по модулю) собственного значения матрицы А можно воспользоваться тем, что матрица A 1 имеет собственные значения, обратные собственным значениям исходной матрицы.

Понятно, что в этом случае итерационный процесс

Z(k 1)

A 1Z(k)

(5.11)

139

приводит к определению модуля наибольшего собственного числа матрицы

A 1 .

Соответственно, 1 является наименьшим собственным числом матрицы A.

 

Пример 5.6. Определить наибольшее и наименьшее собственные значения матрицы

1

2

 

A

.

 

5

4

 

Рассмотрим итерационный процесс Z(k 1) AZ(k) .

Для заданной матрицы получаем систему

 

(k 1)

(k)

2Z

(k)

,

Z1

Z1

 

2

 

 

(k 1)

5Z

(k)

4Z

(k).

Z

 

2

 

1

 

 

 

2

 

В качестве первого приближения выберем вектор Z(0)

1

. Результаты расчетов

 

1

сведены в табл. 5.3.

 

 

Таблица 5.3

Вычисление наибольшего собственного значения

 

Номер

(k)

(k)

 

Z

(k)

 

 

итерации

Z1

Z2

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

1,414213562

 

 

1

3

9

 

9,486832981

6,708203932

 

2

21

51

 

55,15432893

5,813776742

 

3

123

309

 

332,5808173

6,030003876

 

4

741

1851

 

1993,810924

5,994966698

 

5

4443

11109

 

11964,53635

6,000837995

 

6

26661

66651

 

71785,54675

5,999860309

 

 

 

 

 

 

 

 

После нормирования получаем вектор

 

 

 

 

 

 

0371397882,

 

 

 

 

 

 

 

 

 

 

 

 

Z(7)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

0928473809,

 

Ранее, при выполнении примера 5.1, найдены точные значения для собственного вектора

 

X

1

1

2

0371390676.

 

 

 

 

 

 

 

 

 

29

5

0928476691.

и собственного значения 1

6.

 

 

 

 

 

140

 

 

 

 

 

 

Для нахождения наименьшего собственного значения используем матрицу

 

A

1

 

1

4

 

2

 

 

 

 

 

 

 

.

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

5

 

1

 

 

Согласно выражению (5.11) построим итерационную процедуру

 

(k 1)

 

1

 

(k)

 

(k)

,

Z1

6

4Z1

 

2Z2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

(k 1)

 

 

(k)

 

(k)

.

 

Z

2

6

5Z1

Z2

 

 

 

 

 

 

 

 

 

 

 

В качестве

первого приближения вновь выберем вектор Z(0)

1

 

. Результаты

 

 

 

 

 

 

 

1

расчетов сведены в таблицу 5.4.

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.4

 

 

 

Вычисление наибольшего собственного значения

 

 

 

Номер

 

(k)

(k)

Z

(k)

 

 

 

итерации

 

 

 

 

Z1

Z2

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

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

 

 

 

 

 

 

 

 

 

 

После нормирования получаем вектор

0707106618,

Z(10) .

0707106944,

Значения для собственного вектора

X

2

2

1

0707106781,

 

 

 

1

 

 

 

 

 

2

 

 

 

0707106781,

и собственного значения 2 1 также определены ранее.

Контрольные вопросы и задания

141

Сформулируйте алгебраическую проблему собственных значений. Укажите различие между полной и частичной проблемами.

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

Определите понятие коэффициента перекоса.

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

Приближенное определение собственных векторов.

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

Метод линеаризации для поиска собственных значений и векторов.

Степенной метод для определения максимального собственного значения.

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

142

6 . Ч И С Л Е Н Н О Е Д И Ф Ф Е Р Е Н Ц И Р О В А Н И Е

Конечно-разностная аппроксимация

Пусть на отрезке [a, b] введена сетка с шагом h b a ,

 

 

 

n

Wn x0

a;

xi a i h,

i 0,n .

В произвольной точке этой сетки приближенное значение производной некоторой функции u(x) можно представить несколькими способами:

ui u xi 1 u xi ; h

ui u xi u xi 1 ; h

ui u xi 1 u xi 1 . 2h

u(xi+1)

u(xi)

u(xi-1)

xi-h xi xi+h

Рис. 6.1. Схема численного дифференцирования

Вполне очевидно, что эти формулы по-разному, то есть с различной степенью точности, представляют значение производной в рассматриваемой точке.

Для оценки получаемых погрешностей воспользуемся разложениями рассматриваемой функции в ряды Тейлора вблизи заданной точки xi :

u xi 1

u xi u xi h u xi h2

u xi h3

O h4 ,

 

2

6

 

145

u xi 1

u xi u xi h u xi h2

u xi h3

O h4 .

 

2

6

 

Оценим погрешность представления величиной ui первой производной, то есть

отклонение действительного значения производной от ее приближенного значения:

)

i

 

i

 

i

 

 

 

i

 

u xi 1 u xi

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u x

 

 

u u

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u xi 1

 

 

 

 

 

 

 

 

 

 

2

u xi

h

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u xi h u xi h

 

 

 

 

 

O h4

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

 

 

u xi u xi u xi h

u xi h2

O h3 u xi h u xi h2

O h3 O h .

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

 

 

2

6

 

Полученный результат

свидетельствует

 

о том,

что

погрешность аппроксимации

первой производной

u

 

x

i выражением

u

 

 

определяется величиной,

пропорциональной

 

 

 

i

 

 

шагу h сетки Wn

при условии ограниченности второй производной u xi и малости самого

шага h. В этом случае говорят, что имеет место первый порядок аппроксимации.

Оценим погрешность аппроксимации величиной

u

 

 

 

 

i первой производной:

 

i

 

 

i

 

 

 

 

 

i

 

u xi u xi 1

 

 

 

 

 

 

 

 

 

 

 

i

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u x

 

 

u u

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u xi 1

 

 

 

 

 

 

 

 

 

 

2

u xi h

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u xi h u xi h

 

 

 

O h4

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

 

u xi u xi u xi

h

u xi h2

O h3 u xi h u xi h2

O h3 O h .

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

 

 

2

6

 

Видно, что в этом случае также имеет место первый порядок аппроксимации.

Аналогично поступим для оценки погрешности формулы

ui :

 

 

 

 

u xi 1 u xi 1

 

 

 

 

i u xi ui u xi

 

 

 

 

 

 

 

2h

 

 

 

 

 

u xi 1

 

2u xi h u xi h

3

O h4

 

u xi h

2

O h3

 

 

 

 

u xi u xi

 

2h

 

3

 

 

6

 

2

 

 

 

 

 

 

 

 

u xi h6

O h3 O h2 .

 

 

 

 

 

 

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

Вполне очевидно, что в любом из рассмотренных случаев приближение производной ее разностным аналогом тем точнее, чем меньше шаг h выбранной сетки. Вместе с тем

146

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

В самом деле, пусть вместо точных значений u xi и u xi 1 вследствие ошибок округления получены значения u xi i и u xi 1 i 1. Аппроксимация производной

u

u xi i u xi 1 i 1

u xi u xi 1

 

i

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

i

h

 

 

h

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i i 1

. При известных оценках i

D,

i 1

D

вычисляется также с ошибкой

 

 

h

 

 

 

 

 

 

 

 

 

 

полную погрешность можно также оценить

 

 

 

 

 

 

 

2D ,

h 0.

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

Очевидно, следует потребовать, чтобы погрешность округления не превышала погрешности аппроксимации при записи разностного аналога:

 

 

 

2D M2h ,

 

 

 

h

2

где M2

max u x

- чебышевская оценка второй производной заданной функции на

 

 

 

 

 

 

x a,b

 

 

 

 

 

 

отрезке [a, b].

Отсюда следует

 

 

 

 

 

h 2

D

 

 

 

 

M2 .

 

 

Применение интерполяционных формул

Для получения приближенного значения производной можно воспользоваться рассмотренными ранее способами аппроксимации значения функции. Идея заключается в

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

В частности, для трех точек xi 1, xi, xi 1 полином Лагранжа имеет вид:

L

 

x

x xi 1

x xi

u xi 1

 

x xi 1 x xi 1

u xi

x xi 1

x xi

u xi 1

 

2

xi 1 xi 1

xi 1 xi

xi xi 1

xi xi 1

xi 1 xi 1

xi 1 xi

 

 

 

 

 

 

 

 

 

 

 

x xi 1 x xi

u xi 1

x xi 1

x xi 1

 

x xi 1

x xi

u xi 1

.

 

 

 

hi hi hi 1

 

hihi 1

u xi

hi hi 1

 

 

 

 

 

 

 

hi 1

 

 

 

 

 

Определим для построенного полинома производные:

147

L x 2x xi xi 1

u x

 

2x xi 1 xi 1 u x

2x xi 1 xi

u x

 

 

,

2

 

hi hi hi 1

 

i 1

 

 

 

 

 

hihi 1

i

hi 1 hi hi 1

 

i 1

 

 

 

 

 

 

L x

 

 

2u xi 1

 

 

2u xi

2u xi 1

 

 

 

 

 

 

 

 

 

 

 

2

 

 

hi hi hi 1

 

hihi 1

hi 1 hi hi 1 .

 

 

 

 

Для выбранной точки xi

получаем значение первой производной

 

 

 

 

L

x

i

 

 

hi 1u xi 1

 

hi 1 hi u xi

hiu xi 1

 

 

 

 

 

 

hi

hi hi 1

 

 

 

 

hihi 1

 

 

hi hi 1 .

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

hi 1

 

 

 

 

Очевидно, что выражение

L

x

 

от переменной x не зависит.

 

 

 

 

 

2

 

 

 

 

В частном случае постоянного шага сетки hi hi 1 h получаем

 

 

 

 

 

 

 

 

 

2

 

 

i

 

 

u xi 1

 

u xi 1

u xi 1 u xi 1

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

L

 

 

 

 

 

2h

 

 

2h

u ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

L x

i

 

2u

xi 1 2u xi 2u

xi 1 u xi 1 2u xi u xi 1 u .

 

 

2

 

 

2h

2

 

 

h2

 

 

 

2h2

 

 

 

 

h2

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контрольные вопросы и задания

Укажите принципы построения аппроксимации производных функции.

Определите понятия: погрешность аппроксимации, порядок аппроксимации.

Опишите способ оценки точности аппроксимации производной разностным аналогом.

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

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

Определите погрешность полученной аппроксимации второй производной.

Запишите самостоятельно выражение для аппроксимации смешанной производной

2u x,y и оцените ее погрешность.

x y

148

7 . Ч И С Л Е Н Н О Е И Н Т Е Г Р И Р О В А Н И Е

Пусть для функции f(x) требуется вычислить значение определенного интеграла

 

 

 

 

b

 

 

 

 

 

 

 

 

 

I f x dx.

 

 

 

 

(7.1)

 

 

 

 

a

 

 

 

 

 

 

 

Заменим подынтегральную функцию разложением вида

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

f x f xj j x ,

 

 

 

 

(7.2)

 

 

 

j 0

 

 

 

 

 

 

где

f xj -

значения

заданной

функции

в

узлах

разностной

сетки

Wm

 

xi a i h;

i 0,m;

h

b a

j x

-

система

линейно-независимых

x0 a;

;

 

 

 

 

 

m

 

 

 

 

 

функций.

 

 

 

 

 

 

 

 

 

 

Подставляя выражение (7.2) в формулу (7.1), получаем

 

 

 

 

 

b

n

b

 

m

 

 

 

 

 

 

I f x dx f xj j x dx Cjf xj .

 

 

(7.3)

 

 

a

j 0

a

 

j 0

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

В этой формуле обозначено Cj

j x dx,

j 0,m - весовые коэффициенты.

 

 

 

 

 

a

 

 

 

 

 

 

Выражение (7.3) носит название квадратурной формулы интерполяционного типа;

m

Cjf xj - квадратурная сумма.

j 0

 

Разобъем весь интервал интегрирования [a, b]

на ряд подынтервалов

xk 1,

xk ,

k 1,n , поскольку на каждом из таких отрезков

проще и удобнее оценивать

квадратурные формулы. Погрешность формул интегрирования на произвольном отрезке

xk 1,

xk определяется как разность между точным значением интеграла и квадратурной

суммой:

 

 

 

xk

m

 

k f x dx Ckj f xj .

 

xk 1

j 0

Пользуясь свойством аддитивности, выражение (7.1) представим в виде

 

b

n

xk

 

I f x dx f x dx .

 

a

k 1 xk 1

 

Погрешность численного интегрирования на всем интервале [a, b]

 

 

n

 

 

k .

(7.4)

 

 

k 1

 

149

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

Рассмотрим простейший случай, когда в разложении (7.2) удерживается лишь одно слагаемое, содержащее функцию 0 1. В этом случае весовой коэффициент

xk

C0k 0dx h ,

xk 1

ина отрезке xk 1, xk интеграл заменяется выражением

xk

f x dx f xk 1/2 h .

(7.5)

xk 1

 

Геометрически это означает замену интеграла на указанном отрезке площадью прямоугольника с основанием h и высотой, равной значению функции в середине основания прямоугольника (рис. 7.1).

xk-1

xk-1/2

xk

x

 

 

 

 

Рис. 7.1. Схема численного интегрирования методом прямоугольников

Воспользуемся для представления функции f(x) вблизи точки xk 1/2 формулой Тейлора

f x f xk 1/2 f xk 1/2

x xk 1/2 f

x xk 1/2

2

 

2

 

, xk 1,xk .

 

 

 

 

 

 

 

 

 

 

Определим погрешность вычисления интеграла на отрезке xk 1,

xk :

 

 

 

 

xk

 

 

 

 

 

 

 

 

k

 

f x dx f xk 1/2 h

 

 

 

 

 

 

 

xk 1

 

 

 

 

 

 

xk

 

f xk 1/2 x xk 1/2

f

x xk 1/2

2

h

 

 

 

 

 

 

f xk 1/2

 

2

 

dx f xk 1/2

xk 1

 

 

 

 

 

 

 

 

150

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]