Материал: Лабораторна робота №6

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таблиця 2 - Прапорці, які визначають властивості матриці СЛАР

Прапорець

Властивість матриці

LT

Нижня трикутна

UT

Верхня трикутна

UHESS

Верхня майже трикутна

SYM

Симетрична

POSDEF

Позитивно визначена

RECT

Прямокутна

2.3 Розв’язування СЛАР методом оберненої матриці

Для того щоб розв’язати систему лінійних рівнянь методом оберненої матриці, необхідно виконати наступні дії:

1.Сформувати матрицю коефіцієнтів і вектор вільних членів заданої системи;

2.Розв’язати систему, задавши вектор невідомих як добуток матриці, оберненої до матриці системи, і вектора вільних членів.

Для обернення матриці призначена функція inv.

Приклад 10

Розглянемо ту саму СЛАР. Її розв’язок знаходимо множенням оберненої матриці на вектор вільних членів:

>> х=inv(A)*b

Відповідь:

х=

0.8246

0.2619

0.0728

0.9638

0.5653

Перевірка розв’язку. Підставимо знайдені корені в рівняння системи(це рівнозначно множенню матриці А на вектор. Введемох вектор С– результат підстановки.

>> C=A*х

Відповідь

С = 6.54 3.21 3.93 6.25 5.30

Можемо переконатися, що значення вектора С = b початкової СЛАР: b = [6.54; 3.21;3.93;6.25;5.3]

Якщо матриця близька до виродженої, то видається відповідне діагностичне повідомлення.

6

2.4 Розв’язування СЛАР методом Гауса

Розв’язування СЛАР за допомогоюметоду Гауса ґрунтується на тому, що від заданої системи, переходять до еквівалентної системи, яка розв'язується простіше, ніж початкова.

Метод Гауса складається з двох етапів:

Перший етап - це прямий хід, в результаті якого розширена матриця системи шляхом елементарних перетворень(перестановка рівнянь системи, множення рівнянь на число, відмінне від нуля, і складання рівнянь) приводиться до трикутного вигляду.

На другому етапі(зворотний хід) трикутну матрицю перетворюють таким чином, щоб в першихn стовпцях вийшла одинична матриця. Останній, n +1 стовпець цієї матриці містить розв’язок системи лінійних рівнянь.

Розглянемо як розв’язати цю задачу в MATLAB:

1.Сформувати матрицю коефіцієнтів А і вектор вільних членів b заданої системи;

2.Сформувати розширену матрицю системи, об'єднавши А і b;

3.Привести розширену матрицю до трикутного вигляду, використовуючи функцію rref;

4.Знайти розв’язок системи, виділивши останній стовпець матриці, отриманої в попередньому пункті;

5.Виконати обчислення; якщо в результаті вийшов нульовий вектор, задача вирішена вірно.

Приклад 11

Скористаємося тим самим прикладом системи, що і раніше. Матриця А і вектор b в нас вже сформовані і мають вигляд:

A= [5.38 1.12 0.95 1.32 0.83 1.12 4.08 2.12 0.57 0.91 0.95 2.12 6.33 1.29 1.57 1.32 0.57 1.29 4.37 1.25 0.83 0.91 1.57 1.25 5.41];

b = [6.54; 3.21;3.93;6.25;5.3];

Сформуємо розширену матрицю С і приведемо її до трикутного вигляду. Для приведення матриці до трикутного вигляду призначена функціяrref, а позначення [A,b] означає побудову розширеної матриці:

C=rref([A,b]);

Виділимо останній стовпець з матриці. Оскільки розширена матриця має розмір 6х5, то останній стовпець – це вектор 1:5, 6:6

>> х=C(1:5,6:6)

х=

0.82456140350877

0.26186291739895

0.07277628032345

0.96380090497738

0.56530612244898

7

Зручно записати виконані дії у файл-програму і викликати з Вікна команд за іменем файла.

2.4 Схема LU – розкладання матриць

Як видно з попереднього прикладу, розв’язування СЛАР спрощується, якщо привести матрицю А до трикутного вигляду. Тепер введемо поняття «розкладання» матриці на добуток нижньої трикутної матриці і верхньої трикутної матриці.

Визначимо нижню трикутну матрицюL з одиничною головною діагоналлю таким чином, щоб вище діагоналі були розташовані нульові елементи, а нижче діагоналі – ненульові елементи, значення яких отримані при приведенні матриці.

Визначимо верхню трикутну матрицюU на головній діагоналі якої розміщені ненульові і не одиничні елементи, а нижче діагоналі – нульові елементи.

Має місце наступне визначення:

Визначення 1:

Невироджену матрицю А можна розкласти на трикутні матриці, якщо її можна представити як добуток нижньої трикутної матриці і верхньої трикутної матриці.

Представлення матриці А у вигляді A=LU називається LU – розкладанням. Розв’язування початкової СЛАР, заданою матрицею коефіцієнтівА еквівалентно розв’язанню двох систем з трикутними матрицями:

L g = b

U x = g

 

Для

 

розкладання

матриці

на

трикутні

і

матрицю

перестаP

використовується функція Matlab [L,U,P] = lu(A)

 

 

 

 

 

Введемо в робочому вікні Matlab:

 

 

 

 

 

>>[L,U,P] = lu(A)

 

 

 

 

 

 

 

 

 

 

Отримаємо:

 

 

 

 

 

 

 

 

 

 

 

L =

 

 

 

 

 

 

 

 

 

 

 

 

 

1.0000

 

0

0

 

0

0

 

 

 

 

 

 

0.2082

1.0000

 

0

0

 

0

 

 

 

 

 

0.1766

0.4997

1.0000

 

0

0

 

 

 

 

 

0.2454

0.0767

0.1748

1.0000

0

 

 

 

 

 

0.1543

0.1916

0.2028

0.2084

1.0000

 

 

 

 

U =

 

 

 

 

 

 

 

 

 

 

 

 

 

5.3800

1.1200

0.9500

1.3200

0.8300

 

 

 

 

 

0

3.8468

1.9222

0.2952

0.7372

 

 

 

 

 

 

0

0

5.2017

0.9094

1.0551

 

 

 

 

 

 

0

0

 

0

3.8645

0.8053

 

 

 

 

 

P =

0

0

 

0

0

4.7589

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

0

 

 

 

 

 

 

 

 

 

0

1

0

0

0

 

 

 

 

 

 

 

 

 

0

0

1

0

0

 

 

 

 

 

 

 

 

 

0

0

0

1

0

 

 

 

 

 

 

 

 

 

0

0

0

0

1

 

 

 

 

 

 

 

 

 

>> g=L\b

8

g=

6.5400

1.8485

1.8515

4.1798

2.6902 >> х=U\g

х=

0.8246

0.2619

0.0728

0.9638

0.5653

Перевіримо знайдений розв’язок підстановкою х в СЛАР. ans =

6.5400

3.2100

3.9300

6.2500

5.3000

Всі розглянуті методи розв’язування СЛАР вMATLAB відносяться до прямих методів і призначені для вирішення добре визначених СЛАР. В інших випадках слід застосовувати ітераційні методи.

Завдання і порядок виконання самостійної роботи

1.Ввести значення елементів матриці і вектора в MATLAB.

2.Знайти визначник матриці. Якщо він = 0, то матриця вироджена.

3.Якщо визначник не рівний 0, розв’язати систему з використанням оператора / .

4.За зовнішнім виглядом матриці визначити її властивості(по таблиці 2). Якщо жодна з властивостей не виконується, розв’язати систему за допомогою функції linsolve з двома аргументами, інакше – третім аргументом вказати потрібну властивість за допомогою структури options.

5.Розв’язати систему методами зворотної матриці і Гауса.

6.Виконати LU-розкладання матриці і знайти розв’язок СЛАР цим методом.

7.Результати подати в звіті з точністю eps=0.0001.

9

 

 

A

 

B

 

 

A

 

B

1

3

12

-1

0

18

16

4

2

32

0

-19

 

-5

2

0

32

-15

 

2 30

0

-4

39

 

2

0

16

-3

0

 

36 0

4

-5

40

 

12

3

0

0

21

 

0

0

11

40

31

2

4

20

1

0

24

17

4

-5

40

0

19

 

16

2

0

-2

-13

 

10 -4

0

50

0

 

-4

0

4

32

0

 

32 0

4

-4

34

 

2

0

10

0

7

 

0

32

0

-9

-49

3

2

16

-3

0

9

18

9

40

2

0

81

 

-8

5

0

40

98

 

12

-4

0

96

119

 

25

0

-2

3

5

 

-4

0

64

8

-15

 

0

-3

20

0

-7

 

36 0

0

9

7

4

5

-2

32

0

27

19

7

-5

64

0

18

 

4

25

0

-3

34

 

9

50

0

-4

0

 

20

0

2

-7

-28

 

0

9

-7

80

128

 

0

0

-9

40

5

 

40

11

0

0

-19

5

-7

2

40

0

21

20

11

64

-2

0

-34

 

9

-5

0

50

-14

 

50

3

0

-12

0

 

25

0

4

-1

13

 

0

13

-9

100

131

 

0

32

0

9

21

 

17

0

80

0

85

6

8

40

-3

0

28

21

15

80

-4

0

93

 

-7

5

0

50

0

 

64

7

0

-5

131

 

8

0

64

-11

18

 

0

11

-8

128

-34

 

32

0

0

5

12

 

0

37

100

0

125

7

-9

4

64

0

24

22

17

100

-9

0

0

 

10

50

0

-4

-5

 

80 -7

0

-5

-79

 

0

-14

7

80

14

 

0

21

128

-4

139

 

40

9

0

0

29

 

0

0

19

256

-54

8

-8

64

5

0

37

23

4

-1

20

0

38

 

50

-13

0

2

38

 

18

3

0

-2

-14

 

0

17

-9

100

0

 

0

10

1

-1

15

 

-11

0

80

0

115

 

0

4

0

20

29

9

-13

80

2

0

64

24

3

20

-2

0

41

 

64

9

0

-5

29

 

5

-4

0

20

-19

 

0

12

-9

128

0

 

0

5

32

-3

34

 

0

27

100

0

231

 

12

0

0

3

29

10

-13

100

9

0

-128

25

4

25

-1

0

17

 

80

10

0

-5

34

 

6

5

0

40

0

 

0

-14

128

7

95

 

25

0

3

4

-34

 

0

0

31

256

-69

 

0

-5

30

0

9

11

1

-2

16

0

31

26

9

-2

36

0

19

 

10

-1

0

1

0

 

4

25

0

-3

-18

 

0

12

1

-1

-28

 

40

0

5

-4

44

 

0

2

0

16

29

 

0

0

11

40

21

12

2

20

-3

0

39

27

9

-2

40

0

78

 

4

-2

0

24

0

 

11

-3

0

50

-114

 

0

2

16

-1

-25

 

30

0

-4

5

-21

 

12

0

0

3

18

 

0

32

0

8

40

10