Арифметические операторы и функции
Начиная с этого урока мы переходим к изучению математических и логических возможностей системы MATLAB. Их изучение мы начнем с операторов и функций – тех кирпичиков, из которых строятся математические выражения. Вычисления математических выражений составляют главную цель любой системы, предназначенной для численных расчетов. Здесь мы рассмотрим полный набор операторов входного языка системы MATLAB 6.0 и соответствующих им функций. Напомним, что полный список операторов выводится командой help ops. Операторы и специальные символы системы MATLAB можно разделить на ряд категорий, которые рассматриваются ниже.
Арифметические операторы являются самыми распространенными и известными. В отличие от большинства языков программирования в системе 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(M1,M2). Примеры применения арифметических операторов уже не раз приводились, так что ограничимся несколькими дополнительными примерами:
>> A=[1 2 3]; >> B=[4 5 6]: >> B-A ans=3 3 3>> minus (В. А) ans =3 3 3>> А.^ 2ans =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 приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.
