Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы работы в xwMaxima. Учебное пособие
.pdf
Каждую следующую команду не обязательно писать с новой строки; если ввести несколько команд в одну строчку, каждой из них все равно будет соответствовать свое имя ячейки. К
примеру, здесь в строке после метки %i1 введены ячейки от %i1
до %i4; в ячейке %i3 используются %i1 и %i2 (обозначенная как
_ - предыдущий ввод).
Рис. 9. Пример ввода команд в одну строку
В wxMaxima последнюю или единственную команду в
строке можно не снабжать завершающим символом - это сработает так же, как если бы она была завершена ; , то есть вывод заглушен не будет (рис. 8, 9).
Помимо использования имен ячеек, мы, естественно, можем и сами давать имена любым выражениям. По-другому можно сказать, что мы присваиваем значения переменным, с той разницей, что в виде значения такой переменной может выступать
любое математическое выражение. Делается это с помощью
двоеточия - знак равенства оставлен уравнениям, которые, учитывая общий математический контекст записи, проще и привычнее так читаются. И к тому же, так как основной конек Maxima —
символьная запись и аналитические вычисления, уравнения достаточно часто используются. Например (рис. 10):
Рис. 10. Принцип присвоения выражений
11

В каком-то смысле двоеточие даже нагляднее в таком контексте, чем знак равенства: это можно понимать так, что задаем
некое обозначение, а затем через двоеточие расшифровываем, что
именно оно обозначает. После того, как выражение поименовано,
мы в любой момент можем вызвать его по имени (рис. 11):
Рис. 11. Вызов переменной по имени
Любое имя можно очистить от присвоенного ему выражения функцией kill() и освободить занимаемую этим выражением
память. Для этого нужно просто набрать kill(name), где name –
имя уничтожаемого выражения; причем это может быть как имя,
назначенное вами, так и любая ячейка ввода или вывода. Точно
так же можно очистить разом всю память и освободить все имена, введя kill(all). В этом случае очистятся в том числе и все ячейки ввода-вывода, и их нумерация опять начнется с единицы.
Первоначально при знакомстве с программным пакетом
wxMaxima для удобства работы необходимо настроить рабочий
язык – русский. Для этого необходимо нажать Edit → Configuration → Options → Language (рис. 12). Выбираем Russian. Затем
кнопку ОК. Перезапускаем программу и язык становится русским.
12
Рис. 12. wxMaxima configuration

3.1. Ввод простейших команд в wxMaxima
После запуска wxMaxima появляется окно программы
(рис. 13).
Рис. 13. Окно программы wxMaxima
В верхней графической части окна интерфейса Maxima рас-
сказывает, что загружена версия 16.04.21, Maxima приготовилась
воспринимать команды. Разделителем команд является символ;(точка с запятой). После ввода команды необходимо нажать
клавишу Enter для ее обработки и вывода результата.
В ранних версиях Maxima и некоторых ее оболочках (на-
пример, wxMaxima), и в консольной версии наличие точки с запятой после каждой команды строго обязательно. Поэтому настоятельно рекомендуем при использовании Maximaне забывать
добавлять точку с запятой; после каждой команды.
В случае, когда выражение надо отобразить, а не вычис-
лить, перед ним необходимо поставить знак ‘ (одинарная кавычка). Но этот метод не работает, когда выражение имеет явное
значение, например, выражение sin(π) Maxima рассматривает как
нуль и при наличии апострофа (рис.14).
Трудно предусмотреть многообразие возможных вариантов
использования Максимы для расчета или преобразования выражений. В сложных случаях можно попытаться получить справку
на английском языке.
13

Рис. 14. Команды представления и расчета интеграла
3.2. Обозначение команд и результатов вычислений
После ввода каждой команде присваивается порядковый
номер. На приведенном ниже рис. 15 введенные команды имеют
номера 4–6 и обозначаются соответственно (%i4), (%i5), (%i6).
Результаты вычислений имеют соответственно порядковый номер (%o4), (%o5) и т. д. Где "i" – сокращение от англ. input (ввод),
а "o" – англ. output (вывод).
Рис. 15. Правила записи команд
Этот механизм позволяет при дальнейшей записи команд
сослаться на ранее записанные, например, (%i1)+(%i2) будет означать добавление к выражению первой команды выражения
второй с последующим вычислением результата. Также можно
использовать и номера результатов вычислений, например, таким
образом (%o1)*(%o2).
14

Для последней выполненной команды в Maxima есть спе-
циальное обозначение – %.
Пример: Вычислить значение производной функции в точ-
ке х=1 (рис. 16).
)
(
=Ā+
Рис. 16. Решение функции в точке х
1
Команда (%i19) была выполнена, и был получен результат
(diff). Поэтому следующая команда (%i17) сослалась на уже полученный результат, но уточнила значение переменной х, поэтому команда получала вид (%i17) (%о17), х = 1.
3.3. Ввод числовой информации
Правила ввода чисел в Maxima точно такие, как и для мно-
гих других подобных программ. Целая и дробная части десятичных дробей разделяются символом точка. Перед отрицательными
числами ставится знак минус. Числитель и знаменатель обыкновенных дробей разделяется при помощи символа / (прямой слэш)
(рис. 17).
Рис. 17. Ввод дробей
15

Обратите внимание, что если в результате выполнения опе-
е
(
−
1
)
1
+
(5)
2
⁄
рации получается некоторое символьное выражение, а необходимо получить конкретное числовое значение в виде десятичной
дроби, то решить эту задачу позволит применение оператора
numer. В частности, он позволяет перейти от обыкновенных дробей к десятичным.
Здесь Maxima, прежде всего, действовала по умолчанию.
Она сложила дроби 3/7 и 5/3 по правилам арифметики точно: нашла общий знаменатель, привела дроби к общему знаменателю и
сложила числители. В итоге она получила 44/21. Лишь после того, как мы попросили её получить численный ответ, она вывела
приближенный, с точностью 16 знаков численный ответ
2,095238095238095.
3.4. Константы
В Maxima для удобства вычислений есть ряд встроенных
констант, самые распространенные из них показаны в следующей
таблице (табл.1):
Таблица 1
Названия констант и их обозначение в Maxima
Название Обозначение
(число Пи) %pi
(экспонента) %e
Мнимая единица (
+∞ (плюс бесконечность) inf
- ∞ (минус бесконечность) minf
Истина true
Ложь false
Комплексная бесконечность infinity
Слева (в отношении пределов) minus
Справа (в отношении пределов) plus
Золотое сечение (
)
)
%i
%phi
16

3.5. Арифметические операции
Обозначения арифметических операций в Maxima ничем не
отличаются от классического представления, используются математические знаки: + – * /.
Рис. 18. Возведение в степень
Возведение в степень можно обозначать тремя способами:
^,^^
, ** (рис. 18).
Извлечение корня степени n записывают, как степень
^^(1/n).
Maxima находит факториал числа. Эта операция обозначается восклицательным знаком.
Например, 6!=1 2 3 4 5 6=120.
Для увеличения приоритета операции, как и в математике,
при записи команд для Maxima используют круглые () скобки.
3.6. Переменные
Для хранения результатов промежуточных расчетов применяются переменные. Заметим, что при вводе названий переменных, функций и констант важен регистр букв, так переменные
x и X – это две разные переменные.
Присваивание значения переменной осуществляется с использованием символа: (двоеточие), например, x: 5; (рис. 19).
17

Если необходимо удалить значение переменной (очистить
ее), то применяется метод kill:
kill(x) – удалить значение переменной x;
kill(all) – удалить значения всех используемых ранее пере-
менных (рис. 19).
Рис. 19. Присвоение и удаление данных
И, кроме того, метод kill начинает новую нумерацию для
исполняемых команд (обратите внимание, что ответом на команду (%i3), приведенную выше, оказался ответ с номером ноль
(%o0) done, и далее нумерация команд продолжилась с единицы).
3.7. Математические функции
В Maxima имеется достаточно большой набор встроенных
математических функций. Вот некоторые из них (табл. 2).
Встроенные математические функции Maxima
Функции Обозначение
1 2
Тригонометрические sin(синус)
cos(косинус)
tan (тангенс)
cot (котангенс)
Обратные тригонометрические
Секонс, косеконс Sec x = 1/cos x, (суконс),
asin(арксинус)
acos (арккосинус)
atan (арктангенс)
acos (арккотангенс)
Csc x=1/sin x, (косенконс)
18
Таблица 2

Окончание табл. 2
1 2
Гиперболические sinh(гиперболический синус)
cosh(гиперболический косинус)
tanh(гиперболический тангенс)
coth(гиперболический котангенс)
sech(гиперболический секанс)
cosh (гиперболический косеканс)
Натуральный логарифм
Квадратный корень
Модуль
Остаток от деления
Минимальный из списка min(x1,…, xN)
Максимальный из списка max(x1,…,xN)
Знак аргумента sign(x)=pos (x>0);
log();
sqrt();
abs();
mod()
sing(x)=zero (x=0);
sign(x)=neg (x<0);
sign(x)=pnz – (не определен)
Следует иметь ввиду, что некоторые названия функций отличаются от названий, используемых в отечественной литературе: Вместо tg – tan, вместо ctg – cot, вместо arcsin – asin, вместо
arccos – acos, вместо arctg – atan, вместо arcctg – acot, вместо ln –
log, вместо cosec – csc (рис. 20).
Рис. 20. Представление функций
19

3.8. Правило записи функций
Для записи функции необходимо указать ее название, а затем в круглых скобках записать через запятую значения аргументов. Если значением аргумента является список, то он заключается в квадратные скобки, а элементы списка также разделяются
запятыми (рис. 21).
Пример:
sin(x);
integrate(sin(x),x, - 5,5);
plot2d([sin(x)+3,cos(x)],[x, - %pi, %pi],[y, - 5,5]);
Рис. 21. Выполнение примера
3.9. Пользовательские функции
Пользователь может задать собственные функции (рис. 22).
Для этого сначала указывается название функции, в скобках перечисляются названия аргументов, после знаков := (двоеточие и
равно) следует описание функции. После задания пользовательская функция вызывается точно так, как и встроенные функции
Maxima.
Пример:
Рис. 22. Запись функций
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
