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

Лаб_практикум_Вычисл_матем_Кузина-Кошев

.pdf
Скачиваний:
29
Добавлен:
03.02.2018
Размер:
1.53 Mб
Скачать

Пример 1 .

С помощью LU-разложения матрицы коэффициентов решить СЛАУ

2x1 x2 4x3 1;3x1 2x2 x3 1;x1 3x2 3x3 1.

Решение.

Применим алгоритм Краута (1.4) к матрице

 

2

1

4

 

A

3

2

1

 

1

3

3

.

В соответствии со схемой имеем:

l11 a11 2;

 

l21 a21 3;

 

 

l31 a31

1;

 

 

u

 

a12

 

 

1

; u

 

 

a13

 

4

2;

 

 

 

 

 

 

12

 

 

l

 

 

2

 

 

13

 

l

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

l

22

a

22

l

21

 

u

 

 

 

 

2 3 1

1 ;

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

32

a

32

l

31

u

 

 

 

3 1 1 5 ;

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

2

 

 

2

 

 

 

 

 

u22 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

1

a

 

 

 

l

 

 

 

u

 

2 1 3 2 10 ;

 

 

 

l22

 

 

 

 

 

 

 

 

 

23

 

 

 

23

 

 

21

 

 

13

 

 

 

 

 

 

 

 

 

 

l

33

a

33

l

31

u

 

 

l

32

u

23

3 1 2 5 10 26 ;

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

2

 

u33

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

 

0

 

 

 

 

 

 

1

0,5

2

 

 

L

3

0,5

 

0 ;

 

 

U

 

0

1

 

10 ;

 

 

 

1

2,5

 

26

 

 

 

 

 

0

0

 

1

 

 

Проверка L U A:

 

 

 

 

 

 

 

 

 

 

 

2

 

0

 

0

 

 

 

1

 

0,5

 

 

2

 

2

1

4

 

 

3

0,5

 

0

 

0

 

1

10

 

3

2

1 .

1

2,5

26

 

0

 

0

 

 

1

1

3

3

11

Для решения исходной системы решим две треугольные системы.

L Y b :

 

2

0

0

 

y

 

 

1

 

 

 

0,5

 

 

 

 

3

0,5

0

 

 

1

 

 

 

 

 

 

5

 

 

 

 

 

y2

1 .

Отсюда y

.

 

 

1

2,5

26

y3

 

1

 

 

 

0,5

 

 

Найденные значения подставляем в системуU x y :

 

 

 

1

0,5

2

 

 

x

 

 

0,5

 

 

 

0,5

 

 

0

1

 

 

 

 

1

 

 

5

 

 

 

 

0

 

 

10 x2

 

 

 

и получаем решение x

.

0

0

1

 

 

x3

 

0,5

 

 

0,5

 

Проверим решение методом обратных матриц x A 1

b.

 

Обратную матрицу определим по формуле

 

 

 

11

A 1 1 121n

где det A

ij

21

 

n1

 

22

 

n2

,

 

 

 

 

2n

 

 

 

nn

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

определитель матрицы A, полученной удалением из матрицы i-й строки и j-го столбца, причем этот опре-

делитель умножается на 1 i j .

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

 

 

 

 

1

4

 

 

 

1

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 3

 

 

 

 

 

3 3

 

 

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

2 1

4

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

9

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 1

 

 

 

 

 

 

1

 

 

3 1

 

 

2 4

 

 

 

 

 

2 4

 

1

 

 

 

 

 

 

 

3 2

1

 

 

 

 

 

 

 

 

 

 

 

 

8 2

10

 

 

 

26

 

1 3

 

 

 

 

 

1 3

3

 

 

 

 

 

1 3

 

 

 

 

3 1

 

26

 

7

5

1

 

 

 

 

 

 

 

 

 

 

 

3 2

 

 

 

 

 

2 1

 

 

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

 

 

 

 

1

3

 

 

 

3

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,115

0,346

0,269

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,308

0,077

0,385

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,269

0,192

0,038

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,115

0,346

 

 

0,269

1

 

0,5

 

 

 

 

 

 

 

 

x

0,308

0,077

 

 

 

0,385 1

0

 

 

.

 

 

 

 

 

 

 

 

 

 

0,269

 

 

0,192

 

 

 

0,038

1

 

0,449

 

 

 

12

Пример 2 .

Решить СЛАУ с использованием встроенных функций системы Mathcad, методом обратной матрицы, методом Крамера, методом Гаусса, методом LU-разложения матрицы коэффициентов.

 

31x

10x

2

5x

3

31;

 

 

 

 

 

1

 

 

 

 

 

 

 

10x1 5x2 31x3 5;

 

 

 

 

 

 

 

 

10x3

26.

 

Решение.

5x1 31x2

 

 

 

 

 

 

 

 

 

 

 

 

 

Представим СЛАУ в матричном виде:

 

AX B.

 

 

31

10

5

 

 

 

 

 

31

 

 

 

 

 

;

 

 

B

 

5

 

A 10 5

31

 

 

 

.

 

5

31

 

 

 

 

 

 

26

 

 

10

 

 

 

 

 

 

1.Решение с использованием встроенных функций системы Mathcad.

1.346836

X lsolve(A B)

X

1.02094

 

 

 

 

 

 

 

0.108505

2. Решение методом обратной матрицы.

XA 1 B

1.346836

X1.02094

0.108505

3.Решение методом Крамера.

 

31

10

5

 

 

 

 

 

 

 

 

31

31

5

 

 

 

31

10

 

31

 

A1

 

5

 

 

5

31

A2

 

 

10

5

31

 

 

A3 10

5

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

31

10

 

 

 

 

 

 

 

 

5

26

10

 

 

5

31

26

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.346836

X1

 

 

A1

 

 

X2

 

 

 

A2

 

 

X3

 

 

 

A3

 

 

X

 

1.02094

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.108505

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Решение методом Гаусса.

ORIGIN 1

S: augment (A,B) – соединение 2-х матриц для получения расширенной матрицы

31

10

5

31

S 10

5

31

5

 

 

 

 

5

31

10

26

13

D rref (S) – задает ступенчатый вид расширенной матрицы, выполняя прямой и обратный ходы гауссова исключения.

1

0

0

1.346836

D 0

1

0

1.02094

 

 

 

 

0

0

1

0.108505

X : submatrix (D,1,3,4,4) – выделяет блок матрицы, состоящий из эле-

ментов, общих для строк 1-3 и столбцов 4-4, т.е. 4-й столбец, содержащий решение системы.

1.346836

X1.02094

0.108505

или

1.346836 X D 4 X 1.02094

0.108505

Проверка правильности решения:

3.552714 10 15 A X B 0

3.552714 10 15

5. Решение методом LU-разложения матрицы коэффициентов. e : lu (A)

1

0

0

1

0

0

31

10

5

 

e 0

0

1

0.16129

1

0

0

29.387097

9.193548

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0.322581 0.060373 1

0

0

28.832053

L : submatrix (e,1,3,4,6)

 

U : submatrix (e,1,3,7,9)

 

 

 

1

0

0

31

10

5

 

L

0.16129

1

0

U 0

29.387097

9.193548

 

 

 

 

 

 

 

 

 

0.322581 0.060373

1

0

0

28.832053

 

31

 

31

L U X

26

 

B

26

 

 

 

 

 

 

 

 

5

 

 

5

 

14

 

 

 

 

 

1.346836

Y L 1 B

X

U 1

Y

X

1.02094

 

 

 

 

 

 

 

 

 

 

 

0.108505

Порядок выполнения работы

В процессе проведения лабораторной работы студент должен выполнить следующие задания:

1.Ознакомиться с теоретическим материалом.

2.Решить СЛАУ

nx1 10x2 mx3 n;10x1 mx2 nx3 m;mx1 nx2 10x3 m n,

где n – номер группы, m – номер по списку в журнале1 или по номеру зачетки, точными методами:

Крамера;

обратной матрицы;

Гаусса (методом последовательного исключения);

LU-разложения матрицы коэффициентов.

3.Сравнить результаты и выполнить проверку подстановкой в системе

MathCAD или MS Excel.

4.Составить блок-схему алгоритма каждого метода.

5.Составить программу на любом известном языке программирования, получить результат.

6.Составить отчет.

7.Защитить работу.

Время выполнения – 2 часа аудиторных, 4 часа СРС.

Контрольные вопросы

1.Какие встроенные функции существуют для вычисления определителя матрицы в MS Excel и в системе MathCAD?

2.Что такое вырожденная матрица?

3.Какой вид должна иметь матрица коэффициентов СЛАУ, чтобы для решения можно было применить методы Крамера, обратной матрицы, Гаусса (метод последовательного исключения), LU-разложения матрицы коэффициентов?

1 Здесь и в дальнейшем n – номер группы, m – номер варианта – по списку в журнале или по номеру зачетки (задается преподавателем).

15

Лабораторная работа 2 ИССЛЕДОВАНИЕ СЛАУ И ЕЕ РЕШЕНИЕ ИТЕРАЦИОННЫМИ МЕТОДАМИ

Целью проведения студентом лабораторной работы 2 является:

формирование умения и навыков проведения исследования СЛАУ;

формирование умения и навыков применения итерационных методов решения систем алгебраических линейных уравнений;

выработка умения составлять алгоритмы итерационных методов решения СЛАУ и реализовывать их в различных интегрированных математических средах (MathCad, MatLab) и языках программирования.

Теоретические основы

Идея всех итерационных методов решения СЛАУ состоит в том,

чтобы, задав некоторое начальное приближение к решению x(0) Rn , последовательно уточнять его, определяя последующие приближения

x 1 , x 2 , ..., x k , x k 1 ... При этом каждое x k 1 выражается через x k ,

x k 1 ,

x k 2 … с помощью формул, соответствующих методу решения.

 

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

приближений определяется через

предыдущий x k 1 f (x k ) ,

то метод

называется одношаговым или двухслойным.

 

Если

x k 1 вычисляется

по двум предыдущим

итерациям

x k 1 f

(x k , x k 1 ) , то имеем двухшаговый, или трехслойный, метод.

Метод простой итерации имеет следующий алгоритм:

1.Проверка выполнения условия сходимости в исходной матрице коэффициентов (итерационный метод будет сходящимся, если матрица коэффициентов СЛАУ имеет диагональное преобладание элементов).

2.Если данное условие не выполняется, преобразовать СЛАУ (перестановкой строк, умножением строки на константу, последующим сложением строк и т.п.).

3.Произвольный вектор принимается в качестве начального приближения (иногда полезно принять столбец свободных членов: x(0) = b).

4.Составляется итерационная схема, для этого из системы Ax b составляется соотношение

 

 

 

 

 

 

 

 

x(k 1)

ijx(k) i , k=0,1,…

 

 

 

 

a

ij

 

i j;

 

 

 

где

 

ij

 

 

,

 

b

 

 

 

 

 

 

aii

 

 

 

 

 

 

 

i

i

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

0,

 

i j;

 

ii

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

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

x(k 1) x(k) ,

где ε – заданная точность.

Метод Зейделя является модификацией метода простых итераций и приводит к более быстрой сходимости. Итерации по методу Зейделя отличаются от простых итераций тем, что при нахождении i-й компоненты (k +1)-го приближения сразу используются уже найденные на этом шаге компоненты (k + 1)-го приближения с меньшими номерами 1,2,…, i–1.

Методы нижней и верхней релаксации являются модификацией метода Зейделя для ускорения сходимости и отличаются от него введением коэффициента ω:

 

 

 

i 1

n

 

 

 

xi k 1 xi k

bi aij xjk 1 aij xjk ,

0 2.

(2.1)

a

 

 

j 1

j i

 

 

 

 

ii

 

 

 

 

 

 

Если 0 1, то имеем метод нижней релаксации; если

1 2

метод верхней релаксации.

 

 

 

 

 

 

Пример 3 .

 

 

 

 

 

 

 

Решить СЛАУ из примера 2 методами простой итерации, Зейделя, нижней и верхней релаксаций.

Решение.

Приведем систему к сходящемуся виду. Методы простой итерации, Зейделя и релаксации являются сходящимися, если выполняется условие

n

aii aij : a11 a12 a13 , a22 a21 a23 , a33 a31 a32 . i 1

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

31x1

10x2 5x3

31;

 

 

31

 

5x 31x

2

10x

3

26;

x 0

 

26

.

 

1

 

 

 

 

 

 

 

 

 

5x2

31x3

5.

 

 

5

 

10x1

 

 

 

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

Построим итерационную схему:

x(k 1)

10x2(k ) 5x3(k ) 31;

 

1

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

5x(k) 10x(k )

26

 

 

 

 

;

x2(k 1)

1

3

 

 

 

 

 

 

31

 

 

 

 

 

 

(k )

(k )

5.

 

x3(k 1)

10x1

5x2

 

 

 

 

 

31

 

 

 

17

Первая итерация:

x11 10 ( 26) 5 5 31 8,580645; 31

x21 5 31 10 5 26 7,451613; 31

x31 10 31 5 26 5 5,645161. 31

Вторая итерация:

x12 10 7,451613 5 ( 5,645161) 31 4,314256; 31

x22 5 8,580645 10 ( 5,645161) 26 0,401665; 31

x32 10 8,580645 5 7,451613 5 1,404787. 31

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

При

1 10 6

процесс

 

сходится

на

23-й итерации к решению

 

1,346836

 

 

 

 

 

 

 

 

 

 

 

1,02094

 

. Результат получен в системе MathCad.

x 23

 

 

 

0,108505

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

Построим итерационную схему:

 

 

 

 

 

 

 

 

 

x(k 1)

 

10x2(k) 5x3(k) 31

;

 

 

 

 

 

 

 

 

 

 

 

1

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5x(k 1) 10x(k) 26

 

 

 

 

 

 

 

 

;

 

 

 

 

x2(k 1)

1

3

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

(k 1)

(k 1)

5.

 

 

 

 

x3(k 1) 10x1

5x2

 

 

 

 

 

 

 

 

 

31

 

 

 

 

Первая итерация:

 

 

 

 

 

 

 

 

x 1

10 ( 26) 5 5 31 8,580645;

 

 

 

 

1

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x21

 

5 8,580645 10 5 26 3,835588;

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

x 1

10 8,580645 5 3,835588 5 1,988016.

3

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

Вторая итерация:

x12 10 3,835588 5 ( 1,988016) 31 2,557934; 31

x22 5 2,557934 10 ( 1,988016) 26 0,609984; 31

x32 10 2,557934 5 ( 0,609984) 5 0,565465. 31

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

ности вычислений. При 1 10 6 результат в методе Зейделя получен на 12-й итерации, что говорит о более быстрой сходимости метода Зейделя для решения СЛАУ по сравнению с методом простой итерации.

Методы релаксации.

Для решения методами релаксации воспользуемся формулой (21), выбираем 0 1 для метода нижней релаксации, 1 2 – для метода верхней релаксации.

Построим итерационную схему:

x(k 1)

x(k)

 

31 31x(k) 10x(k)

5x

(k) ;

 

 

1

1

31

 

1

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

10x2(k) 5x3(k) ;

x2(k 1) x2(k)

 

 

31x1(k 1)

31

 

 

 

 

 

 

 

 

x(k 1)

x(k)

 

31 31x(k 1)

10x(k 1)

5x(k) .

 

 

3

3

31

 

1

2

 

3

 

 

 

 

 

 

 

 

Для метода нижней релаксации выберем 0,8 . Первая итерация:

x11 31 031,8 (31 31 31 10 ( 26) 5 5) 13,064516;

x21 26 031,8 ( 26 5 13,064516 31 ( 26) 10 5) 8,847034; x31 5 031,8 (5 10 13,064516 5 ( 8,847034) 31 5) 1,100903.

Вторая итерация:

x12 13,064516 031,8 (31 31 13,064516 10 ( 8,847034) 5 ( 1,100903)

5,838061;

19

x22 8,847034 031,8 ( 26 5 5,838061 31 ( 8,847034) 10 ( 1,100903))

2,909569;

x32 1,100903 031,8 (5 10 5,838061 5 ( 2,909569) 31 ( 1,100903))

1,222316.

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

сти вычислений. При 1 10 6 результат в методе нижней релаксации получен на 17-й итерации.

Для метода верхней релаксации выберем 1,1.

Первая итерация:

x11 31 131,1(31 31 31 10 ( 26) 5 5) 6,33871;

x21 26 131,1( 26 5 6,33871 31 ( 26) 10 5) 1,221384;

x31 5 131,1(5 10 6,33871 5 ( 1,221384) 31 5) 2,355103.

Вторая итерация:

x12 6,33871 131,1(31 31 6,33871 10 ( 1,221384) 5 ( 2,355103)

1,317364;

x22 1,221384 131,1( 26 5 1,317364 31 ( 1,221384) 10 ( 2,355103))

0,198486;

x32 2,355103 131,1(5 10 1,317364 5 ( 0,198486) 31 ( 2,355103))

0,019307.

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

сти вычислений. При 1 10 6 результат в методе нижней релаксации получен на 13-й итерации.

Расчеты показывают, что наиболее быструю сходимость для данной СЛАУ дает метод Зейделя.

Приведем решение этого примера с помощью интегрированного математического пакета MathCAD.

20

Соседние файлы в предмете Вычислительная математика