Двойственность
операторов, команд и функций
Для языка
системы MATLAB различие между командами (выполняемыми при вводе с клавиатуры)
и программными операторами (выполняемыми из программы) является условным. И
команды, и программные операторы могут выполняться как из программы, так и в
режиме прямых вычислений. Под командами далее в основном понимаются средства,
управляющие периферийным оборудованием, под операторами — средства, выполняющие
операции с операндами (данными).
Функция
преобразует одни данные в другие. Для многих функций
характерен возврат значений в ответ на обращение к ним с указанием списка входных
параметров — аргументов. Например, говорят, что функция
sin(x)
в ответ
на обращение к ней возвращает значение синуса аргумента
х.
Поэтому функцию
можно использовать в арифметических выражениях, например
2*sin(x+1).
Для
операторов (и команд), не возвращающих значения, такое применение обычно абсурдно.
В данной книге все функции, возвращающие единственное значение (или один массив),
записываются малыми (строчными) буквами в виде
f_nаmе(Список_параметров).
Тем самым
мы исключаем искусственное выделение имен функций большими (заглавными) буквами,
принятое в справочной системе MATLAB. Напоминаем, что как в командной строке,
так и в текстах m-файлов функции записываются только малыми буквами. Для функций,
возвращающих ряд значений или массивов (например X, Y, Z,...), запись имеет
следующий вид: [X. Y, Z. ...]=f_name(Cписок_параметров)
Важное значение
имеет
двойственность
операторов и функций. Многие операторы имеют свои
аналоги в виде функций. Так, например, оператор «+» имеет аналог
в виде функции sum. Команды, записанные в виде
Command
argument
нередко имеют
форму записи и в виде функции:
Command('
argument')
Примеры:
»
help sin SIN Sine.
SIN(X)
is the sine of the elements of X.
Overloaded methods
help
sym/sin.m
»
help('sin') SIN Sine.
SIN(X)
is the sine of the elements of X.
Overloaded
methods
help
sym/sin.m
»
type('sin')
sin
is a built-in function.
»
type sin
sin
is a built-in function.
Указанная
двойственность лежит в основе выбора между процедурным и функциональным типами
программирования, каждый из которых имеет своих поклонников и противников и
может (в той или иной мере) подходить для решения различных классов задач. При
этом переход от одного типа программирования к другому возможен в пределах одной
программы и происходит настолько естественно, что большинство пользователей
даже не задумывается над тем, каким же типом (или стилем) программирования они
преимущественно пользуются.
Содержание раздела