Математические функции и выражения

Математические операции в Maxima используются для записи выражений. Всё в Maxima является выражениями, в том числе математические выражения как таковые, а также объекты и программные блоки. Простейшее выражение представляет собой атом, либо оператор с аргументами.

Атом — символ (имя), строка в двойных кавычках, либо число (целое или с плавающей точкой). Все выражения не-атомы представляются в виде oper(a1 ,.., aN), где oper — имя оператора, a1,..., aN — его аргументы. Выражения могут отображаться по-разному, но внутреннее представление всегда одинаково. Аргументы выражения могут быть атомами, либо выражениями не-атомами.

Команда opвозвращает оператор, args возвращает аргументы, atomопределяет, является ли выражение атомом. Например:

Математические функции

В Maxima имеется большой набор встроенных математических функций. Следует иметь в виду, что некоторые названия функций отличаются от названий, используемых в отечественной литературе.

В Maxima используется вместо tg – tan, вместо ctg – cot, вместо arcsin – asin, вместо arccos – acos, вместо arctg – atan, вместо arcctg – acot, вместо ln – log, вместо cosec – csc.

Наиболее часто используемые функции приведены в табл. 2.

 

Таблица 2

Встроенные математические функции Maxima

Функции Обозначение
Тригонометрические sin (синус), cos (косинус), tan (тангенс), cot (котангенс)
Обратные тригонометрические asin (арксинус), acos (арккосинус), atan (арктангенс), acot (арккотангенс)
Секонс, косеконс sec x = 1/cos x, (секонс), csc x = 1/sin x, (косеконс)
Гиперболические sinh (гиперболический синус), cosh (гиперболический косинус), tanh (гиперболический тангенс), coth (гиперболический котангенс), sech (гиперболический секанс), cosh (гиперболический косеканс);
Натуральный логарифм log()
квадратный корень sqrt()
модуль abs()
остаток от деления mod( , )
Минимальный из списка min(x1, ... ,xN)
Максимальный из списка max(x1, ... ,xN)
Знак аргумента =pos (x>0), =zero (x=0), sign(x); =neg (x<0), =pnz–(не определен)

Правило записи функций

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

integrate(sin(x),x,–5,5); plot2d([sin(x)+3,cos(x)],[x,–%pi, %pi],[y,–5,5]).

Примеры использования функций:

 

Пользовательские функции

Пользователь может задать собственные функции. Для этого сначала указывается название функции, в скобках перечисляются названия аргументов, после знаков := (двоеточие и равно) следует описание функции. После задания пользовательская функция вызывается точно так, как и встроенные функции Maxima.

Пример:

Нужно помнить, что не следует использовать для функций названия, зарезервированные для встроенных функций Maxima (приведённые в табл. 2).