Основы работы с системой MathCAD 7.0

       

Функции пользователя


Задание функций пользователя

Несмотря на довольно широкий набор встроенных функций, всегда возникает необходимость расширить систему новыми функциями, представляющими интерес для пользователя Функции пользователя вводятся с применением следующего выражения:

Имя_функции (Список_параметров): = Выражение

Имя функции задается как любой идентификатор, например имя переменной В скобках указывается список параметров функции, это перечень ис пользуемых в выражении переменных, разделяемых запятыми Выражение — любое выражение, содержащее доступные системе операторы и функции с операндами и аргументами, указанными в списке параметров

Примеры задания функций одной и двух переменных

fun (x): - 10. (1 - ехр (х)) module (x, y): - ^ х2+ у2

Локальные переменные в теле функций пользователя

Следует отметить особый статус переменных, указанных в списке параметров функций пользователя. Это локальные переменные, поэтому они могут не определяться до задания функций. Фактически их указание в списке параметров и является заданием определенного статуса этих переменных. Естественно, что локальные переменные могут использоваться только в выражении, описывающем функцию. Их имена могут совпадать с именами глобальных переменных, введенных ранее. Но при этом по выходе из блока задания функции значения этих переменных будут сохранять ранее заданные (для глобальных переменных) значения.

Следует с осторожностью относиться к применению глобальных переменных в теле выражения функции пользователя, хотя в принципе это возможно, но, конечно, только в том случае, когда глобальная переменная определена ранее. Например, вполне приемлемо задание следующей функции пользователя:

А: =10 fun (x): =A* (l-exp (x))

поскольку переменная А определена до задания функции. Однако, если убрать строку с ее определением, задание функции

fun (x)

станет невозможным, точнее, в введенном выражении переменная А будет выделена как несуществующая. Разумеется, эту переменную можно определить глобально и после задания функции пользователя, используя для этого символ глобального присваивания =:


fun (x): = А* (1 - ехр (х)) А =10
Примеры задания функций пользователя
Функции пользователя можно вводить для задания новых специальных математических функций. Ряд таких примеров содержится в справочнике системы и приведен на рис. 11. 11.
Заданные с применением знака: = функции являются определенными локально. Поэтому они должны быть заданы в документе до того, как будут использованы. С помощью знака = можно определить функции пользователя как глобальные. Тогда это можно сделать в любом месте документа, в том числе в конце. Если же функция нигде и никак не задана, то применять ее, естественно, нельзя. Попытки такого применения будут сопровождаться сообщениями об ошибке: имя функции окажется выделенным черным фоном.
Функции пользователя — мощный аппарат расширения системы. Они облегчают адаптацию системы к решению специфических задач пользователя. Напоминаем еще раз, что, к сожалению, функции пользователя нельзя применять в составе выражений, над которыми осуществляются символьные операции из меню (но преобразования с применением оператора -> могут выполняться и без этого ограничения).
Рис. 11. 11 Примеры задания и применения функций пользователя


Содержание раздела