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

4 курс_1 / Мат.мод 313 / Lab1_Ermolenko

.docx
Скачиваний:
8
Добавлен:
22.08.2022
Размер:
17.31 Кб
Скачать

Составляем СЛАУ, заведомое имеющую единственное решение и записываем ей в виде матричного уравнения A*X=B.

Записываем данную СЛАУ в виде матрицы без столбца свободных членов с помощью оператора:

>> A=[1 -2 3 -4;0 1 -1 1 ;1 3 0 -3;0 -7 3 1]

Получаем:

A =

1 -2 3 -4

0 1 -1 1

1 3 0 -3

0 -7 3 1

Находим определить матрицы А, чтобы убедиться, что система имеет одно решение (определитель должен быть не равен нулю), с помощью оператора:

>> d=det(A)

d =

0

>> A=[1 -2 3 -4;2 1 -1 1 ;1 3 0 -3;0 -7 3 1]

A =

1 -2 3 -4

2 1 -1 1

1 3 0 -3

0 -7 3 1

>> d=det(A)

d =

0

>> A=[4 -2 3 -4;0 1 -1 1 ;1 3 0 -3;0 -7 3 1]

A =

4 -2 3 -4

0 1 -1 1

1 3 0 -3

0 -7 3 1

>> d=det(A)

d =

0

>> A=[1 2 3 -4;0 1 -1 1 ;1 3 0 -3;0 -7 3 1]

A =

1 2 3 -4

0 1 -1 1

1 3 0 -3

0 -7 3 1

>> d=det(A)

d =

-16

Вводим столбец свободных членов с помощью оператора:

>> B=[4;-3;1;-3]

Получаем:

B =

4

-3

1

-3

Находим решение СЛАУ средствами MATLAB.

Находим Х с помощью оператора:

>> X=A\B

Получаем:

X =

-8

0

0

-3

При помощи средств MATLAB проверяем правильность решения.

Проверяем решение уравнения через свойство обратной матрицы (Произведение матрицы обратной исходной матрице на вектор равно частному исходной матрицы на тот же самый вектор) с помощью оператора:

>> inv(A)*B

Получаем

ans =

-8.0000

0.0000

0.0000

-3.0000

Называем матрицу, обратную матрице А, D:

>> D=inv(A)

Получаем

D =

0.0000 2.2500 1.0000 0.7500

0.2500 0.3750 -0.2500 -0.1250

0.5000 0.5000 -0.5000 0

0.2500 1.1250 -0.2500 0.1250

Проверяем является ли полученная матрица D обратной матрицей к матрице А через свойство обратных матриц (произведение исходной матрицы и обратной ей матрицы равна единичной матрице той же размерности) с помощью оператора:

>> S=A*D

Получаем:

S =

1.0000 0 0.0000 0

-0.0000 1.0000 0.0000 0

0.0000 0 1.0000 0

0.0000 0.0000 -0.0000 1.0000

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

Проверяем решение уравнения проверенной обратной матрицей с помощью оператора:

>> D*B

Получаем:

ans =

-8.0000

0.0000

0.0000

-3.0000

Дублируем исходную матрицу:

>> A=[1 2 3 -4;0 1 -1 1 ;1 3 0 -3;0 -7 3 1]

Получаем:

A =

1 2 3 -4

0 1 -1 1

1 3 0 -3

0 -7 3 1

При помощи оператора:

>> M(1:2,2:4)=0

Получаем матрицу с «вырезкой» (с заменой элементов на нули)

М =

1 0 0 0

0 0 0 0

1 3 0 -3

0 -7 3 1

Называем матрицу, обратную матрице А, D:

>> D=inv(A)

Получаем

D =

0.0000 2.2500 1.0000 0.7500

0.2500 0.3750 -0.2500 -0.1250

0.5000 0.5000 -0.5000 0

0.2500 1.1250 -0.2500 0.1250

Проверяем является ли полученная матрица D обратной матрицей к матрице А через свойство обратных матриц (произведение исходной матрицы и обратной ей матрицы равна единичной матрице той же размерности) с помощью оператора:

>> S=A*D

Получаем:

S =

1.0000 0 0.0000 0

-0.0000 1.0000 0.0000 0

0.0000 0 1.0000 0

0.0000 0.0000 -0.0000 1.0000

Сравниваем полученную в ходе лабораторной работы единичную матрицу S и единичную матрицу , заданную с помощью встроенной функции MATLAB.

Вводим вторую единичную матрицу в память с помощью оператора:

>> E=eye(4,4)

E =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Производим операции сравнения над матрицами:

Равно:

>> S==E

ans =

0 1 0 1

0 1 0 1

0 1 0 1

0 0 0 1

Больше или равно:

>> S>=E

ans =

1 1 1 0

1 1 0 1

1 1 0 0

1 0 1 1

Строго больше

>> S>E

ans =

0 0 1 0

0 0 1 0

1 0 0 0

1 1 0 0

Больше или равно:

>> S>=E

ans =

0 1 1 1

0 1 1 1

1 1 0 1

1 1 0 1

Не равно:

>> S~=E

ans =

1 0 1 0

1 0 1 0

1 0 1 0

1 1 1 0

Производим логические операции с матрицами:

И:

>> S&E

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Или:

>> S|E

ans =

1 0 1 0

1 1 1 0

1 0 1 0

1 1 1 1

Соседние файлы в папке Мат.мод 313