Операции върху матрици и вектори

MatLab системата извършва математически операции на матрици и вектори съвсем просто. Помислете първо за прости операции на събиране и умножение на матрици и вектори. Нека бъдат дадени два вектора

a = [1 2 3 4 5]; % ред на вектор
b = [1; един; един; един; един]; % колона вектор

тогава умножението на тези два вектора може да бъде записано като

c = a * b; % c = 1 + 2 + 3 + 4 + 5 = 16
d = b * a; % d - 5x5 матрица

В съответствие с операциите върху вектори, умножаването на вектор на ред по вектор на колона дава число, а умножаването на вектор на колона по вектор на редовете дава двумерна матрица, което е резултат от изчисленията в горния пример, т.е.

вектори

Събирането и изваждането на два вектора се записва по следния начин

a1 = [1 2 3 4 5];
a2 = [5 4 3 2 1];
c = a1 + a2; % c = [1 + 5, 2 + 4, 3 + 3, 4 + 2, 5 + 1];
c = a2-a1; % c = [5-1, 4-2, 3-3, 2-4, 1-5];

Обърнете внимание, че операциите на събиране и изваждане могат да се извършват между два вектора на колона или два реда вектори. В противен случай MatLab ще покаже съобщение за грешка, тъй като вектори от различни типове не могат да се добавят. Такъв е случаят с всички невалидни аритметични операции: ако е невъзможно да се изчислят, системата MatLab ще отчете грешка и програмата ще бъде завършена на съответния ред.

Операциите на умножение и събиране между матрици се извършват по подобен начин:

A = [1 2 3; 4 5 6; 7 8 9];
B = единици (3);
C = A + B; % добавяне на две матрици с еднакъв размер
D = A + 5; % добавяне на матрица и число
E = A * B; % умножение на матрица A по B
F = B * A; % умножение на матрица B по A
G = 5 * A; % умножение на матрица по число

Операциите по изчисляване на обратната матрица, както и транспонирането на матрици и вектори, се записват, както следва:

a = [1 1 1]; % ред на вектор
b = a '; % колона вектор, образуван от
% чрез транспониране на редовия вектор a.
A = [1 2 3; 4 5 6; 7 8 9]; % матрица 3x3 елемента
B = a * A; % B = [12 15 18] - вектор на реда
C = A * b; % С = [6; петнадесет; 24] - вектор на колона
D = a * A * a '; % D = 45 - число, сбор от матрица А
E = A '; % E - транспонирана матрица A
F = inv (A); % F - обратна матрица A
G = A ^ -1; % G - обратна матрица A

От горния пример можете да видите, че операцията по транспониране на матрици и вектори се обозначава със символа '(апостроф), който се поставя след името на вектора или матрицата. Изчисляването на обратното на матрица може да се извърши чрез извикване на функцията inv () или чрез повишаване на матрицата до степен -1. Резултатът и в двата случая ще бъде един и същ, а двата метода за изчисляване са направени за улесняване на използването при прилагане на различни алгоритми.

Ако в процеса на изчисления се изисква да се умножават, разделят или издигат елементите на вектор или матрица по степен, тогава операторите се използват за това:

.* - умножение по елементи;
./ и. \ - разделения по елементи;
.^ - степенно степенуване.

Помислете за работата на тези оператори в следващия пример.

a = [1 2 3]; % ред на вектор
b = [3 2 1]; % ред на вектор
c = a. * b; % c = [3 4 3]
A = единици (3); % 3x3 матрица, състояща се от единици
B = [1 2 3; 4 5 6; 7 8 9]; % матрица 3x3
С = А. * В; % матрица 3x3, състояща се от
D = A./B; % матрица 3x3, състояща се от
E = A. \ B; % матрица 3x3, състояща се от
F = A. ^ 2; % квадратиране на елементите на матрица A