Математические функции и выражения
Математические операции в 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).