Арифметические операторы и функции
Арифметические операторы являются самыми распространенными и известными. В отличие от большинства языков программирования в системе 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 приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.