Иллюстрированный самоучитель по MatLab

Арифметические операторы и функции

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.