Математические задачи в пакете MathCAD 12

         

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



Подобно присваиванию числовых значений переменным, можно определить функции пользователя одного или нескольких аргументов, (листинги 1.5 и 1.6). В листинге 1.5 определяется функция f (х), а в листинге 1.6 — функция трех переменных g (а, у,ф).

Листинг 1.5. Определение функции пользователя и расчет ее значений в точке

Листинг 1.6. Функция пользователя трех аргументов и ее вычисление в точке





График функции f (х) показан на рис. 1.7. Чтобы построить его, следует нажать на панели Graph (График) кнопку с нужным типом графика (на нее на рисунке наведен указатель мыши) и в появившейся заготовке графика определить значения, которые будут отложены по осям. В нашем случае потребовалось ввести х в местозаполнитель возле оси х и f (х) — возле оси Y.

ПРИМЕЧАНИЕ 1

Сравните содержание листинга 1.5 и рис. 1.7. Такой стиль подачи материала будет сохранен во всей книге. Листинги представляют собой фрагменты рабочих областей документа, которые работают без какого-либо дололнительного кода (если это не оговорено особо). Можно ввести содержание любого листинга в новый (пустой) документ, и он будет работать точно так же, как в книге. Чтобы не загромождать листинги, графики выведены в отдельные рисунки. В отличие от рис. 1.6, в следующих рисунках код листингов не дублируется, а если имеется ссылка на листинг в подрисуночной надписи, то это подразумевает, что данный график может быть вставлен в документ после упомянутого листинга.




Рис. 1.7. Построение графика функции (продолжение листинга 1.5)


ПРИМЕЧАНИЕ 2

На том же графике на рис. 1.7 изображена и вторая кривая, представляющая собой двумерный график функции g(10,х,0). Для того чтобы нарисовать и этот график, потребовалось ввести имя функции g (10, х, 0) через запятую после f (х) возле оси у.



ПРИМЕЧАНИЕ 3

В Mathcad 12 запрещено определять функции пользователя посредством рекуррентных выражений, например f(x)=f(x)+l. При попытке вычисления f (х) вместо ее нового (рекуррентного) присваивания, как происходило в прошлых версиях, будет организован бесконечный цикл, который на определенном шаге приведет к операции переполнения. Для организации рекуррентных вычислений используйте новое имя функции, например, fl (f ,x)=f (x) +1 (что даст, в частности, fl (sin, 0)=0), либо именной оператор (см. след, примечание).



ПРИМЕЧАНИЕ 4

В Mathcad 12 введена новая возможность переопределения переменных, размерностей и функций, причем как пользовательских, так и системных. Осуществляется это при помощи именного оператора (namespace operator), примером действия которого может служить переопределение встроенной функции синус sin[mc] (x) :=sin(x*pi/180) либо пользовательской функции f[this] (x) = =f(x)+l. Идентификатор [mс] указывает на подмену системного имени Mathcad, a [this] — на рекуррентное переопределение соответствующей функции.


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