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

Выч.мат

..pdf
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
884.09 Кб
Скачать

Для исключения переменной в k+1 строке, найдем максимальный по модулю элемент ak +1,l = max aij . Пусть этот элемент стоит в

l-ом столбце. Тогда переобозначим xk+1 = xl и xl = xk+1 (фактиче-

ски это равносильно перестановке столбцов матрицы А). Далее выполняется по обычной схеме исключение xk+1 из всех уравнений,

начиная с k+2-го.

2. Вычисление детерминантов

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

aij = aij(0) . Из первой строки выносим

a11(0) и исключаем по схеме

Гаусса элементы первого столбца:

 

 

 

 

 

 

 

1 a12(1)

a1(1n)

 

 

 

 

 

 

 

 

 

 

det A = a

(0)

0

a22(1)

a2n(1)

= a

(0)

det A

(10)

 

11

 

 

 

 

11

1

 

 

 

0

an2(1)

ann(1)

 

 

 

 

(переход к А1 осуществляется так: первая строка умножается на a21(0) и вычитается из второй. Затем из первой a21(0) выносится. По-

этому детерминант не меняется при вычитании модифицированных строк). После исключения второго столбца из (10) приходим к соотношению

 

1 a12(1)

a13(1)

a1(1n)

 

det A = a11(0)a22(1)

0

1 a23(2)

a2n(2)

0

0

a33(2)

a3n(2)

 

0

0

an3(2)

ann(2)

Продолжая эту процедуру до приведения матрицы к треугольному виду, получим:

 

1

aij(n)

 

det A = a11(0)a22(1) ann(n1)

1

 

= a11(0)a22(1) ann(n1)

 

0

1

 

71

3. Вычисление обратной матрицы

Пусть матрица A = (aij ). Обозначим элементы обратной матрицы

через xij , A1 = (xij ).

Определение обратной матрицы

AA1 = E

будем рассматривать как систему n2 уравнений с n2 неизвестными xij . Воспользуемся явным видом матриц

a

11

a

12

a

1n

 

 

 

x

11

 

 

 

 

 

 

 

a

21

a22

a2n

 

A

1

x

21

A =

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an2

 

 

 

 

 

 

 

an1

ann

 

 

xn1

 

 

 

 

 

 

 

1

0 0

 

 

 

 

E =

0 10

 

 

 

 

 

 

 

0

0

1

x

12

x

1n

 

 

 

 

x22

x2n

 

 

 

 

 

 

 

 

 

 

 

xn2

 

 

 

xnn

Тогда умножение каждой строки матрицы A на первый столбец матрицы A1 дает первый столбец единичной матрицы Е.

a11 x11 + a12 x21 +

 

+ a1n xn1 = 1

a21 x11

+ a22 x21 +

+ a2n xn1

= 0

an1 x11

+ an2 x21 +

+ ann xn1

= 0

Умножение А на второй столбец

A1 дает второй столбец Е:

a11 x12 + a12 x22

+

+ a1n xn2 = 0

a21 x12 + a22 x22 +

+ a2n xn2 = 0

an1 x1n + an2 x2n +

+ ann xn2 = 0

и т.д. В результате система распадается на n систем, каждая из которых содержит n уравнений. При этом матрица aij всех систем

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

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

В этом методе исходная система уравнений

72

Ax = b

(1)

преобразуется к виду

 

x = Bx + c ,

(11)

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

xn+1 = B xn +c

n = 0,1, 2

(12)

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

приближение x0. Такой переход от (1) к (11) можно выполнить раз-

ными способами, например, по соотношениям:

 

x = x (Ax b)= (E A)x + b

 

x = (E CA)x + Cb ,

(13)

если C – невырожденная матрица.

В данной задаче возникает проблема: как выбрать матрицу B и начальное приближение x0 так, чтобы процесс (12) приближал решение системы (11)? Этот вопрос решается с помощью теоремы о достаточном условии сходимости метода простой итерации: если норма матрицы B: B < 1 , то система (11) имеет единственное ре-

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

Здесь норма матрицы определяется как

 

 

 

 

 

n

 

B

 

 

 

= max bij < 1 .

(14)

 

 

 

 

 

 

i

j=1

 

 

 

 

 

 

 

Для невырожденной матрицы С, по алгоритму (13) можно построить итерационный процесс следующим образом

xn+1 = (E CA)xn +Cb ,

причем

 

матрицу B = E CA необходимо выбирать так, чтобы

норма

 

 

 

B

 

 

 

< 1 .

 

 

 

 

Возможным способом приведения к виду (11) является выбор мат-

рицы C = D1 , где D – диагональная матрица, элементы которой совпадают с диагональными элементами матрицы А. В этом способе каждое уравнение системы (1)

ai1 x1 + ai2 x2 +…+ ain xn = bi

i = 1,2,n

делим на aii и переносим направо все слагаемые за исключением xi . Тогда i - ое уравнение приобретает вид

73

 

b

a

i1

 

 

a

i2

 

 

ai,i1

 

 

ai,i+1

 

a

in

 

xi =

i

 

x1

 

x2

− −

 

xi1

 

xi+1 − −

 

xn .

 

 

 

 

 

aii

aii

 

 

 

aii

aii

 

aii

 

 

 

 

aii

Для построения такого процесса необходимо aii 0 . Кроме того,

согласно определению нормы матрицы (14), для сходимости необходимо значительное преобладание диагональных элементов над остальными элементами строки, т.е.

n

 

 

 

 

 

 

 

 

aij

<

aii

i = 1,2,, n

j=1

 

 

 

 

 

 

 

 

 

ji

 

 

 

 

 

 

 

 

n

 

aij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

< 1 i = 1,2,

, n

 

 

 

 

 

aii

j=1

 

 

 

 

 

ji

 

 

 

 

 

 

 

 

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

требуется ~ n2 операций и если точность достигается менее чем за n итераций, то этот метод предпочтительнее метода Гаусса.

4.1. Приведение системы уравнений к виду, пригодному для итера-

ций. Теорема сходимости накладывает жесткие условия на коэффициенты матрицы А уравнения (1), когда диагональные элементы в строке должны доминировать над недиагональными. Если матрица А не особенная, т.е. ее детерминант не равен нулю, то с помощью линейного комбинирования уравнений системы (1), ее всегда можно привести к виду (11)

x = Bx + c ,

пригодному для метода итераций. Действительно, умножим (1) на матрицу D = (A1 − ε) с элементами dij = aij1 εij , где модули эле-

ментов матрицы ε малы по сравнению с элементами матрицы А. Тогда будем иметь

(A1 ε)Ax = Db

или

x = εAx + Db .

(15)

74

Обозначая B = εA и c = Db, получаем систему уравнений, имеющую вид (11). Если модули элементов | εij | достаточно малы, то

система (15) удовлетворяет теореме сходимости.

Умножение на матрицу D эквивалентно совокупности элементарных преобразований над уравнениями исходной системы: сложению уравнений, умноженных на различные коэффициенты. Для систем небольшой размерности комбинируют уравнения таким образом, чтобы в приведенной системе доминировали диагональные элементы.

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

Пример. Привести следующую систему к виду, пригодному для применения метода итераций:

2x1 + 3x2 4x3 + x4 = 3

(А)

x1 2x2 5x3 + x4 = 2

(Б)

5x1 3x2 + x3 4x4 = 1

(В)

10x1 + 2x2 x3 + 2x4 = −4

(Г)

В уравнении (Б) модуль коэффициента при x3 больше суммы модулей всех остальных элементов, поэтому это уравнение принимаем за третье уравнение новой системы. В уравнении (Г) доминирующим элементом является коэффициент при x1, поэтому уравнение (Г) принимаем за первое уравнение новой системы. Таким образом, определены два уравнения новой системы:

10x1 + 2x2 x3 + 2x4 = −4

 

(I)

.

.

.

. .

.

(II)

x1 2x2 5x3 + x4 = 2

 

(III)

.

.

.

. .

.

(IV)

75

Для получения уравнения (II) с максимальным по модулю коэффициентом при x2 достаточно составить разность (А) – (Б):

x1 + 5x2 + x3 +0x4 = 1

(II)

Теперь в новую систему вошли уравнения (А), (Б) и (Г), поэтому в уравнение (IV) обязательно должно войти уравнение (В) исходной системы. Подбором убеждаемся, что за уравнение (IV) можно взять линейную комбинацию 2(А) – (Б) + 2(В) – (Г):

3x1 +0x2 +0x3 9x4 = 10

(IV)

В итоге получается преобразованная система уравнений (I) – (IV), эквивалентную исходной и удовлетворяющую условиям сходимости процесса итерации. Если эту систему разрешить относительно диагональных элементов, получим систему

x1 = 0x1 0.2x2 +0.1x3 0.2x4 0.4 x2 = 0.2x1 +0x2 0.2x3 +0x4 +0.2 x3 = 0.2x1 0.4x2 +0x3 +0.2x4 0.4 x4 = x1 / 3 +0x2 +0x3 0x4 10 / 9 ,

к которой можно применять метод итераций.

Задачи

1.Подсчитать количество арифметических операций N, необходимых для решения системы n линейных алгебраических уравнений в методе Гаусса.

2.Методом Гаусса решить системы уравнений

 

x1 + 2x2 + 3x3 + 4x4 = 1

 

x1 + x2 + x3 + 4x4 = 3

a)

2x1 + 3x2 + 4x3 + 3x4 = 5

b)

x1 + x2 + 2x3 + x4 = 5

3x

1

+ 4x

2

+ x

3

+ 2x

4

= 3

x + 2x

2

+ x

3

+ x

4

=7

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

4x1 + x2 + 2x3 + 3x4 = 3

 

4x1 + x2 + x3 + x4 = 9

3. Вычислить детерминанты матриц

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

1 2

 

 

 

 

1 2

 

3 4

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

2 3

 

 

 

 

 

a)

 

 

2 1

 

 

 

b)

 

4 1

 

 

 

1

2

 

 

 

 

 

 

 

 

3 4

 

1 2

 

 

 

 

 

1 1

 

 

 

 

 

 

 

 

 

 

 

2 1

 

 

 

 

 

 

 

 

 

4 1

 

2 3

 

 

 

 

 

1 1

 

 

 

 

 

 

 

4. Найти обратную матрицу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

3

 

 

 

 

2 2

 

3

 

a)

 

0

1

 

2

 

 

 

 

 

b)

 

1 1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

 

 

 

 

 

 

1 2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

76

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

6.Методом простой итерации решить системы уравнений. Выполнить 3 итерации и сравнить с точным решением.

 

4x1 + x2 + x3 x4 = 5

 

x1 + x2 + x3 + 5x4 = 5

a)

x1 + 5x2 2x3 x4 = 1

b)

x1 + x2 + 4x3 + x4 = 4

2x1 + x2 + 6 x3 2x4 = 14

x1 + 4x2 + x3 + x4 = 4

 

 

 

x1 + 42 + x3 7 x4 = −13

 

5x1 + x2 + x3 + x4 = 5

7. Привести систему уравнений

x1 + x2 + x3 + 2x4 = 3 x1 + x2 + 2x3 + x4 = 5 x1 + 2x2 + x3 + x4 =7 2x1 + x2 + x3 + x4 = 9

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

Указания и ответы.

 

17

 

29

77

 

 

5

 

1. N 2n3/3;

2a. 1,2,0,-1 ;

2b.

 

,

 

11

,

11 ,

11

 

 

11

 

 

1

2

7

 

1

4

 

3

 

 

 

 

4a.

0

1

2

; 4b.

1

5

 

3 ; 5.

N n2 ;

 

0

0

1

 

1 6

 

4

 

 

 

 

6a.

1,2,3,4

 

 

 

 

 

 

 

 

 

 

 

IX. Решение краевых задач для обыкновенных дифференциальных уравнений второго порядка (ОДУ-2). Метод прогонки

1. Постановка краевой задачи для линейного ОДУ-2

Пусть дано дифференциальное уравнение относительно неизвестной функции u(x)

′′

a x b

(1)

u (x)+ q(x)u (x) + p(x)u(x)= f (x)

и требуется найти его решение, удовлетворяющее одной из пар дополнительных условий следующего вида:

u(a)=α,

 

u(b)= β

(1a)

 

(1b)

u (a)=α,

 

u (b)= β

α,

(1c)

u (a)ku(a) =

u (b)+ k1u(b) = β

77

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

В отличие от задачи Коши, здесь дополнительные условия (для ОДУ-2 их должно быть два) накладываются на разных краях отрезка. Рассмотрим способ решения, основанный на аппроксимации производных конечно-разностными выражениями, и затем решении алгебраической системы уравнений.

2. Постановка численного решения краевой задачи

Введем на [a, b] сетку {xi}: a = x0 < x1 < x2 <…<xN = b и будем считать сетку равномерной с шагом h. В каждом из узлов сетки заме-

ним производные в задаче (1) через линейные комбинации значений функций в соседних узлах по формулам численного дифференцирования. При этом, поскольку численное решение не совпадает с точным, то для приближенного решения используем обозначение yn u(xn), 0 n N. В результате такой численной аппроксимации задача сводится к решению системы уравнений относитель-

но yn.

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

u′′(xn )

un1 2un + un+1

, h = xn+1 xn , 1 n N 1 ,

(2)

h2

 

 

 

 

u(xn )

un+1 un

.

 

(2a)

 

 

 

 

2h

 

 

Такая аппроксимация используется в каждом внутреннем узле при 1 n N 1 . Подставляя (2), (2a) в (1), имеем систему алгебраиче-

ских уравнений для приближенного решения yn u(xn ) :

 

(2 qn h) yn1 (4 2h2 pn )yn + (2 + qn h) yn+1 = 2h2 fn ,

(3)

где 1 n N 1. Система

(3) содержит N 1 уравнение,

для

N +1 неизвестного y0 , y1 ,

, yN . Два недостающих уравнения

получаем из краевых условий:

 

y0 =α , yN = β .

(3а)

Матрица системы (3) имеет трехдиагональный вид. Запишем систему (3) в общем виде:

78

ai yi1

bi yi + ci yi+1 = di

1 i N 1

(4)

y0 =α

yN = β

 

 

 

Здесь a

i

= 2 q

h,

b

= 4 2 p

h2 ,

c

i

= 2 + q

h, d

i

= 2h2

f

i

.

 

i

 

i

i

 

 

i

 

 

 

 

3. Метод прогонки решения разностной краевой задачи

 

 

 

С помощью метода прогонки система (4) решается следующим образом. При i =1 имеем

a1α b1 y1 + c1 y2 = d1 ,

отсюда находим

 

c1

 

 

a1α d1

 

 

y1

=

y2

+

= L2 y2 + K2 .

(5)

b1

 

 

 

 

 

b1

 

При i = 2

a2 y1 b2 y2 + c2 y3 = d2 .

Подставляя y1 из (5), получаем

 

 

 

 

 

 

a2 (L2 y2 + K2 )b2 y2 + c2 y3 = d2

 

Откуда находим

 

 

 

 

 

 

 

 

 

 

 

(b2 a2 L2 )y2 = c2 y3 + a2 K2 d2

(6)

 

y2 =

 

c2

 

 

y3

+

a2 K2 d2

= L3 y3 + K3

 

 

 

 

 

b2 a2 L2

 

 

 

b2 a2 L2

 

 

 

Выражения (5),(6)

для произвольного i = m

записывается анало-

гично

cm

 

 

 

am Km dm

 

 

 

ym =

 

ym+1

+

= Lm+1 ym+1 + Km+1 .

(7)

 

 

 

 

bm am Lm

 

bm am Lm

 

 

Таким образом, на прямом ходе прогонки в соответствии с уравнением (7) вычисляются коэффициенты Lm и Km вплоть до последнего шага i = N 1 :

yN 1

=

 

cN 1

yN

+

aN 1K N 1 d N 1

= LN β + K N .

bN 1

aN 1LN 1

 

 

 

 

 

bN 1 aN 1LN 1

При этом, на последнем шаге определяется yN 1 . Затем на обратном ходе прогонки с помощью (7) определяются все неизвестные

yn .

С помощью формул прямого хода прогонки вычисляются коэффи-

циенты

79

Lm+1 =

cm

,

Km+1 =

am Km dm

.

(8)

bm am Lm

 

 

 

 

bm am Lm

 

В последних соотношениях 2 m N 1 .

 

Формулы обратного хода позволяют определить решение:

 

ym = Lm+1 ym+1 + Km+1

1 m N 1.

(9)

В итоге приближенное решение задачи (1), (1a) представляется в виде дискретного набора (таблицы) данных yn, xn.

Относительно такого метода решения задачи необходимо отметить, что метод прогонки является разновидностью метода последовательного исключения неизвестных (как и метод Гаусса). И так же, как метод Гаусса, метод прогонки является точным, если пренебречь погрешностями округления. Однако метод прогонки для трехдиагональной системы уравнений гораздо экономнее метода Гаусса, поскольку из рассмотрения исключаются несодержательные операции деления нуля на число и сложения числа с нулем.

В случае q(x) = 0 вопрос сходимости решения и его порядке точности определяется с помощью следующего утверждения:

Теорема. Если p(x)< 0 и f (x) дважды непрерывно дифференцируемы, то разностное решение задачи (1), (1a) равномерно сходится

к точному с погрешностью O(M 4 h2 ) при h 0 , где M4 = max|u(IV)|.

Таким образом, при использовании метода прогонки порядок точности решения краевой задачи (1) с граничными условиями (1а) совпадает с порядком точности аппроксимации второй производной во внутренних точках промежутка, который есть O(h2). Это обстоятельство указывает на то, что если решать задачу с краевыми условиями вида (1b) или (1с), то первые производные, входящие в эти условия, необходимо аппроксимировать со вторым порядком точности, поскольку само уравнение аппроксимируется со вторым порядком точности. В частности, формулы

y0

=

y2

+ 4 y1

3y0

+ O(h

2

) ,

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yN 2

4 yN

1

+ 3yN

 

 

 

2

 

yN

=

 

 

 

 

 

 

+ O(h

 

)

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

80

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