Вы находитесь на странице: 1из 4

Практическая работа№4

Матричные операции
MATLAB имеет обширный арсенал матричных операций. К простейшим из них
относятся сложение и умножение, вычисление ранга и определителя, а также
обращение матрицы.
Элементарные операции над матрицами перечислены в табл. 3
Таблица 3
A±B A' trace inv
A*B det rank pinv

Для сложения и вычитания матриц одинакового размера используются знаки + и –,


например, С = А + В. Умножение матриц обозначается звездочкой: С=А*В. Оно
допускается, если число

строк матрицы А равно числу столбцов матрицы В. При этом в A* B  B* A .


общем случае

Напомним, что матричное умножение вычисляется по известному правилу «строка на


столбец.
Для MATLAB такое умножение – элементарная операция. Приведем простой пример:

>>A=[1 2; 3>>B=[5 6; 7 8] >>C=A*B >>CT=B'*A'


4]
1 2 5 6 19 22 19 43
3 4 7 8 43 50 22 50
где А* – присоединенная матрица, составленная из алгебраических дополнений A ij
матрицы А. В соответствии с этой формулой процедура вычисления обратной матрицы
содержит 2 шага.
Шаг 1. Каждый элемент aij матрицы А заменяется его алгебраическим дополнением
Aij, т.е. определителем матрицы, получаемой вычеркиванием соответствующей строки
и столбца. Если сумма индексов i+j нечетна, определитель берется с минусом.
Шаг 2. Полученная матрица транспонируется и делится на определитель исходной
матрицы. В частности, для матрицы второго порядка получаем

Пример. Табл. 4 содержит примеры выполнения упомянутых операций.

Таблица 4

В первой строке приведены команды, набираемые в рабочем окне, во второй – ответы,


которые даст MATLAB. В частности видим, что при транспонировании матрицы
обратная матрица тоже транспонируется.
Типичная задача линейной алгебры – решение системы линейных уравнений. На
матричном
языке она сводится к тому, чтобы найти вектор X , удовлетворяющий равенству
AX  B , где
матрица A и вектор-столбец B заданы. Решение этого уравнения X  A1B .
имеет вид Для получения такого решения в пакете MATLAB
достаточно набрать
>>X=inv(A)*B
Разумеется, для выполнения этих операций матрица A должна быть невырожденной.
>>A=[1 1 1; 2 2 1; 1 2>>B=[2; 2;>>X=inv(A)
2] 5] *B
A=1 1 1 B=2 X=-1
2 2 1 2 1
1 2 2 5 2

Следовательно, решение системы имеет вид x=-1, y=1, z=2.

Вам также может понравиться