Функции и выражения
Функции или функциональные выражения вида f(x) или expr(args) – это вызов функции или применение функции (или процедуры) к аргументам args.
Для анализа типа функций каждого узла и ветви применяют команды whattype, nops, op.
Активные функции (начинаются с маленькой буквы) применяются для расчетов, например, diff, int, limit (об активных/инертных формах функций пакета Physics – см. описание команд пакета).
Инертные функции (начинаются с большой буквы) применяются для показа шагов при решении задачи, например, Diff, Int, Limit.
Два класса функций: библиотечные (заранее опредленные) и функции пользователя. Подробнее – см. в главе Правила формального синтаксиса команд Maple разделы Функции пользователя и далее. Там же приведены сведения о синтаксисе процедур и модулей, объектов и операций, управляющих структур, основных операций со структурами данных.
Выражение expr: действующий оператор, сформированный из комбинации команд, констант, переменных, функций.
- Fn1:=cosh(x^3)/(1+x^2);
Внешне эту запись можно перепутать с вызовом функции.
Отличие от вызова функции в том, что именно следует сделать, чтобы вычислить определенное значение x:
Пишeте (вызываете) Fn1(x) – и ничего не получается!
Вместо этого надо было присвоить x значение:
- x:=2.;
затем вычислить Fn1:
- Fn1;
Функция Maple определяется так:
- Fn2:=x->cosh(x^3)/(1+x^2);
Эта конструкция ведет себя как функция: ей дается аргумент, а она возвращает ответ:
- Fn2(2.);
Можно определить функцию многих аргументов:
- Fn3:=(x,y,z)->x*y^2*z^3;
- Fn3(1,2,3);
Следовательно, знак -> обозначает функцию, как принято в математике. (Формальный синтаксис и более подробные сведения – см. Функции пользователя.)
Так зачем же вводить понятие выражения, которое запутывает ситуацию? Потому что зачастую Maple проще (и быстрее) работает с выражением: алгебраическими преобразованиями, дифференцированием, интегрированием, решением ДУ, построениием графиков. К этому надо привыкнуть. Разницу между выражением и функцией можно понимать так:
Выражение Maple подобно функции в книге по математике, а функция Maple подобна устройству, которое имеет вход и выход.
Если функция слишком сложна, чтобы быть записанной с помощью оператора – стрелки, то применяются Процедуры и модули (там же).