logo
цос / Лаб_раб_ №1

1.2.5 Матричные действия над матрицами

К матричным действиям над матрицами относят такие операции, которые используются в матричном исчислении в математике и не противоречат ему.

Базовые действия с матрицами - сложение, вычитание, транспонирование, умножение матрицы на число, умножение матрицы на матрицу, возведение матрицы в целую степень - осуществляются в языке MatLAB с помощью обычных знаков арифметических операций. При использовании этих операций важно помнить условия, при которых эти операции являются возможными:

при сложении или вычитании матрицы должны иметь одинаковые размеры;

при умножении матриц количество столбцов первой матрицы должно совпадать с количеством строк второй матрицы.

Невыполнение этих условий приведет к появлению в командном окне сообщения об ошибке. Приведем несколько примеров.

Пример сложения и вычитания:

» A = [ 1 2 3 4 5; 6 7 8 9 11 ]

» B = [ 0 -1 -2 -3 -4; 5 6 7 8 9 ]

» A + B

» A - B

Пример умножения на число:

» 5*A

» A*5

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

» A'

Пример умножения матрицы на матрицу:

» A' * B

» С = A * B'

Возведение матрицы в целую степень осуществляется в MatLAB с помощью знака "^": А^n. При этом матрица должна быть квадратной, а n - целым (положительным или отрицательным) числом. Это матричное действие эквивалентно умножению матрицы А на себя n раз (если n - положительно) или умножениюбратной матрицы на себя (при n отрицательно).

Приведем пример:

» A^2

» A^(-2)

Оригинальными в языке MatLAB являются две новые, неопределяемые в математике функции деления матриц. При этом вводятся понятие деления матриц слева направо и деление матриц справа налево. Первая операция записывается с помощью знака ' / ' , а вторая - ' \ '.

Операция В / A эквивалентна последовательности действий B * inv(A), где функция inv осуществляет обращение матрицы. Ее удобно использовать для решения матричного уравнения: Х * А = В.

Аналогично операция A\B равносильна совокупности операций inv(A)*B, которая представляет собой решение матричного уравнения: А * Х = В.

Для примера рассмотрим задачу отыскания корней системы линейных алгебраических уравнений:

x1 + 2x2 + 3x3 = 14

2x1 - x2 - 5x3 = -15

x1 - x2 - x3 = -4

В среде MatLAB это можно сделать таким образом:

» A = [ 1 2 3; 2 -1 -5; 1 -1 -1]

» B = [ 14;-15;-4]

» x = A \ B

x =

1

2

3

При анализе векторов по столбцам или строкам используют операторы:

max - максимальное значение из всех элементов столбца(строки);

min - минимальное значение;

mean - среднее значение;

median - медиана;

std - стандартное отклонение;

sort - сортировка элементов в порядке возрастания;

sum - сумма элементов;

prod - произведение элементов;

length - длина (число элементов) вектора.

Например, вычисление функции x=m! можно выполнить, используя последовательность операторов

i=1:m; % создается вектор i=[1 2... m]

x=prod(i); % вычисляется m!.

Оператор z=sum(i.*y) вычисляет сумму произведений i*y(i) элементов вектора i=1:m и m-мерного вектора y=[y1 y2 ...ym].

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4