Операторы и функции
Оператор — это специальное обозначение для определенной операции над данными — операндами. Например, простейшими арифметическими операторами являются знаки суммы +, вычитания -, умножения * и деления /. Операторы используются совместно с операндами. Например, в выражении 2+3 знак + является оператором сложения, а числа 2 и 3 — операндами.
Следует отметить, что большинство операторов относится к матричным операциям, что может служить причиной серьезных недоразумений. Например, операторы умножения * и деления / вычисляют произведение и частное от деления двух многомерных массивов, векторов или матриц. Есть ряд специальных операторов, например, оператор \ означает деление справа налево, а операторы . * и . / означают соответственно поэлементное умножение и поэлементное деление массивов.
Следующие примеры поясняют сказанное на примере операций с векторами:
» Vl=[2 4 6 8]
V1=
2468
» V2=[l 2 3 4]
V2 =
1234
» V1/V2
ans =
2
» V1.*V2
ans=
2 8 18 32
» V1./V2
ans =
2 2 2 2
Полный список операторов можно получить, используя команду » help ops. Постепенно мы рассмотрим все операторы системы MATLAB и обсудим особенности их применения. А пока приведем только часть полного списка операторов, содержащую арифметические операторы:
» help ops
Operators and special characters.
Arithmetic operators.
|
|
|
|
|
|
Plus |
- Plus |
+ |
|
|
Up! us |
- Unary plus |
+ |
|
|
Minus |
- Minus |
— |
|
|
Umlnus |
- Unary minus |
- |
|
|
Mtimes |
- Matrix multiply |
* |
|
|
|
|
|
|
|
|
|
|
|
|
times |
- Array multiply |
* |
|
|
mpower |
- Matrix power |
^ |
|
|
poWer |
- Array power |
.^ |
|
|
mldlvlde |
- Backslash or left matrix divide |
\ |
|
|
mrdlvlde |
- Slash or right matrix divide |
/ |
|
|
Idi-vide |
- Left array divide |
.\ |
|
|
rdlvlde |
- Right array divide |
./ |
|
|
kron |
- Kronecker tensor product |
kron |
|
|
|
|
|
|
Функции — это имеющие уникальные имена объекты, выполняющие определенные преобразования своих аргументов и при этом возвращающие результаты этих преобразований. Возврат результата — отличительная черта функций. При этом результат вычисления функции с одним выходным параметром подставляется на место ее вызова, что позволяет использовать функции в математических выражениях, например функцию sin в 2*sin(pi/2).
Функции в общем случае имеют список аргументов (параметров), заключенный в круглые скобки. Например, функция Бесселя записывается как bessel(NU.X). В данном случае список параметров содержит два аргумента — NU в виде скаляра и X в виде вектора. Многие функции допускают ряд форм записи, отличающихся списком параметров. Если функция возвращает несколько значений, то она записывается в виде [Yl. Y2....]=func(Xl. X2...)
где Yl. Y2,... — список выходных параметров и XI, Х2.... — список входных аргументов (параметров).
Со списком элементарных функций можно ознакомиться, выполнив команду hel p elfun, а со списком специальных функций — с помощью команды help specfun. Функции могут быть встроенными (внутренними) и внешними, или т-функциями. Так, встроенными являются наиболее распространенные элементарные функции например, sin(x) и ехр(у), тогда как функция sinh(x) является внешней функцией. Внешние функции содержат свои определения в m-файлах. Задание таких функций с помощью специального редактора m-файлов мы рассмотрим в уроке 5. Встроенные функции хранятся в откомпилированном ядре системы MATLAB, в силу чего они выполняются предельно быстро.