4 курс_1 / Мат.мод 313 / Lab1_Ermolenko
.docxСоставляем СЛАУ, заведомое имеющую единственное решение и записываем ей в виде матричного уравнения 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
