Математичні операції з матрицями
Над матрицями можна виконувати ті ж самі арифметичні операції, що й над числами – додавання (+) і віднімання (–), множення (*) і ділення (/), піднесення до степеня (^), – а також операцію транспонування ('). Всі ці операції виконуються одразу над цілими матрицями, тому вони називаються матричними. При застосуванні матричних операцій слід пам’ятати наступне:
-
для додавання або віднімання матриці повинні бути однакового розміру;
-
при множенні кількість стовпчиків першої матриці (та, що стоїть зліва від оператора *) обов’язково повинна дорівнювати кількості рядків другої матриці;
-
операція піднесення до степеня застосовується лише для квадратних матриць.
Оскільки вектор є матрицею з одним рядком або одним стовпчиком, то всі матричні операції (крім піднесення до степеня) можна застосовувати і до векторів. При цьому повинні виконуватись наведені вище умови.
Результатом додавання або віднімання матриць (векторів) є матриця (вектор) з елементами, рівними сумі або різниці відповідних елементів початкових матриць (векторів). Тобто операції додавання та віднімання є поелементними. Проте це не відноситься до операцій множення, ділення та піднесення до степеня. Дані операції також можна виконувати поелементно, вказавши перед ними крапку: .*, ./ та .^ (пробіл між крапкою та знаком операції ставити не потрібно). Обов’язковою умовою застосування поелементних операцій є однаковий розмір матриць (векторів).
Приклад В.7. Виконаємо в MATLAB всі наведені вище операції для наступних матриць:
>> A=[1 2; 3 4];
>> B=[0 -1; 5 8];
Знайдемо результати додавання, віднімання, множення та ділення матриць A і B:
>> A+B ans = 1 1 8 12 |
>> A-B ans = 1 3 -2 -4 |
>> A*B ans = 10 15 20 29 |
>> A/B ans = -0.4000 0.2000 0.8000 0.6000 |
Операції піднесення до степеня та транспонування застосовуються до однієї матриці:
>> A^2 ans = 7 10 15 22 |
>> A' ans = 1 3 2 4 |
Виконаємо над матрицями A і B поелементні операції множення та ділення:
>> A.*B ans = 0 -2 15 32 |
>> B./A ans = 0 -0.5000 1.6667 2.0000 |
Піднесення кожного елементу матриці B до степеня, що дорівнює відповідному елементу матриці A, можна виконати наступним чином:
>> B.^A
ans =
0 1
125 4096
Крім того, за допомогою операції .^ можна здійснити піднесення всіх елементів матриці до одного степеня. Так, команда
>> A.^2
підносить кожен елемент матриці А до квадрату (порівняйте з результатом операції A^2):
ans =
1 4
9 16
Поелементними є також операції додавання і віднімання, множення і ділення з матрицями (векторами) та скалярами. В такому випадку операція здійснюється між скаляром та кожним елементом матриці або вектора. Наприклад, щоб збільшити втричі всі елементи матриці А, достатньо ввести одну з наступних команд
>> A=A*3
або
>> A=3*A
Результатом виконання обох команд є матриця
A =
3 6
9 12
Крім виконання арифметичних операцій, до елементів матриць та векторів можна застосовувати математичні функції. Наприклад, в результаті виконання наступних команд створюється нова матриця, елементами якої є значення функції косинус від відповідних елементів матриці D:
>> D=[0 pi pi/2; 2*pi 0 pi/3];
>> cos(D)
ans =
1.0000 -1.0000 0.0000
1.0000 1.0000 0.5000