Обозначение команд и результатов вычислений
После ввода, каждой команде присваивается порядковый номер. В рассмотренном примере (см. выше), введенные команды имеют номера 1-5 и обозначаются соответственно (%i1), (%i2) и т.д. Результат вычисления также имеет порядковый номер, например (%o1), (%o2) и т.д.,где i - сокращение от англ. input (ввод), а о - англ. output (вывод). Этот механизм позволяет избе- жать в последующих вычисления повторения полной записи уже выполненных команды, например (%i1)+(%i2) будет означать добавление к выражению первой команды - выражения второй и последующего вычисления результата. Также можно использовать и номера результатов вычис- лений, например (%о1)*(%о2). Для последней выполненной команды в Maxima есть специальное обозначение - %. Пример: Вычислить значение производной функции y(x) = x2 ·exp(−x)):
Двойная кавычка перед символом предыдущей операции позволяет заместить этот символ значением, т.е. текстовой строкой, полученной в результате дифференцирования. Другой пример (с очевидным содержанием):
Числа, операторы и константы
Правила ввода чисел в Maxima точно такие, как и для многих других подобных программ. Целая и дробная часть десятичных дробей разделяются символом точка. Перед отрицательными числами ставится знак минус. Числитель и знаменатель обыкновенных дробей разделяется при помощи символа / (прямой слэш). Обратите внимание, что если в результате выполнения операции получается некоторое символьное выражение, а необходимо получить конкретное числовое значение в виде десятичной дроби, то решить эту задачу позволит применение флага numer. В частности он позволяет перейти от обыкновенных дробей к десятичным. Преобразование к форме с плавающей точкой осуществляет также функция float.
Арифметические операции
Обозначение арифметических операций в Maxima ничем не отличается от классического представления: + , - , * , /. Возведение в степень можно обозначать несколькими способами: ˆ , `, **. Извлечение корня степени n записываем, как степень 1/n. Операция нахождение факториала обо- значается восклицательным знаком, например 5!. Для увеличения приоритета операции, как и в математике, используются круглые скобки: (). Список основных арифметических и логических операторов приведен в таблицах ниже.
Таблица 1. Арифметические операторы
Таблица 2. Логические операторы
Константы
В Maxima для удобства вычислений имеется ряд встроенных констант. Самые распространенные из них показаны в следующей таблице:
Таблица 3. Основные константы Maxima
Для хранения результатов промежуточных расчетов применяются переменные. Заметим, что при вводе названий переменных, функций и констант важен регистр букв, так переменные x и X - две разные переменные. Присваивание значения переменной осуществляется с использованием символа: (двоеточие), например x:5. Если необходимо удалить значение переменной (очистить ее), то применяется метод kill:
kill(x) - удалить значение переменной x;
kill(all) - удалить значения всех используемых ранее переменных.
Зарезервированные слова, использование которых в качестве имен переменных вызывает синтаксическую ошибку:
integrate next from diff in at limit sum for and elseif then else do or if unless product while thru step
Списки
Списки - базовые строительные блоки для Maxima и Lisp. Все прочие типы данных (массивы, хэш-таблицы, числа) представляются как списки. Чтобы задать список, достаточно записать его элементы через запятую и ограничить запись квадратными скобками. Список может быть пустым или состоять из одного элемента
Элементом списка может и другой список
Ссылка на элемент списка производится по номеру элемента списка: