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