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

4 курс_1 / Мат.мод 313 / Лабораторная 1 с объяснениями

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

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

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

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

Получаем:

A =

1 5 2 -1

3 -1 4 2

2 3 1 1

0 2 -5 3

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

>> B=[-10;26;4;-5]

Получаем:

B =

-10

26

4

-5

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

>> d=det(A)

Получаем:

d =

55.0000

Система имеет единственное решение.

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

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

>> X=A\B

Получаем:

X =

5.0000

-3.0000

1.0000

2.0000

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

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

>> inv(A)*B

Получаем:

ans =

5.0000

-3.0000

1.0000

2.0000

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

>> D=inv(A)

Получаем

D =

-1.2727 -0.7818 2.3091 -0.6727

0.3636 0.1091 -0.3455 0.1636

0.6364 0.4909 -1.0545 0.2364

0.8182 0.7455 -1.5273 0.6182

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

>> K=A*D

Получаем:

K =

1.0000 -0.0000 0.0000 -0.0000

0 1.0000 0.0000 0

0.0000 -0.0000 1.0000 -0.0000

0.0000 0 0.0000 1.0000

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

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

>> D*B

Получаем:

ans =

5.0000

-3.0000

1.0000

2.0000

Дублируем исходную матрицу и обозначаем её М с помощью оператора:

>> M=A

Получаем:

M =

1 5 2 -1

3 -1 4 2

2 3 1 1

0 2 -5 3

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

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

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

M =

1 0 0 0

3 0 0 0

2 3 1 1

0 2 -5 3

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

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

>> eye(4,4)

Получаем:

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

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

Равно:

>> K == eye(4,4)

ans =

0 0 0 0

1 0 0 1

0 0 1 0

0 1 0 0

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

>> K > eye(4,4)

ans =

0 0 1 0

0 0 1 0

1 0 0 0

1 0 1 0

Строго меньше:

>> K < eye(4,4)

ans =

1 1 0 1

0 1 0 0

0 1 0 1

0 0 0 1

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

>> K <= eye(4,4)

ans =

1 1 0 1

1 1 0 1

0 1 1 1

0 1 0 1

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

>> K >= eye(4,4)

ans =

0 0 1 0

1 0 1 1

1 0 1 0

1 1 1 0

Не равно:

>> K ~= eye(4,4)

ans =

1 1 1 1

0 1 1 0

1 1 0 1

1 0 1 1

Полученная матрица указывает позиции, где элемент К меньше соответствующего элемента eye(4,4), то есть сравнение матриц происходит по элементам с одинаковыми индексами, поэтому при сравнении мы получаем матрицу, состоящую из нулей и единиц, то есть система отвечает на вопрос по каждой паре элементов либо ИСТИНА (1), либо ЛОЖЬ (0). Пример: K > eye(4,4)

K =

1.0000 -0.0000 0.0000 -0.0000

0 1.0000 0.0000 0

0.0000 -0.0000 1.0000 -0.0000

0.0000 0 0.0000 1.0000

>> eye(4,4) =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Первый элемент матрицы К равен 1 и первый элемент единичной матрицы равен 1, получаем вопрос: 1 строго больше 1? Ответ: ЛОЖЬ (0)

Соответственно первый элемент матрицы-ответа равен нулю:

ans =

0 0 1 0

0 0 1 0

1 0 0 0

1 0 1 0

И так далее.

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

Или:

>> K | eye(4,4)

ans =

1 1 1 1

0 1 1 0

1 1 1 1

1 0 1 1

Логическое выражение с оператором OR (|) является истинным (1), если один из операндов или оба операнда логически истинны. Выражение ложно (0), только если оба операнда логически ложны. Если элементами логического выражения являются числа, то выражение ложно, если оба операнда равны нулю.

И:

>> K & eye(4,4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Логическое выражение с оператором AND (&) является истинным (1), если оба операнда - истинны. Если элементами логического выражения являются числа, то выражение истинно, если оба операнда отличны от нуля.

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