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

Вычислительная математика.-7

.pdf
Скачиваний:
7
Добавлен:
05.02.2023
Размер:
968.51 Кб
Скачать

1.Сформулируйте задачу численного интегрирования.

2.Метод средних, левых и правых прямоугольников. Что можно сказать об их погрешности, трудоемкости?

3.Задача численного интегрирования решена методом трапеций. Предложите и обоснуйте пути повышения точности (уменьшения погрешности) расчетов.

4.Сравните метод трапеций и метод Симпсона.

5.Какие методы Монте– Карло численного интегрирования вы знаете? Сравните эти методы с любым детерминированным.

6.Необходимо вычислить интеграл методами трапеций, Симпсона и ММК, разбив область интегрирования на 77 интервалов (точек). Что можно сказать о точности и применимости этих методов?

3.ЧИСЛЕННОЕ РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ (СЛАУ)

3.1. Решение задач линейной алгебры

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

Пусть дана система n линейных алгебраических уравнений с n неизвестными:

 

a x + a x

2

+ K+ a x = b ,

 

 

11

 

1

12

 

 

 

1n

n

1

 

 

a21x1 + a22 x2 + K+ a2n xn

= b2

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.1)

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

n1

x + a

n2

x

2

+ K+ a

nn

x

n

= b .

 

 

 

1

 

 

 

 

 

 

 

n

 

Или в матричной форме:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

A × x = b ;

 

 

 

 

 

 

(3.2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

a ...

a

 

 

 

 

 

 

 

 

11

 

12

 

 

 

 

1n

 

 

 

 

 

 

A = {a }= a21

 

a22 ...

a2n

 

 

 

(3.3)

ij

... ... ...

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an2 ...

 

 

 

 

 

 

 

 

an1

 

ann

 

 

 

 

 

- матрица коэффициентов системы (3.1);

x

 

1

 

x = x2

 

...

 

 

 

xn

- вектор неизвестных;

- вектор свободных членов.

Если матрица A неособенная, т.е.

a11

det A = a21

...

an1

b1b b = 2

...

bn

a12

...

a1n

 

 

a22

...

a2n

= D ¹ 0,

(3.4)

... ... ...

 

 

an 2

...

ann

 

 

то система (3.1) или эквивалентное ей матричное уравнение (3.2) имеют единственное решение. Действительно, при условии, что detA ¹ 0, существует обратная матрица A-1. Умножая обе части уравнения (3.2) слева на A-1, получим:

A−1 × A × x = A−1 ×b; x = A−1 ×b.

(3.5)

Формула (3.5) даёт решение уравнения (3.2), причём единственное.

Пример 3.1.

 

 

 

 

 

 

 

 

 

 

 

3 x1 x

2 = 5

 

 

 

3

− 1

0

 

− 2 x1 + x 2 + x3 = 0 ;

A =

− 2

1

1 .

 

 

 

 

x

 

+ 4 x

 

= 15

 

 

− 1

 

2 x

1

2

3

2

4

 

 

 

 

 

 

 

 

 

 

 

3

- 1

0

 

 

 

 

D =

 

- 2

1

1

 

= [12 + (-2) + 0] - [(0 ×1 × 2) + 8 - 3] = 5.

 

 

2

- 1

4

 

 

 

 

 

1

4

− 1

 

 

1

4

− 1

 

5

 

2

 

−1

 

 

5

5

 

 

 

5

5

 

 

 

 

 

A

=

2

12

− 3

;

x =

2

12

− 3

×

=

 

5

5

5

5

0

 

1 .

 

 

 

0

1

1

 

 

0

1

1

 

15

 

3

 

 

 

5

5

 

 

5

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для матрицы A порядка n > 4 непосредственное нахождение обратной матрицы A-1 требует много времени (операций). Поэтому формула (3.5) на практике употребляется достаточно редко.

Обычно значения неизвестных xi (i = 1,2, ... n) могут быть получены по известным формулам Крамера:

xi = det Ai / det A.

(3.6)

Здесь матрица Ai получается из матрицы A заменой её i-го столбца столбцом свободных членов.

Пример 3.2. Решим вышеприведенную систему по формулам Крамера:

1 =

 

5

− 1

0

 

= 20 − 15 + 5 = 10 ;

x1 = 2.

 

 

 

0

1

1

 

 

 

15

− 1

4

 

 

 

 

 

 

 

 

 

 

 

 

3

5

0

 

 

2 =

− 2

0

1

= 10 − 45 + 40 = 5;

x2 = 1.

 

2

15

4

 

 

 

 

 

 

 

 

 

 

3

− 1

5

 

 

 

 

 

 

3 =

 

− 2

1

0

 

= 45 + 10 − 10 − 30 = 15 ;

x3 = 3.

 

 

2

− 1

15

 

 

 

 

 

 

 

 

 

 

 

Применяемые в настоящее время методы решения СЛАУ можно разбить на две

группы: точные и приближённые.

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

Приближенными методами называются такие методы, которые даже в предположении, что вычисления ведутся без округлений, позволяют получить решение системы (x1, x2, ..., xn) лишь с заданной точностью. Точное решение СЛАУ в этих случаях может быть получено теоретически как результат бесконечного процесса.

К приближенным методам относятся метод простой итерации, метод Зейделя и т.п.

3.2. Метод Гаусса

Наиболее распространенным методом решения СЛАУ является метод Гаусса, в основе которого лежит идея последовательного исключения неизвестных. Существуют различные схемы, реализующие данный метод. Рассмотрим одну из них – схему единственного деления.

Для простоты ограничимся рассмотрением СЛАУ с четырьмя неизвестными:

a x + a x

2

+ a x + a x = a ,

 

11

1

12

 

13

3

14

4

15

 

a

 

x + a

 

x

 

+ a

 

x + a

 

x

 

= a

 

,

 

21

1

22

 

2

 

23

3

 

24

 

4

 

25

(3.7)

a31x1 + a32 x2 + a33 x3 + a34 x4 = a35 ,

a

41

x + a

42

x

2

+ a

 

x + a

x = a

45

.

 

1

 

 

43

3

 

44

 

4

 

 

Пусть a11 ¹ 0 (ведущий элемент). Разделив первое уравнение на a11, получим первую главную строку:

x1 + b12 x2 + b13 x3 + b14 x4 = b15,

(3.8)

где

= a1 j

 

 

 

b1 j

/ a11;

(j = 2,3,4,5).

 

Используя уравнение

(3.8),

можно

исключить неизвестные x1

из 2-го,

3-го и 4-го уравнений системы (3.7). Для этого последовательно умножаем уравнение (3.8) на

a21; a31; a41 и вычитаем результат из 2-го, 3-го и 4-го уравнений системы (3.7) соответственно.

В результате получим систему из трех уравнений:

 

(1)

 

 

(1)

 

 

(1)

 

 

(1)

 

 

a22 x2

+ a23 x3

+ a24 x4

= a25

,

 

a

(1) x

2

+ a

(1) x

+ a

(1) x

4

= a

(1)

,

(3.9)

a

32

 

33

3

34

 

35

 

 

(1) x

2

+ a

(1) x

+ a

(1) x

4

= a

(1)

,

 

 

42

 

43

3

 

44

 

45

 

 

где коэффициенты aij(1) вычисляются по формуле

 

a(1)

= a

- a b

(i = 2, 3, 4; j = 2, 3, 4, 5).

(3.10)

 

ij

 

ij

 

i1

1 j

 

 

 

Далее первое уравнение системы

(3.9)

делим

на ведущий элемент

a22(1) ¹ 0 и

получаем

 

 

 

 

 

 

 

 

 

x

2

+ b(1) x

+ b(1) x

4

= b(1) ,

(3.11)

 

 

23

3

 

24

25

 

где

 

 

 

 

 

 

 

 

 

b

(1)

= a(1)

/ a

(1) ,

 

(j = 3, 4, 5).

 

 

2 j

 

2 j

22

 

 

 

Аналогично предыдущему шагу, исключая x2, как и x1, получим систему

 

 

 

(2)

x

+ a

(2)

x

 

= a

(2)

,

 

a

 

 

 

 

 

 

 

33

3

 

 

34

 

4

 

35

(3.12)

 

 

 

(2)

 

 

 

 

(2)

x4

 

 

(2)

 

 

a43

x3 + a44

= a45 .

Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(2)

= a(1)

- a(1)b(1)

 

 

(i = 3, 4; j = 3, 4, 5).

ij

 

 

ij

 

i 2

 

2 j

 

 

 

 

 

Разделив первое уравнение системы (3.12) на a33(2) ¹ 0 , получим:

 

x

3

+ b(2) x

4

 

= b(2)

,

 

(3.13)

 

 

 

34

 

 

 

 

35

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b(2)

= a(2) / a

(2)

 

 

 

 

(j = 4, 5).

 

3 j

 

 

3 j

 

 

33

 

 

 

 

 

 

Теперь с помощью уравнения (3.13) исключим x3 из второго уравнения системы (3.12), окончательно получим:

 

a44(3) x4

= a45(3) ,

(3.14)

где

 

 

 

a(3) = a(2) - a(2)b(2)

(j=4, 5).

4 j

4 j

43 3 j

 

Таким образом, исходную систему (3.7) привели к составленной из главных строк (3.8), (3.11), (3.13) и (3.14) эквивалентной системе с треугольной матрицей(3.15):

x1 + b12 x2 + b13 x3 + b14 x4 = b15 ,

x2 + b23(1) x3 + b24(1) x4

= b25(1) ,

x3 + b34(2) x4 = b35(2) ,

 

 

(3.15)

 

 

 

a44(3) x4 = a45(3) .

 

 

 

 

 

Из (3.15) последовательно находим

 

 

 

 

 

 

 

 

(3)

(3)

 

 

 

 

 

 

x4

= a45

/ a44

,

 

 

 

 

 

x = b(2)

- b(2) x

 

,

 

 

 

3

35

34

 

4

- b

 

 

(3.16)

x

= b(1)

- b(1) x

 

(1) x

4

,

2

25

23

3

24

 

x1 = b15 - b12 x2 - b13 x3 - b14 x4 .

Итак, решение СЛАУ (3.7) распадается на два этапа:

прямой ход (приведение системы (3.7) к треугольному виду (3.15));

обратный ход (определение неизвестных по формуле (3.16)).

Пример 3.3.

 

2.0x1 +1.0x2

-1.0x3 +1.0x4 = 2.7,

 

 

 

 

 

 

0.4x1 + 0.5x2 + 4.0x3 - 8.5x4 = 21.9,

 

0.3x1 -1.0x2 +1.0x3 + 5.2x4 = -3.9,

 

 

1.0x + 0.2x

2

+ 2.5x -1.0x

4

= 9.9.

 

1

3

 

Прямой ход:

x1 + 0.5x2 − 0.05x3 + 0.5x4

= 1.35;

b12 = 0.5;

b13 = 0.05;

b14

= 0.5; b15 = 1.35.

Из выражений (3.10) вычислим коэффициенты a2(1j) :

 

 

a(1)

= a

22

- a

b

= 0.5 - 0.4 × 0.5 = 0.3;

 

22

 

 

 

 

21

12

 

 

 

 

 

a(1)

= a

23

- a

b

= 4 + 0.4 × 0.05 = 4.02;

 

23

 

 

 

 

21

13

 

 

 

 

 

a(1)

= a

24

- a

b

= -8.5 - 0.4 × 0.5 = -8.7;

 

24

 

 

 

 

21

14

 

 

 

 

 

a(1)

= a

25

- a

b

= 21.9 - 0.4 ×1.35 = 21.36.

 

25

 

 

 

 

21

15

 

 

 

 

Аналогично вычислим коэффициенты aij(1)

при (i = 3, 4) и составим систему

 

0.3x2 + 4.02x3 − 8.7x4 = 21.36,

 

 

 

 

 

 

 

 

 

 

 

 

 

-1.15x2 +1.015x3 + 5.05x4 = -4.305,

 

 

 

 

 

 

 

 

 

 

 

 

 

- 0.3x2 + 2.55x3 -1.5x4 = 8.55.

Разделив первое уравнение системы на a22(1)

= 0.3, получим

 

 

 

x2 + 13.40x3 − 29.00x4

= 71.20.

Значит,

 

 

 

 

 

 

 

 

 

 

 

 

 

b(1)

= 13.40;

 

 

b(1) = -29.00;

b(1) = 71.20.

 

23

 

 

 

 

 

 

24

 

 

25

Из (3.12) вычислим aij(2) для i = 3 и j = 3, 4, 5:

 

 

a(2)

= a(1)

- a(1)b(1)

= 1.015 + 1.15 ×13.40 = 16.425;

33

 

33

 

 

32

23

 

 

 

 

 

a(2)

= a(1)

- a(1)b(1)

= 5.05 -1.15 × 29.00 = -28.3;

34

 

34

 

 

32

24

 

 

 

 

 

a(2)

= a(1)

- a(1)b(1)

= -4.305 + 1.15 × 71.20 = 77.575.

33

 

33

 

 

32

25

 

 

 

 

 

Аналогично, вычислив коэффициенты для i = 4, получим:

16.425x3 - 28.3x4 = 77.575,

- =

6.570x3 10.200x4 29.910.

Разделив первое уравнение на a(2)33 = 16.425, получим:

x3 − 1.72298x4 = 4.72298,

где

b(2)

= −1.72298;

b(2)

= 4.72298.

34

 

35

 

По формуле (3.14) находим коэффициенты aij(3) :

a44(3) = a44(2) a43(2)b34(2) = −10.2 + 6,57 *1.72298 = 1.1199786; a45(3) = a45(2) a43(2)b35(2) = 29.910 − 6,57 * 4.72298 = −1.1199786

и записываем одно уравнение с одним неизвестным:

1.1199786x4 = -1.1199768.

Действительно, в этом случае дальнейшие вычисления определяют: x1 + 0.5x2 - 0.05x3 + 0.5x4 = 1.35;

x2 + 13.4x3 - 29x4 = 71.2;

x3 - 1.72298x4 = 4.72298.

Наконец,

1.11998x4 = -1.11998.

На этом закончен прямой ход.

Обратный ход:

x4 = -1.000;

x3 = 4.72298 - 1.72298 = 3; x2 = 71.2 - 13.4 * 3-29 = 2;

x1 = 1.35 - 0.5 * 2 + 0.05 * 3 + 0.5 = 1.

3.3. Схема Гаусса с выбором главного элемента

Рассмотрим СЛАУ

a11x1 + a12 x2 + K+ a1n xn = a1n +1,

 

 

 

 

 

+ K+ a2n xn

= a2n +1

,

a21x1 + a22 x2

 

 

 

 

 

 

 

 

 

 

 

(3.17)

 

 

 

L L L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x + a

n2

x

2

+ K+ a

nn

x

n

= a

nn +1

.

 

n1 1

 

 

 

 

 

Запишем расширенную прямоугольную матрицу коэффициентов системы (3.17):

a

...

a

a

11

 

1q

1n

...

 

...

 

M = a p1

...

a pq ...

 

 

 

 

...

 

...

 

 

 

 

...

an1 ... ...

a1n+1

...

ann+1 . (3.18)

...

nn+1

a

Среди элементов матрицы aij (i,j = 1, ...n) выберем наибольший по модулю, называемый главным элементом. Пусть им будет, например, элемент apq. Строка, содержащая главный элемент, называется главной строкой.

Далее вычисляем множители mi = aiq / apq для всех i ¹ p.Затем преобразуем матрицу (3.18) следующим образом: из каждой i-ой неглавной строки вычитаем почленно главную строку, умноженную на mi. В результате получим матрицу, у которой все элементы q-го столбца за исключением apq, равны 0. Отбрасывая этот столбец и главную строку, получим новую матрицу M1 с числом строк и столбцов на 1 меньше.

Над матрицей М1 повторяем те же операции, после чего получим матрицу M2 и т.д. Таким образом продолжаем до тех пор, пока не получим матрицу, содержащую одну строку из двух элементов, которую тоже считаем главной.

Затем объединим все главные строки, начиная с последней. После некоторой перестановки они образуют треугольную матрицу, эквивалентную исходной. На этом заканчивается этап вычислений, называемый прямым ходом. Решив систему с полученной треугольной матрицей коэффициентов, найдём последовательно значения неизвестных xi (i = 1, 2, ..., n). На этом заканчивается обратный ход.

Смысл выбора главного элемента состоит в том, чтобы сделать возможно меньшими числа mi и тем самым уменьшить погрешность вычислений.

Пример 3.4. Рассмотрим СЛАУ, состоящую из трех уравнений. Запишем расширенную матрицу

 

2

6

− 1

− 12

 

 

Μ =

5

− 1

2

29

;

a = 6

 

 

 

 

 

 

12

− 3 − 4

1

5

 

 

 

 

 

 

 

 

 

m2 = -1/6;

m3 = -2/3.

Μ1

16

 

11

27

 

a11(1) = 16

=

3

6

 

;

 

− 5

3

1

− 3

 

3

 

 

3

 

 

 

m2 = -5/16.

M2 = [ 87/96 174/32]. x3 = 6; x1 = 3; x2 = -2.

max.

max.

3.4. Вычисление обратной матрицы методом Гаусса

Пусть дана неособенная матрица

A = [aij] (i,j = 1,2, ..., n).

(3.19)

Необходимо найти её обратную матрицу

A-1 = [xij]

(i,j = 1,2, ..., n).

(3.20)

Вспомним основное соотношение линейной алгебры:

 

A·A-1 = E,

 

(3.21)

где Е – единичная матрица.

 

 

Перемножая матрицы A и A-1, получаем n2 уравнений относительно n2 неизвестных xij:

n

aik xkj = dij (i,j = 1, 2, ..., n), (3.22)

k =1

где

dij

1,

i = j

=

i ¹ j

 

0,

Таким образом, получим n систем линейных уравнений для j = 1, 2, ..., n, имеющих одну и ту же матрицу коэффициентов A и различные столбцы - свободные члены, которые

можно одновременно решить методом Гаусса.

Рассмотрим это подробнее, вычислив матрицу, обратную A[4 × 4] :

2.0

1.0

− 0.1

1.0

1

0

0

0

 

 

 

 

 

 

 

 

A = 0.4

0.5

4.0

- 8.5

0

1

0

0

0.3

-1.0

1.0

5.2

0

0

1

0

 

0.2

2.5

 

0

0

0

1

1.0

-1.0

Разделив все коэффициенты первой строки на a11 = 2, получим первую главную строку

(обратите внимание, что с n столбцами свободных членов проводятся те же действия, что и с одним):

 

1.0

0.5 -0.05 0.5

 

0.5 0 0 0

 

 

 

0.3

4.02

− 8.7

− 0.2

1

0

0

 

 

 

 

 

- 0.15

 

 

 

-1.15

1.015

5.05

 

0

1

0

 

- 0.3

2.55

-1.5

- 0.5

0

0

1

 

 

 

 

 

 

 

 

 

 

1.0 13.4

-29

 

-0.6667 3.333

0 0

 

 

16.425

− 28.3

− 0.91671

3.8333

1

0

 

6.57

 

− 0.7

1

0

1

 

−10.2

1.0 −1.723

− 0.055812

0.2338

0.06088

0

1.1201

− 0.3333

− 0.53332

− 0.39998

1

1.45931

1.51313

 

1.6143

− 3.00844

 

−1.67791

− 2.60883

− 2.92694 5.277793

 

A−1 =

− 0.56851

− 0.58701

− 0.5544

1.53826

 

.

 

 

 

 

 

 

− 0.47614

− 0.3571

0.89278

 

 

− 0.29756

 

 

Для проверки перемножим полученную обратную матрицу и исходную (должны получить единичную):

0.99972

 

− 1.13 *10−4

2.16 *10−4

5.07 *10−4

5.02 *10−4

1.00020

3.71*10−4

8.79 *10−4

 

E =

 

−4

 

−5

 

 

−5

.

 

 

3.7 *10

1.00006

6.5 *10

 

1.16 *10

 

 

 

 

 

−5

2.6 *10−5

4.6 *10−5

 

 

7.4 *10

0.99993

 

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

3.5. Вычисление определителей методом Гаусса

Пусть дана исходная матрица

a

a

...

a

 

 

 

11

12

...

1n

 

 

A = a21

a22

a2n .

(3.23)

... ...

...

...

 

 

 

 

...

 

 

 

an1 ...

ann

 

Необходимо вычислить

= det A.

 

 

 

 

Вспомним свойства определителей:

1.Чтобы умножить (разделить) определитель на какое либо число, достаточно умножить (разделить) на это число строку или столбец: