Арифметические операторы и функции
Арифметические
операторы являются самыми распространенными и известными. В отличие от большинства языков программирования в системе MATLAB практически все операторы являются
матричными,
т. е. предназначены для выполнения операций над матрицами. В табл. 8.1 приводится список арифметических операторов и синтаксис их применения.
Таблица 8.1.
Арифметические операторы и функции MATLAB
Функция |
Название Оператор |
Синтаксис | |||||
Plus |
Плюс + |
М1+М2 | |||||
Uplus |
Унарный плюс + |
+М | |||||
Minus |
Минус |
М1-М2 | |||||
Uminus |
Унарный минус |
-М | |||||
Mtimes |
Матричное умножение * |
М1*М2 | |||||
Times |
Поэлементное умножение массивов .* |
А1*А2 | |||||
Mpower |
Возведение матрицы в степень |
М1^х | |||||
Power |
Поэлементное возведение массива в степень |
А1^х | |||||
Mldivide |
Обратное (справа налево) деление матриц \ |
M1\M2 | |||||
Mrdivide |
Деление матриц слева направо / |
М1/М2 | |||||
Ldivide |
Поэлементное деление массивов справа налево . \ |
А1.\А2 | |||||
Rdivide |
Поэлементное деление массивов слева направо . / |
А1 . /А2 | |||||
Kron |
Тензорное умножение Кронекера kron |
kron(X.Y) | |||||
Обратите внимание на то, что каждый оператор имеет аналогичную по назначению функцию. Например, оператору матричного умножения * соответствует функция mtimes(Ml,M2). Примеры применения арифметических операторов уже
не раз приводились, так что ограничимся несколькими дополнительными примерами:
» А=[1 2 3];
» В=[4 5 6]:
» В-А
ans=
3 |
3 3 | ||||||
» minus (В. А) | |||||||
ans = | |||||||
3 |
3 3 | ||||||
» А. ^ 2 | |||||||
ans = | |||||||
1 |
4 9 | ||||||
» power(A,2) | |||||||
ans = | |||||||
1 |
4 9 | ||||||
» ДАВ | |||||||
ans= | |||||||
4.0000 |
2.5000 2.0000 | ||||||
» Idivide(A.B) | |||||||
ans= | |||||||
4.0000 |
2.5000 2.0000 | ||||||
» rdivide(A.B) | |||||||
ans= | |||||||
0.2500 |
0.4000 0.5000 |
Соответствие функций операторам и командам в системе MATLAB является одним из основных положений программирования. Оно позволяет одновременно использовать элементы как операторного, так и функционального программирования.
Следует отметить, что в математических выражениях операторы имеют определенный
приоритет исполнения.
Например, в MATLAB приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.