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

644_Galkina_M.JU._Vychislitel'naja_matematika_

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
525.57 Кб
Скачать

1.5.Задание на лабораторную работу №1

Известно, что функция f (x) удовлетворяет условию | f (x)| 2c при любом x. Рассчитать шаг таблицы значений функции f(x), по которой с помощью линейной интерполяции можно было бы найти промежуточные значения функции с точностью 0.0001, если табличные значения функции округлены до 4-х знаков после запятой. Составить программу, которая:

1.Выводит таблицу значений функции с рассчитанным шагом h на интер-

вале [c, c+30h].

2.С помощью линейной интерполяции вычисляет значения функции в точ-

ках x c ih i mod4 1h (i 0,1,2, ,29) по таблице значений функции

i

5

 

с шагом h.

3.Выводит значения xi, приближенные и точные значения функции в точках xi (i = 0,1, 29).

Для построения таблицы взять функцию f (x) 2c3 sin(x/c),

c N 1,

где N – последняя цифра зачетной книжки, i mod 4 – остаток от деления i на 4 (например, 10 mod 4 = 2, 15 mod 4 = 3, 8 mod 4 = 0).

1.6.Методические указания к выполнению лабораторной работы №1

Рассмотрим пример расчета шага интерполяционной таблицы.

Пусть f (x) 2c3 sin(x / c), c 10. Полная погрешность интерполяции

R = Rусеч + Rокруг, где Rусеч – погрешность формулы линейной интерполяции, Rокруг – погрешность, возникающая из-за подстановки в формулу линейной интерполяции приближенных значений функции.

Известно, что погрешность формулы линейной интерполяции оценивается по следующему неравенству:

R

 

 

M2 h2

, где M

 

 

 

 

max

 

 

 

 

 

 

 

 

 

 

 

 

усеч

 

8

 

 

 

 

2

 

[x ,x

 

]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i i 1

 

 

 

 

По

 

 

 

условию

 

 

 

задачи

следовательно,

 

 

 

 

 

 

 

| f (x)| 2c,

R

2c h2

 

10h2

 

5h2

.

 

 

 

 

 

 

 

 

 

 

 

усеч

 

8

4

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По условию табличные значения функции округлены до 4-х знаков. Сле-

довательно,

абсолютная

 

погрешность

округления

табличных значений

(f) = 0.5 10-4. Тогда при подстановке этих приближенных значений в формулу линейной интерполяции возникает погрешность:

Rокруг = (1 – q) (f) + q (f) = (f) = 0.5 10-4. По условию, общая погрешность

R 0.0001. Получаем,

5h2 0.5 10 4 10 4, 2

h2 2 (10 4 0.5 10 4), 5

11

h2 0.00002, h 0.00447, h 0.004.

2. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

2.1.Прямые и итерационные методы

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

a11x1 a12x2 a1nxn b1,

 

 

 

a2nxn

b2

,

a21x1 a22x2

..........................................

 

(20)

 

 

 

 

 

 

 

a x a

x a

nn

x b .

n1 1

n2 2

 

n

n

 

Если обозначить за матрицу А

таблицу коэффициентов при неизвестных,

за В – вектор-столбец правых частей, за Х - вектор-столбец неизвестных, то

систему (20) можно записать в матричном виде:

 

 

 

 

 

 

AX B,

 

(21)

a11 a12

a1n

 

x1

 

b1

a

a

a

 

,

x

 

,

b

 

где A 21

22

 

2n

X

2

B 2

.

 

 

 

 

 

 

a

a

 

 

 

 

 

 

 

a

 

 

x

 

 

b

 

n1

n2

 

nn

 

n

 

n

 

Решение системы (2) всегда существует и единственно, если det A 0, т.е.

матрица A невырожденная.

Все методы решения систем линейных уравнений можно разбить на две группы:

Прямые, или точные, методы.

Итерационные, или приближенные, методы.

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

Вместе с тем прямые методы имеют и ряд недостатков. При решении таких задач на компьютере они требуют хранения в оперативной памяти сразу всей матрицы, поэтому при больших значениях n расходуется много места в памяти. Также прямые методы не учитывают структуру матрицы – при большом числе нулевых элементов эти элементы все равно хранятся в памяти и над ними выполняются арифметические операции. Существенным недостатком прямых методов является накапливание погрешности в процессе решения, поскольку все вычисления на компьютере производятся с ограниченным числом знаков, определяемым разрядностью компьютера, и вычисления на любом этапе используют результаты предыдущих операций. Особенно это опасно для больших систем

12

(n > 200) и для систем с близким к нулю определителем (плохо обусловленных систем).

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

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

2.2.Норма матрицы и вектора

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

Пусть А – матрица размером m n (матрица содержит m строк и n столбцов). Нормой матрицы называется неотрицательное число ||A||, обладающее следующими свойствами:

1.||A|| 0, причем ||A|| = 0 тогда и только тогда, когда все элементы матрицы А равны нулю;

2.|| A|| = | | ||A||, где - произвольное число;

3.||A + В|| ||A|| + ||В||;

4.||A В|| ||A|| ||В||;

Нормы матрицы можно вводить различными способами. Рассмотрим примеры трех легко вычисляемых норм:

1.Первая норма (1-норма)

A 1 max aij .

j i

2. Вторая норма (Евклидова норма, или 2-норма):

A

 

 

 

2

aij2 .

 

 

 

 

 

 

 

 

 

i, j

3.Бесконечная норма( -норма) :

A max aij .

i j

Введенные нормы удовлетворяют всем свойствам из определения нормы.

13

 

 

 

 

 

 

 

 

Пример 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

 

 

 

 

 

 

 

 

 

Найти первую, вторую и бесконечную нормы для матрицы A

 

4

5

6

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

8

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

1 max(1 4 7,2 5 8,3 6 9) max(12,15,18) 18,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

2

12 22 32 42 52 62 72 82 92

 

 

16.9,

 

 

 

 

 

 

 

 

285

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A max(1 2 3,4 5 6,7 8 9) max(6,15,24) 24.

Если рассматривать вектор X = (x1, x1, xm)T как матрицу размера т 1, то определенные выше нормы будут имеют следующий вид:

1. Первая норма (1-норма)

X 1 xi .

i

2. Вторая норма (Евклидова норма или 2-норма):

X

 

 

 

2

xi2 .

 

 

 

 

 

 

 

 

 

i

3. Бесконечная норма ( -норма):

X max xi .

i

Пример 7

Найти первую, вторую и бесконечную нормы для вектора X (1, 3, 7)T.

X 1 1 3 7 11,

X 2 12 ( 3)2 ( 7)2 59 7.68,

X max(1, 3, 7) 7.

2.3.Метод простой итерации

Рассмотрим систему линейных уравнений (20) с невырожденной матрицей А. Предположим, что все диагональные элементы матрицы А не равны нулю. Поделим каждую строку системы (20) на соответствующий диагональный элемент матрицы А aii. Получим систему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x a12x a1nx b1,

 

 

1

 

2

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a21x1 x2 a2nxn b2

,

..........................................

(22)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n1x

 

n2x x

 

n.

a

a

b

 

1

2

 

 

 

 

 

n

 

Систему (22) можно записать в матричном виде:

 

 

 

 

 

 

 

 

 

 

 

 

(23)

 

 

 

 

 

 

 

AX B,

14

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

a

12

 

 

a

1n

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

a21

1

 

 

a2n ,

 

 

X x2 ,

 

 

 

 

 

 

b2 .

 

A

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an1

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

bn

 

 

 

 

 

Представим матрицу

 

в виде

 

 

 

E C, где

 

 

 

 

 

 

 

A

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

12

 

 

 

1n

 

 

 

 

 

1 0

0

 

 

0

 

 

 

 

 

a

a

 

 

 

 

0 1

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

0

 

 

a

 

 

 

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

 

, С

 

 

 

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2n

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

an2

0

 

 

 

 

 

 

 

 

 

 

 

an1

 

 

 

 

 

Тогда систему (23) можно записать в виде: (E C) X

 

. Следовательно,

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EX CX

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X CX

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

CX .

 

 

 

 

 

 

 

 

(24)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим итерационный процесс:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X(k 1)

 

 

CX(k),

 

 

 

 

k 0,1,

(25)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

или в виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(k 1)

b

(0 c

 

 

x(k)

c x(k)

 

... c

x(k)),

 

 

 

 

 

 

 

 

 

1

1

 

 

 

12

 

2

 

 

 

 

13

3

 

 

 

 

 

 

 

 

 

 

1n

 

n

(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k 1)

b

(c

x

(k)

0 c

x

(k)

... c

 

x

),

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

21 1

 

 

 

 

 

 

 

23

3

 

 

 

 

 

 

 

 

 

2n

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

................................................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

(c

x(k) c

 

 

x(k) ... 0),

 

k 0,1,

 

 

 

 

x(k 1)

 

 

 

 

 

 

 

 

n

 

 

n

 

 

n1

1

 

 

 

n2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если итерационный

 

 

процесс

(25)

 

сходится (т.е. существует

вектор

X* lim X(k)), то предельный вектор X* этого итерационного процесса будет

k

решением системы (24) и, следовательно, исходной системы (21).

Доказательство:

Перейдем в (25) к пределу при k получим:

lim

X(k 1) lim( B СX(к)) B lim СX(к) X* = B С X*.

k

k

k

Для того чтобы запустить итерационный процесс, необходимо задать значения первоначального приближения X(0), тогда все остальные значения X(k) вы-

числяются по формуле (25) . В качестве X(0) обычно берут B.

Решение системы (23) получается в результате бесконечного процесса, и всякий вектор X(k) является приближенным решением.

Метод последовательных приближений, определяемых формулой (25), но-

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

15

Сформулируем условия, при которых итерационный процесс (25) сходит-

ся.

Теорема 2 (достаточное условие сходимости)

Если в системе (24) ||C|| < 1 (любая норма 1,2,…, ), то процесс (25) сходится к единственному решению при любом начальном приближении X(0).

Условие ||C|| < 1 – равносильно тому, что для матрицы A системы (21) выполняется условие диагонального преобладания по строкам, т.е. элемент, стоящий на диагонали, больше суммы модулей всех остальных элементов своей строки. Это является достаточным условием сходимости метода простой итерации.

Погрешность k-ой итерации можно оценить по формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X* X(k)

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

X(k) X(k 1)

 

 

 

,k 1,2,

(26)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то

 

 

 

 

 

формула

(26)

 

 

 

 

принимает

вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X* X(k)

 

 

 

 

 

 

 

X(k) X(k 1)

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда, если

 

 

 

X(k) X(k 1)

 

 

 

, то

 

X* X(k)

 

 

 

 

и можно положить, что

 

 

 

 

 

 

 

X* X(k). Т.е. итерации можно прекратить, когда разность между двумя последовательными приближениями станет меньше заданной точности.

Оценка погрешности k-ой итерации, выраженная через разность начальных итераций, задается формулой:

X* X(k)

 

 

 

 

C

 

 

 

 

k

 

 

 

X(1) X(0)

 

,k 1,2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(27)

 

 

 

 

 

 

1

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В частности, если в качестве начального приближения взять X(0) = B, то

X(1) B CB, X(1) X(0) B CB B CB.

Тогда X(1) X(0) CBCBCB. Следовательно,

 

*

 

(k)

 

 

 

 

C

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

,k 1,2, .

(28)

 

 

 

1

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Пример 8

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

16

5x1 3x2 x3 1,2x1 4x2 x3 8,

2x1 2x2 5x3 8.

Разделим первую строку на 5, вторую – на 4, третью – на 5. Преобразованная система

x1 0.6x2 0.2x3 0.2,0.5x1 x2 0.25x3 2,,0.4x1 0.4x2 x3 1.6.

 

 

0

0.6

0.2

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

Для этой системы C

0.5

0

0.25

, B

2

 

 

 

.

 

 

0.4

0.4

0

 

 

 

 

 

1.6

 

 

 

 

 

 

 

 

 

Найдем -нормы матрицы С и вектора B.

C max(0.6 0.2,0.5 0.25,0.4 0.4) max(0.8,0.75,0.8) 0.8.

B max(0.2,2,1.6) 2.

Т.к. C 1, то по теореме 2 итерационный процесс сходится. Количество

шагов метода, необходимых для достижения точности 0.001, найдем, используя формулу (28).

 

 

C

 

 

 

 

k 1

 

 

 

 

 

 

0.8k 1

 

k 1

2

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

2 0.8

0.8

10 0.001,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1 0.8

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.8k 1 0.0001, ln(0.8k 1) ln(0.0001), (k 1) ln0.8 ln0.0001,

k 1 ln0.0001 41.2, ln0.8

k 42.

Следовательно, необходимо выполнить 42 шага для достижения точности 0.001 по каждой переменной. Заметим, что эта оценка сильно завышена и на практике следует выполнить гораздо меньшее количество итераций.

Найдем X(1), выполнив один шаг по методу простой итерации при начальном приближении X(0) = B.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

0

0.6

0.2

 

 

0.2

 

 

 

(1)

 

 

 

 

 

 

 

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

B CX

 

B CB

2

 

0.5

0

0.25

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6

 

 

 

0.4

0.4

0

 

 

 

1.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

0.88

 

 

1.08

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

0.3

 

 

 

1.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6

 

 

 

 

0.72

 

 

 

2.32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

 

 

 

 

 

 

 

 

Аналогично выполним еще два шага по методу простой итерации:

 

 

 

 

 

 

 

0.2

 

 

0

0.6

0.2

 

1.08

 

0.756

 

 

(2)

 

 

 

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

B CX

 

2

 

0.5

0

0.25

 

1.7

 

1.96

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.4

0.4

0

 

 

 

2.32

 

 

 

1.848

 

 

 

 

 

 

 

 

 

1.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

0

0.6

0.2

 

0.756

 

 

1.006

 

(3)

 

 

 

(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

B CX

 

2

 

0.5

0

0.25

 

1.96

 

1.916

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

1.6

 

 

 

0.4

0.4

0

 

 

 

1.848

 

 

 

2.082

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оценим погрешность, с которой найдено значение X(3). Для этого найдем

 

 

 

 

 

1.006

 

 

0.756

 

 

 

0.250

 

 

X

(3)

X

(2)

 

 

1.916

 

 

 

1.96

 

 

 

0.044

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.082

 

 

 

1.848

 

 

 

0.234

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X(3) X(2)

 

 

max(0.250,0.044,0.234) 0.250.

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда по формуле (28) получаем:

X* X(k)

 

 

 

 

0.8

0.250 1. X* (1 1;2 1;2 1).

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0.8

 

 

 

 

 

 

 

2.4.Метод Зейделя

Метод Зейделя представляет модификацию метода простой итерации. В этом методе при вычислении (k +1)-го приближения переменной xi учитываются уже вычисленные на этом шаге приближения неизвестных x1, x2, xi-1.

Пусть система (20) приведена к виду (24). Выберем начальное приближение X(0). X(k+1) будем вычислять по формулам:

x(k 1)

 

 

1

(0 c

 

x(k) c

 

x(k)

 

c x(k)),

 

 

b

 

 

 

 

1

 

 

 

 

12

2

 

13

 

3

 

 

1n n

 

 

 

 

 

(k 1)

 

 

 

 

 

(k 1)

 

 

 

 

 

(k)

 

 

 

 

(k)

 

 

b2

(c x

0 c

x

 

c

 

x

),

 

x

 

 

 

 

2n

n

(29)

 

2

 

 

 

21 1

 

 

 

 

 

23 3

 

 

 

 

................................................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(k 1)

 

 

x(k 1)

 

 

 

 

 

 

 

 

bn

(c

c

 

 

0),

k 0,1,

 

x(k 1)

n2

...

 

 

n

 

 

 

n1

1

 

 

 

2

 

 

 

 

 

 

 

 

Метод Зейделя работает несколько быстрее метода простой итерации. Если выполнено условие C 1, то погрешность k-ой итерации метода

Зейделя можно оценить по формуле:

 

 

X* X(k)

 

 

 

 

 

 

 

 

 

X(k) X(k 1)

 

 

 

,k 1,2,

(30)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

X

 

 

 

 

B

 

,k 1,2, ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(31)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

 

n

 

 

 

 

 

 

 

 

 

 

 

 

cij

 

 

 

 

 

 

 

 

 

 

 

где max

j i

 

 

 

 

 

 

 

C

 

 

 

 

.

 

 

 

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

cij

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

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

Пример 9

Выполнить три итерации по методу Зейделя для системы из предыдущего примера.

Выпишем формулы (29).

x1(k

(k

x2

(kx3

1)

0.2 ( 0.6x(k)

0.2x(k)),

 

 

2

3

 

1)

2 ( 0.5x(k 1)

0.25x(k)),

 

 

1

3

 

1)

1.6 (0.4x(k 1)

0.4x(k 1)),

k 0,1,

 

1

2

 

Так же, как и в методе простой итерации, возьмем за начальное приближе-

ние X(0) = B.

x(1)

0.2 ( 0.6 2 0.2 1.6) 1.08,

1

 

(1)

2 ( 0.5 1.08 0.25 1.6) 2.14,

x2

 

1.6 (0.4 1.08 0.4 2.14) 2.024.

x(1)

3

 

Выполним еще два шага по методу Зейделя:

x(2)

0.2 ( 0.6 2.14 0.2 2.024) 1.079,

1

 

(2)

2 ( 0.5 1.079 0.25 2.024) 2.034,

x2

 

1.6 (0.4 1.079 0.4 2.034) 1.982.

x(2)

3

 

x(3)

0.2 ( 0.6 2.034 0.2 1.982) 1.024,

1

 

(3)

2 ( 0.5 1.024 0.25 1.982) 2.017,

x2

 

1.6 (0.4 1.024 0.4 2.017) 1.997.

x(3)

3

 

Оценим погрешность, с которой найдено значение X(3). Для этого найдем

 

 

 

 

 

1.024

 

 

 

1.079

 

 

0.055

 

 

X

(3)

X

(2)

 

 

2.017

 

 

 

2.034

 

 

 

0.017

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.997

 

 

 

1.982

 

 

 

0.015

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

 

 

X(3) X(2)

 

 

 

 

 

 

 

 

0.8

 

0.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max(0.119;0.135;0.006) 0.135,

max

 

;

 

 

;0

 

0.8.

 

 

 

 

 

 

 

1 0

1 0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда по формуле (30) получаем:

 

 

 

 

 

 

 

 

 

 

X* X(k)

 

 

 

 

 

0.8

0.055 0.22,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X* (1 0.3,2 0.3,2 0.3).

 

 

 

 

 

 

 

 

2.5.Задание на лабораторную работу №2

Привести систему к виду, подходящему для метода простой итерации. Рассчитать аналитически количество итераций для решения системы линейных уравнений методом простой итерации с точностью до 0.0001 для каждой переменной.

Написать программу решения системы линейных уравнений методом простой итерации с точностью до 0.0001 для каждой переменной. Точность дос-

тигнута, если max| xi(k 1) xi(k) | 0.0001 (k – номер итерации, k = 0,1, ).

i 1,4

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

(0.95 c)x1 (0.26 c)x2 ( 0.17 c)x3 (0.27 c)x4 2.48,

( 0.15 c)x1 (1.26 c)x2 (0.36 c)x3 (0.42 c)x4 3.16,

(0.26 c)x1 ( 0.54 c)x2 ( 1.76 c)x3 (0.31 c)x4 1.52,( 0.44 c)x1 (0.29 c)x2 ( 0.78 c)x3 ( 1.78 c)x4 1.29,

где c 0.01 N , N – последняя цифра зачетной книжки.

2.6.Методические указания к выполнению лабораторной работы №2

Рассмотрим пример расчета количества шагов в методе простой итерации для достижения точности 0.01 по каждой переменной.

Пусть имеется система:

10x1 x2 4x3 1,

3x1 10x2 5x3 0,

x1 3x2 5x3 6.

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

x 0.1x 0.4x 0.1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

3

 

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.3x1 x2 0.5x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2x

0.6x

x

1.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0.1

0.4

 

 

 

 

 

0.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда C

0.3

0

0.5

,

b

0

 

 

 

 

.

 

 

 

 

0.2

0.6

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2

 

Найдем нормы:

 

C

 

max(0.5;0.8;0.8) 0.8,

 

 

 

 

 

 

max(0.1;0;1.2) 1.2.

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20