Софт-Портал

как работать в maxima

Рейтинг: 4.2/5.0 (1069 проголосовавших)

Категория: Windows: Математика

Описание

Как работать в maxima

обыкновенные дифференциальные уравнения;

задачи обработки экспериментальных данных;

нелинейные уравнений и системы.

Maxima может быть использована при проведении аналитических расчетов и построении двух и трехмерных графиков.

Этим перечнем возможности пакета не ограничиваются. Подробно с пакетом можно ознакомиться в книге Евгения Анатольевича Чичкарёва.

Следует обратить внимание, что в Maxima присутствует встроенный макроязык, благодаря чему программа становится практически неограниченно расширяемым инструментом для проведения как численных, так и символьных вычислений. А совместно с текстовым редактором Tex m acs и пакетом Scilab может быть более мощной средой в ОС семейства Linux для проведения расчетов и оформления документов, чем всем известный MathCad в среде Windows.

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

как работать в maxima:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Программа для такси MAXIMA Taxi

    Какие задачи решает MAXIMA TAXI
    • Автоматизация приема заявок
    • Автоматическое распределение заявок по бортам на основе самых современных алгоритмов распределения NEW
    • Возможность получения заявок на водительские терминалы, как на обычные телефоны, так и на коммуникаторы и навигаторы (отказ от раций)
    • Автоматический отзвон клиентам о назначении и подачи бортов
    • Ведение взаиморасчетов с водителями на основе гибких схем тарифных планов NEW
    • Интеграция с платежными терминалами
    • Привлечение водителей с помощью уникальной системы мотивации "Кнуты и пряники" NEW
    • Система прогнозирования успеха распределения заявки уже на этапе ее оформления NEW
    • Работа с корпоративными заказчиками
    • Продвинутая система безопасности, которая включает в себя:

    - Подробную историю выполнения заявки NEW

    - Записанные разговоры

    - Контроль автоматических отзвонов клиентам NEW

    - Возможность просмотра трека движения бортов на основе GPS мониторинга NEW
  • Оптимизация прогона бортов (транспортная логистика) NEW
  • Поддержка таксометра на всех видах устройств, включая обычные сотовые телефоны NEW
  • Гибкая схема расчета стоимости поездки
  • Поддержка электронных карт
  • SMS информирование
  • Улучшенная функциональность по работе с корпоративными и физическими клиентами NEW
  • Встроенный Call-центр
  • Полный спектр отчетности
  • Гибкая система прав и настройки внешнего вида программы NEW
  • Наряду с уникальными функциональными возможностями система адаптирована под современные условия, в которых работаю диспетчерские такси и таксопарки и позволяет решить проблемы, связанные с
    • Привлечением новых водителей, а также удержанием существующего штата
    • Снижением накладных расходов по обучению операторского состава
    • Повышением качества обслуживания клиентов
    • Контролем работы диспетчерской
    • Сокращением скорости приема заявок
    Maxima TAXI - Главное окно

    Главное окно программы традиционно состоит из списка заказов, а также функционала, необходимого для их приема и мониторинга выполнения. Любой элемент интерфейса настраивается.

    По каждому заказу ведется подробная история его выполнения:
    •     Протокол распределения заказа (руководителю предоставляется отчет по более, чем 100 возможным событиям по заказу)
    •     Запись разговоров со встроенным проигрывателем и возможностью сохранить разговор на жесткий диск
    •     Подробная детализация по совершенным автоматическим отзвонам и их результату
    •     Трек борта (траектория его фактического пробега) с возможностью интеграции с электронными картами
    Maxima - Карточка заказа

    Карточка заказа автоматически открывается при звонке и в поле "Телефон" выводится определившийся телефонный номер. После ввода адреса подачи оператору автоматически выводится прогноз распределения заявки за счет встроенного в систему модуля "Прогнозирования распределения бортов". Специальный индикатор модуля прогнозирования показывает оператору вероятность успеха обработки закза и помогает построить диалог с клиентом более корректно:

    • Если показан зеленый индикатор, то машины есть и оператор уверенно может сообщить клиенту о примерном времени прибытия борта.
    • Если горит желтый индикатор, то бортов в целевом районе нет и они могут быть поданы только из соседних районов. При этом предельный прогон бортов регулируется в зависимости от загруженности диспетчерской.
    • Если загорается розовый индикатор, то свободных бортов нет. При этом система будет пытаться отдать "встречный заказ" бортам, которые следуют в район подачи и, согласно прогноза, успевают на заказ. Кроме того, в условиях дефицита бортов система будет пытаться привлечь водителей, которые находятся на перерыве.
    • Если загорелся индикатор красного цвета, то бортов, согласно прогноза распределения, нет.

    Таким образом, Maxima Taxi сможет распределить больше заказов в условиях дефицита бортов, а операторам поможет дать корректный ответ о перспективах выполнения их заказа. Карточка заказа имеет механизм настройки внешнего вида. Для нее могут быть заданы горячие клавиши и порядок обхода полей. Также, при открытии карточки, происходит автоматическая идентификация клиента с выводом истории его поездок и возможностью быстро заполнить карточку на основе типовой поездки клиента.

    В Maxima Taxi встроен модуль мотивации водителей "Кнуты и пряники". Данный модуль является уникальным изобретением и позволяет:
    • Привлечь водителей для работы в неудобное для них время
    • В условиях дефицита заказов удержать ценные кадры среди водительского состава (в противном случае в "голодный период" от Вас уйдут в первую очередь ценные кадры, ведь они имеют более высокие ожидания)
    • Снизить количество отказов брать заказ, опозданий и прочих нарушений, тем самым повысить качество обслуживания клиентов
    • Ввести современную систему взаиморасчета с водителями под названием "Торговля сменами"
    • Мотивировать водителей выполнять большее количество заказов за смену в условиях дефицита бортов
    Maxima - Отчеты

    Maxima Taxi содержит обширную статистику по заказам, водителям, операторам, отчетность по телефонным звонкам встроенную в систему Call-центра. Представляем Вашему вниманию лишь некоторые из них:

    Система компьютерной алгебры Maxima

    1 Системы компьютерной алгебры

    Maxima – специализированный математический пакет, которым пользуются профессиональные математики во всем мире. Подобные пакеты также называются системами компьютерной алгебры, среди них наиболее известны Maple, Matlab, Mathcad, Mathematica, Maxima, Derive, Axiom, MuPAD. Maxima — система работы с символьными и численными выражениями, включающая дифференцирование, интегрирование, разложение в ряд, преобразования Лапласа, обыкновенные дифференциальные уравнения, системы линейных уравнений, многочлены, множества, списки, векторы, матрицы и тензоры. Maxima производит численные расчеты высокой точности, используя точные дроби, целые числа и числа с плавающей точкой произвольной точности. Система позволяет строить графики функций и статистических данных в двух и трех измерениях.

    Maxima - свободное программное обеспечение, существуют сборки под Windows, Linux, MacOS.

    К ядру Maxima существуют различные интерфейсы: простой консольный, графические интерфейс xMaxima и wxMaxima. Мы будем работать с последним.

    Для получения справки по той или иной функции необходимо в окне wxMaxima ввести. command (заменив command на имя команды).

    Maxima как суперкалькулятор

    В рабочей сессии (сохраняемой в файле с расширением wxm) системы Maxima можно вводить команды в поле ввода.

    После ввода команды она печатается в рабочем листе, причем введенная команда помечается, как (%i1). после чего печатается результат ее исполнения, помеченный как (%o1). С каждой новой введенной командой ее номер будет увеличиваться на 1:

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

    Здесь мы использовали выражение %o2 для ссылки на результат ранее вычисленного выражения. Таким образом можно ссылаться на результат любого ранее вычисленного выражения.

    Кроме типа float существует тип big float, в котором можно работать с действительными числами произвольной точности. Точность задается путем присваивания значения глобальной переменной fpprec. Для преобразования в тип big float используется функция bfloat.

    Буква b в записи числа используется вместо e для обозначения типа big float.

    Подробней смотрите раздел "Floating Point"справочной системы.

    Числа и константы

    Если в выражении встречается число, записанное с плавающей точкой (например, 3.14 или 5.6e-17 ), то все вычисления выполняются приближенно, в противном случае вычисления проводятся точно. В Maxima есть следующие константы:

    %pi Число пи

    %i Мнимая единица i

    %e Основание натуральных логарифмов e

    inf Положительная бесконечность

    minf Отрицательная бесконечность

    true Логическая истина

    Вычисления с участием констант выполняются точно (если только их значение не будет переведено к действительному значению), например

    Подробней смотрите раздел "Constants" справочной системы.

    Переменные

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

    Стандартные функции

    x 1/2 – sqrt(x)

    |x| – abs(x)

    Знак x – signum(x) (возвращает 1, -1 или 0) или sign(x) (возвращает текстовую строку – смотрите документацию).

    Тригонометрические функции: sin(x). cos(x). tan(x). cot(x)

    Обратные тригонометрические: asin(x). acos(x). atan(x). acot(x)

    Экспонента: exp(x)

    Натуральный логарифм: log(x). Для вычисления логарифмов по другим основаниям пользуйтесь свойствами логарифмов для сведения логарифма к натуральному.

    Преобразование математических выражений

    В выражение могут входить константы, свободные переменные, математические функции. Пример выражения:

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

    Функция factor(eq) разлагает выражение eq на множители.

    Функция expand(eq) разлагает скобки в выражении eq .

    Функция radcan (eq) приводит рациональные выражения к общему знаменателю и упрощает их.

    Для раскрытия и упрощения тригонометрических выражений используются функции trigexpand (eq) и trigsimp (eq) .

    Также для упрощения тригонометрических выражений можно использовать функцию trigreduce (eq). которая уменьшает количество .

    Аналитическое решение уравнений и систем

    Используется функция solve.

    Численное решение уравнений и систем

    Используется функция find_root для поиска корня делением пополам и функция newton для метода Ньютона.

    Упражнения
    1. Какая цифра в десятичной записи числа ? стоит на сотом месте после запятой?
    2. Сколько цифр в десятичной записи 179.
    3. Вычислите значение (6+2?5 1/2 ) 1/2 -(6-2?5 1/2 ) 1/2 .
    4. Вычислите sin 4 (?/8)+cos 4 (3?/8)+sin 4 (5?/8)+cos 4 (7?/8).
    5. Упростите выражение (1 + sin(2x ) + cos(2x ))/(1 + sin(2x ) - cos(2x )).
    6. Разложите на множители многочлен x 3 -4x 2 +5x -2.
    7. Найдите численное решение уравнения cos x =x .
    8. Решите уравнение x 3 - x 2 - 11x + 15 = 0
    9. Решите систему уравнений:

    Как работать в maxima

    Тихон Тарнавский. Maxima. Функции и операторы Операторы Максимы

    Продолжаю знакомить вас с возможностями свободной программы символьных вычислений Maxima. Начну в этот раз с краткого рассказа об основных операторах Maxima и некоторых их свойствах.

    На самом деле в Максиме нет четкого разграничения между операторами и функциями. Более того, каждый оператор — это на самом деле функция:

    Здесь имена функций-операторов берутся в кавычки лишь потому, что содержат символы, нестандартные для имен функций. Это похоже на работу в командной оболочке UNIX, где, если в имя файла входят управляющие символы, вы можете либо взять это имя в кавычки, либо экранировать каждый такой символ обратным слэшем. В Maxima допустимы те же два варианта: например, вместо "+" можно было бы написать \+ .

    Итак, все встроенные операторы максимы являются функциями; более того, вы можете наделить любую (в том числе свою собственную) функцию определенными свойствами, которые фактически превратят ее в оператор. Подробнее об этом я расскажу в следующих выпусках.

    Таким образом, разделение на функции и операторы в Maxima достаточно условно. Посему в этом разделе речь пойдет не только о некоторых операторах, но и о нескольких функциях, которые по природе своих действий сходны с операторами. Наиболее привычные операторы уже упоминались в предыдущей статье: +. –. *. /. ^ или ** (возведение в степень) и функцию sqrt(x) (квадратный корень). Сегодня мы поговорим еще о нескольких достаточно распространенных.

    Точкой обозначается матричное произведение. В документации утверждается, что сама точка при этом должна быть отделена пробелами от обоих своих операндов — дабы не спутать ее с точкой десятичной. На самом деле мне не удалось добиться от Максимы неадекватной реакции и в «беспробельном» варианте; что и логично, так как все равно эти две разные ипостаси точки можно различить по контексту: ведь цифры именами матриц быть не могут. Так что, думаю, можете смело писать и без пробелов.

    В случае, если заданные матрицы не могут быть перемножены из-за несовпадающих размерностей, Maxima выдаст сообщение об ошибке:

    Восклицательный знак, стоящий после своего аргумента (т. е. постфиксный оператор), традиционно обозначает факториал. Не менее традиционно, двумя восклицательными знаками обозначен полуфакториал [произведение всех четных (для четного операнда) или нечетных чисел, меньших либо равных данному, — прим. ред. ]. Функции abs(x) и signum(x) возвращают, как опять же нетрудно догадаться, модуль и знак числа. А функции max(x1. xn) и min(x1. xn)  — соответственно максимальное и минимальное из заданных чисел.

    Тут стоит остановиться на нескольких моментах. Во-первых, все функции и операторы Maxima работают не только с действительными, но и комплексными числами. Сами комплексные числа записываются в Максиме в алгебраической форме, с мнимой единицей, обозначенной через %i ; то есть в виде a + b *%i. где a и b  — соответственно действительная и мнимая части числа.

    Так, факториал задан в наиболее общем виде и представляет собой, по сути, гамма-функцию (точнее, x! = gamma(x+1) ), то есть определен на множестве всех комплексных чисел, кроме отрицательных целых. При этом факториал от натурального числа (и нуля) автоматически упрощается до натурального же числа:

    Точно так же и модуль определен для всех комплексных чисел (напомню, что |a+b*i|=sqrt(a2+b2) ). Минимум, максимум и знак определены, естественным образом, только для действительных чисел, так как комплексные числа общего вида, как известно, между собой несравнимы.

    Второй важный момент: когда некоторая встроенная функция или оператор Maxima не может получить для переданного выражения однозначный результат (ввиду недостаточности данных) — она пытается максимально упростить это выражение. (Для некоторых функций такое автоупрощение регулируется специальными параметрами.) Например, если x не задан:

    Подобные упрощения, равно как и «раскрытие» факториалов и арифметических операторов, не считаются вычислениями, а следовательно оператор блокировки вычислений их не предотвращает:

    Как вы, вероятно, помните, в прошлый раз кроме упомянутого только что оператора блокировки вычислений мы познакомились с оператором присвоения значений, или, иначе, именования выражений. В Maxima существуют и другие операторы именования, из которых нам на данный момент интересен один — оператор задания функции. Обозначается он через :=. и аналогии здесь прослеживаются не с языками Pascal или Algol, как может показаться на первый взгляд, а с другими обозначениями самой Максимы: с одной стороны определение функции можно воспринимать как уравнение (которое обозначается знаком = ), а с другой — оно родственно назначению имени некоторому выражению (то есть. ). То есть определение функции можно в какой-то мере считать симбиозом этих двух выражений — и оттого вполне логично, что оно обозначается обоими их символами. (В продолжение этой аналогии могу добавить, что в Maxima есть и расширенные варианты операторов присвоения и назначения функции, обозначаемые соответственно через. и. = .)

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

    О работе в математическом режиме ввода редактора TeXmacs

    Первое слово — про апостроф, который используется в Maxima для блокировки вычислений. В математическом режиме привычной клавишей вводится несколько другой «апостроф», обозначающий производную. Поэтому для ввода апострофа, блокирующего вычисления, нужно внутри математического режима ввода создать поле текстового ввода — и уже в нем ввести обычный текстовый апостроф. По умолчанию это делается комбинацией клавиш A-$. что в зависимости от настроек TeXmacs может расшифровываться как Alt+Shift+4 или Win+Shift+4. После ввода апострофа можно с помощью стрелки влево выйти из поля текстового ввода и продолжать пользоваться всеми прелестями ввода математического.

    И второе слово — насчет ввода различных символов, к которым в математическом режиме либо в самом TeXmacs привязаны некоторые клавиатурные сокращения, т. е. при простом нажатии на клавишу обычные символы не вводятся, а вместо этого происходит некое другое привязанное к этой клавише действие. Среди таких переназначенных символов, к примеру, $ и \. Для того, чтобы отменить специальное действие и вместо него просто ввести обозначенный на клавише символ, нужно непосредственно перед этой клавишей нажать Shift+F5 .

    То же самое можно сказать и про кавычку, к которой уже глобально в TeXmacs привязан по умолчанию ввод «фигурных» кавычек. Здесь есть два варианта: либо предварить ввод кавычки нажатием той же самой комбинации Shift+F5 ; либо поменять умолчательное поведение редактора с помощью пункта меню Редактировать  > Предпочтения  > Клавиатура  > Автоматические кавычки  > Никаких  — правда, тогда перед вводом кавычки придется, так же как и для апострофа, переходить внутри математического режима в текстовый.

    Функция вычисления всего

    А сейчас я расскажу о том, что было обещано в прошлый раз: о возможностях управлять процессом вычислений вводимых вами выражений. В прошлый раз, о чем я уже вспоминал, было упомянуто только одно такое средство — блокировка вычислений. Здесь все достаточно просто и дополнительно стоит остановиться только на одном моменте. Если апострофом предварен вызов функции (встроенной ли, пользовательской — несущественно), то блокируется вычисление самой функции, но не ее аргументов. Если же поставить апостроф перед выражением, заключенным в скобки, то невычисленными останется все это выражение целиком, т. е. и все входящие в него функции, и все аргументы этих функций. Например:

    В противовес блокировке вычислений, можно также принудительно вычислить любое выражение — для этого тоже существует оператор, состоящий из двух апострофов:

    В терминологии Maxima невычисленная форма выражения называется «noun form », вычисленная — «verb form ». Сохраняя лингвистические параллели, на русский я бы это перевел как «несовершённая форма » и «совершённая форма ».

    Если говорить о ячейках ввода-вывода, то значение ячейки ввода в Maxima закономерно сохраняется до его вычисления (т. е. в несовершённой форме), а значение ячейки вывода — после (т. е. в совершённой); другими словами, тут сохраняется естественный порядок «ввод > вычисление > вывод».

    Как видите, операторы вычисления и блокировки вычислений имеют накопительный эффект. О другой стороне этого эффекта мы поговорим чуть ниже.

    Оператор, обозначенный двумя апострофами, является синонимом к функции ev( выражение ). Сама функция ev предоставляет гораздо более широкие возможности, нежели простое принудительное вычисление заданного выражения: она может принимать произвольное число аргументов, первый из которых — вычисляемое выражение, а остальные специальные опции, которые как раз и влияют на то, как именно будет производиться вычисление. Точно так же, как двойной апостроф — сокращение для ev без дополнительных опций, есть еще более упрощенная запись функции ev с опциями: в этом случае вместо имени функции и скобок вообще ничего писать не нужно; т. е. « ev( выражение. опц1. опц2. …) » можно записать просто как « выражение. опц1. опц2. … »

    Первая из таких опций связана с автоупрощением. Глобально автоупрощение регулируется переключателем simp (от «simplification » — упрощение), и по умолчанию оно включено; в любой момент его можно выключить, установив значение переключателя в false. Опция функции ev. одноименная этому переключателю, позволяет включить упрощение для данного конкретного вычисления — вне зависимости от того, включено или выключено оно глобально:

    Тут нужно отметить еще, что вызов kill(all) не восстанавливает умолчательные значения переключателей; т. е. если мы, к примеру, изменили значение переключателя simp. как в примере выше, то для того, чтобы вернуться к изначальному порядку вещей, установленному сразу после запуска Maxima, нам нужно не только сделать kill(all). но и вручную назначить simp:true .

    Опция diff принудительно раскрывает все производные и полные дифференциалы; а опция derivlist( x. y. …, v )  — производные относительно переменных, заданных в качестве ее аргументов, а также полные дифференциалы (так как они не зависят ни от каких переменных):

    Как видите, если из нескольких переменных из diff в derivlist() заданы не все, то раскрывается производная только по заданным переменным; это и понятно, так как выражения diff(f, x, 1, y, 1). diff(diff(f, x), y) и diff(diff(f, y), x) математически эквивалентны [по крайней мере, для «хороших» функций, — прим.ред]. Если же аргумент опции derivlist() вообще не является переменной дифференцирования, он просто игнорируется.

    Опция nouns раскрывает вообще все несовершённые формы — и производные в том числе:

    Опция float преобразовывает все рациональные числа в конечную десятичную запись; опция numer включает опцию float и, кроме того, приводит к десятичному виду многие математические функции от числовых аргументов:

    Опция noeval блокирует сам этап вычисления как таковой; т. е. ее можно использовать для того, чтобы применить к выражению другие опции функции ev, не перевычисляя его. При этом опять-таки нужно понимать разницу между вычислением и упрощением:

    Таким образом, мы можем принудительно упростить выражение, не перевычисляя его.

    Опция eval — напротив, проводит дополнительно еще один процесс вычисления. Здесь стоит поговорить подробнее о накопительном эффекте вычисления, который я уже демонстрировал выше. Так как в Максиме значениями символов могут выступать самые разнообразные выражения, то в эти выражения тоже могут входить некоторые символы, которые тоже могут иметь свои значения; и такая цепочка «вложенных значений» может продолжаться сколь угодно глубоко. Один вызов функции ev (без опции eval ) опускается по этой цепочке в глубину на один уровень:

    Напомню, что здесь ev(y), eval является сокращенной записью от ev(ev(y), eval). таким образом вычисление в этом выражении проводится трижды. Кроме того, хочу обратить ваше внимание на порядок назначения выражений символам; здесь существенно, что на момент задания каждого выражения входящий в него символ еще не был определен — иначе в выражение автоматически подставлялся не сам символ, а его значение. Таким образом, если бы мы произвели эти же назначения в обратном порядке, то значением символа y стало бы xm+6 — безо всяких принудительных вычислений.

    В продолжение разговора о накопительном эффекте и «цепочных» вычислениях придется кстати переключатель infeval. Он заставляет ev перевычислять выражение до тех пор, пока оно не перестанет изменяться при последующих вычислениях. В частности, этот переключатель можно использовать и для того, чтобы разблокировать блокировку вычислений любой глубины вложения:

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

    О других константных опциях и переключателях функции ev можно узнать из ? ev и ? evflag. а мы наверняка еще рассмотрим многие из них позже, когда они будут более актуальны в контексте повествования.

    Кроме константных значений есть еще несколько видов опций. Первый из них — это имена специальных функций, которые занимаются упрощением или преобразованием математических выражений. Будучи упомянута по имени в качестве опции, такая функция просто применяется к вычисляемому выражению. Например, выражение, fullratsimp  — это то же самое, что и fullratsimp(ev(выражение)). Полный список таких функций вы можете найти в ? evfun .

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

    Также в качестве опции можно задать назначение символа или функции; все такие назначения действуют локально в пределах вычисляемого выражения, и все подстановки производятся параллельно:

    Опция подстановки символа допустима не только в виде оператора присвоения, но и в виде равенства; сделано это, в частности, для того, чтобы в качестве подстановок можно было использовать решения, найденные функцией solve :

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

    Интерфейсы к Maxima

    Кроме двух описанных в прошлый раз интерфейсов к Максиме — wxMaxima и TeXmacs , — есть, как уже говорилось, и другие варианты, о которых я сейчас и расскажу.

    Начнем с консольного интерфейса, доступного по команде Maxima; он выполнен в традиционном стиле командной строки: на экране чередуются вводимые вами команды и ответы системы на них. Интерфейс, как видите, достаточно незамысловат, но тем не менее все формулы, даже достаточно сложные, вполне читабельны. Графические возможности в чистой консоли недоступны совсем: графики функций, к примеру, могут быть изображены только всё теми же текстовыми символами. Если же запустить консольную Максиму в X-терминале, то графики могут отображаться в отдельных окнах — так же, как и в любом из графических интерфейсов. Единственный реальный плюс консольного интерфейса — это минимальные требования к ресурсам. В остальном всё, как видите, довольно аскетично.

    Самый примитивный из графических интерфейсов, — XMaxima. На иллюстрации верхняя половина окна — это собственно рабочая область, нижняя — помощь.

    Кроме этого отдельного окна помощи XMaxima практически ничем не отличается от консольного собрата, если тот запущен в X. Посему и тут долго задерживаться не будем. А рассмотрим следующий интерфейс — Maxima-Emacs. Он, как нетрудно догадаться, запускает сессию Максимы в буфере широко известного редактора Emacs. В результате вызова в редакторе команды Maxima ( M-x Maxima ) создается новый буфер по имени *Maxima*. в котором и запускается сессия. После этого становятся доступными довольно многочисленные команды взаимодействия с Maxima. Привязав эти команды к клавишам на свой вкус, приверженцы этого мега-редактора смогут получить внутри него довольно-таки удобный и богатый возможностями интерфейс (надо сказать, многие команды привязаны к определенным клавишам сразу, но не факт, что умолчательная привязка всем понравится, тем более, что речь о таких любителях настройки всего и вся под свой комфорт, как пользователи Emacs). К примеру, на клавишу Tab. которая в режиме Maxima не задействована, можно повесить команду Maxima-complete  — и получить на привычном месте полноценное автодополнение (по умолчанию эта команда подвешена на M-Tab ( Alt-Tab ), что многим может быть неудобно, так как эта комбинация, как известно, часто бывает назначена на переключение между окнами). Правда, этот интерфейс также лишен графической отрисовки формул, но все графические возможности самой Maxima в нем, в случае запуска в X-версии редактора, естественно, доступны. Кроме того, интересен он не столько сам по себе, сколько во взаимодействии еще с одним интерфейсом, о котором чуть ниже.

    Следующие два интерфейса — EMaxima и iMaxima  — также являются режимами редактора Emacs. Первый — скорее не самостоятельный режим, а надстройка над режимом LaTeX, которая наверняка понравится тем, кто использует Emacs для редактирования LaTeX-документов. В отличие от режима Maxima, который предназначен для обычного изолированного запуска полноценной Maxima-сессии, здесь речь идет о возможности вставлять отдельные команды Maxima и, естественно, результаты их вычислений, прямо в редактируемый LaTeX документ. Для работы этого режима понадобится также расширение tex-site ; для Emacs оно входит в пакет auctex. для XEmacs21  — в пакет xEmacs21-basesupport. Вызывается режим, как обычно, соответственно его названию — командой EMaxima-mode ( M-x EMaxima-mode ). Возможности этого режима достаточно богаты, прочитать о них (точно так же как и о режиме Maxima) можно в Maxima-book. которая входит в состав стандартной документации, находящейся, в зависимости от дистрибутива, в пакете Maxima или Maxima-doc. Эта часть может быть также доступна в виде отдельного файла; например, в Debian это /usr/share/doc/Maxima-doc/EMaximaIntro.ps.gz. Остальную информацию в Maxima-book я вам читать не советую — она все-таки очень устарела (обновлена 19 сентября 2004 года); лучше обратиться к info-страницам или HTML-документации, которые доступны всё в том же пакете Maxima либо Maxima-doc. а последняя еще и на сайте проекта. К примеру, в простейшем случае вы можете создать ячейку Maxima комбинацией C-c C-o («o» от фразы «open cell »), ввести в ней любую команду или набор команд Максимы в простой текстовой нотации и получить результат вычисления этой команды либо в обычном текстовом виде нажатием C-c C-u c. либо в LaTeX-виде с помощью C-c C-u C (т. е. Ctrl-c Ctrl-u Shift-c ). Здесь «u c» происходит от «update cell »; а смежные команды, генерирующие вывод в простой текстовой форме и в форме LaTeX, всегда привязаны в Emaxim’е к одинаковым строчной и заглавной буквам соответственно.

    Последний Emacs-интерфейс к Maxima — iMaxima  — отличается от остальных рассмотренных в этот раз самостоятельным (а не посредством LaTeX-документа, как в EMaxima) графическим представлением математических формул. Собственно, именно для этого он и создан, и единственная его функциональность заключается именно в отображении в графическом виде TeX-кода, генерируемого Maxima. Этот режим можно настроить таким образом, чтобы внутри него запускался режим Maxima (т. е. Maxima-Emacs), и пользоваться всеми командами последнего и их клавиатурными привязками. Т.е. фактически режим iMaxima в таком варианте можно рассматривать как графический интерфейс уже над Maxima-Emacs; именно это может добавить дополнительной привлекательности последнему. В отличие от всех рассмотренных выше интерфейсов, iMaxima — сторонний проект, разрабатываемый отдельно; начиная со второй половины прошлого года iMaxim’ой занимается новый автор, и на данный момент проект активно развивается. Для его установки вам понадобится дополнительно установить пакет breqn. отвечающий за перенос строк в математических формулах в формате LaTeX. Инструкцию по установке самой iMaxima и breqn вы можете найти на сайте проекта.

    Кроме всех рассмотренных, существуют еще два интерфейса к Максиме: Symaxx и Kayali . Но учитывая, что оба проекта довольно давно не подают признаков жизни (Kayali находится на стадии альфа-версии, последнее обновление которой вышло 6 июня 2005 года; а Symaxx не обновлялся с 17 декабря 2001 года), то они не достойны большего, чем просто упоминание. Кроме того, существуют полноценные WWW - и telnet-интерфейсы к Maxima, благодаря которым вы можете поработать с нею, не имея даже ее у себя на компьютере, прямо через Интернет.

    Как видите, способность Maxima взаимодействовать с внешними интерфейсами используется достаточно широко — есть из чего выбрать тот интерфейс, который лучше всего подойдет именно вам.

    Как пользоваться xmaxima: Околонаучный софт

    как пользоваться xmaxima?

    Здравствуйте.

    Начал разбираться с xmaxima, уяснил как осуществить в ней основные нужные мне операции, но наткнулся на несколько проблем:

    1) расчёты и их результат нельзя сохранить, причём все опции сохранения какие-то непривычные, например, save maxima input to file (обычно ведь предлагают просто сохранить файл), а полученные при пользовании ими файлы не могут быть просто открыты (как обычно), а должны быть выполнены, причём после их выполнения пишутся какие-то ошибки;

    2) нельзя просто исправить ошибку в какой-либо строке после того как поставил точку с запятой и нажал enter, можно лишь отредактировать input, и после очередного enter появится новая строка с изменённым содержанием, а output редактируемой строки останется прежним;

    3) нельзя просто удалить какие-либо строки.

    Я привык пользоваться maple и мне кажется естественным наличие в подобных программах подразумеваемых в пп. 1-3 возможностей. Поэтому прошу опытных пользователей помочь мне справиться с возникшими затруднениями.

    Система компьютерной математики Maxima для решения математических задач

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

    Популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования. Основные возможности Mathcad, назначение и интерфейс, графика и развитие.

    презентация [3,5 M], добавлен 01.04.2014

    Вычисление значения входного и выходного сигналов в n-равноотстоящих точках, вывод на экран таблицы. Структура программы: модули, список идентификаторов функций, интерфейс. Исходный код программы. Проверка расчетов в Maxima и построение графиков.

    курсовая работа [1,4 M], добавлен 14.07.2012

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

    курсовая работа [343,1 K], добавлен 04.06.2012

    Обзор и сравнительный анализ современных математических пакетов. Вычислительные и графические возможности системы MATLAB, а также средства программирования в среде MATLAB. Основные возможности решения задач оптимизации в табличном процессоре MS Excel.

    дипломная работа [6,6 M], добавлен 04.09.2014

    Создание программы для мобильного устройства, для решения геометрических задач: нахождения площади треугольника по формуле Герона, площади прямоугольного треугольника и круга. Реализация программных модулей, интерфейс программы, руководство пользователя.

    курсовая работа [314,9 K], добавлен 07.12.2014

    Краткая характеристика пакета Mathcad, описание простейших примеров работы с ним, примеры решения основных задач элементарной математики. Компьютерные технологии решения математических задач и символьных вычислений. Образование векторов и матриц.

    дипломная работа [621,1 K], добавлен 11.03.2011

    Разработка программы, которая создает в отдельном потоке случайный массив целых чисел в заданном диапазоне и выводит на экран эти числа. Описание общего алгоритма, интерфейс программы. Методы решения и алгоритмы задач, реализуемых каждым потоком.

    курсовая работа [372,6 K], добавлен 17.04.2014

    Структура программы Pascal и алгоритмы решения задач. Работа с циклическими операторами, массивами, процедурами. Составление блок-схем задач. Операции над матрицами в программе MathCad. Работа формулами, графиками и диаграммами в оболочке MS Excel.

    курсовая работа [459,0 K], добавлен 13.08.2012

    Стадии и этапы разработки программы для моделирования распространения тепла в стержне (бесконечном, полубесконечном и ограниченном) методом разделения переменных. Возможности системы компьютерной математики Maple. Описание логической структуры программы.

    курсовая работа [307,5 K], добавлен 04.06.2013

    Пример расчета экстремума функции методом прямого поиска с дискретным шагом. Результаты отладки программы на контрольных примерах. Составление инструкции по использованию программы. Обработка результатов исследований визуальными средствами Excel.

    курсовая работа [1,0 M], добавлен 20.05.2012

    Maxima: Основы работы с математическим пакетом Maxima (а так же решение диффуров в нём)

    Maxima: Основы работы с математическим пакетом Maxima (а так же решение диффуров в нём)

    Математический пакет Maxima - одна из лучших бесплатных замен маткаду.

    Данное учебное пособие (в формате pdf) может быть использовано в рамках дисциплин математический анализ, дифференциальные уравнения, пакеты прикладных программ и др. на разных специальностях в учреждениях высшего профессионального образования, если государственным образовательным стандартом предусмотрено изучение раздела «Дифференциальные уравнения», а также в рамках курсов по выбору. Оно также может быть полезным для знакомства с системами компьютерной математики в профильных классах общеобразовательных учреждений с углубленным изучением математики и информатики.

    Содержание :

    • Предисловие
    • Глава 1. Основы работы в системе компьютерной математики Maxima
    • 1.1. О системе Maxima
    • 1.2. Установка Maxima на персональный компьютер
    • 1.3. Интерфейс основного окна Maxima
    • 1.4. Работа с ячейками в Maxima
    • 1.5. Работа со справочной системой Maxima
    • 1.6. Функции и команды системы Maxima
    • 1.7. Управление процессом вычислений в Maxima
    • 1.8. Простейшие преобразования выражений
    • 1.9. Решение алгебраических уравнений и их систем
    • 1.10. Графические возможности
  • Глава 2. Численные методы решения дифференциальных уравнений
    • 2.1. Общие сведения о дифференциальных уравнениях
    • 2.2. Численные методы решения задачи Коши для обыкновенного дифференциального уравнения первого порядка
      • 2.2.1. Метод Эйлера
      • 2.2.2. Метод Эйлера-Коши
      • 2.2.3. Метод Рунге-Кутта 4 порядка точности
    • 2.3. Решение краевых задач для обыкновенных дифференциальных уравнений методом конечных разностей
    • 2.4. Метод сеток для решения дифференциальных уравнений в частных производных
  • Глава 3. Нахождение решений дифференциальных уравнений в системе Maxima
    • 3.1. Встроенные функции для нахождения решений дифференциальных уравнений
    • 3.2. Решение дифференциальных уравнений и их систем в символьном виде
    • 3.3. Построение траекторий и поля направлений дифференциальных уравнений.
    • 3.4. Реализация численных методов решения задачи Коши для обыкновенных дифференциальных уравнений
      • 3.4.1. Метод Эйлера
      • 3.4.2. Метод Эйлера-Коши
      • 3.4.3. Метод Рунге-Кутта
    • 3.5. Реализация конечно-разностного метода решения краевой задачи для обыкновенных дифференциальных уравнений
    • 3.6. Реализация метода сеток для дифференциальных уравнений в частныхпроизводных
  • Задания для самостоятельного решения
  • Литература
  • Предисловие

    Теория дифференциальных уравнений является одним из самых больших разделов современной математики. Одной из основных особенностей дифференциальных уравнений является непосредственная связь теории дифференциальных уравнений с приложениями. Изучая какие-либо физические явления, исследователь, прежде всего, создает его математическую идеализацию или математическую модель, записывает основные законы, управляющие этим явлением, в математической форме. Очень часто эти законы можно выразить в виде дифференциальных уравнений. Такими оказываются модели различных явлений механики сплошной среды, химических реакций, электрических и магнитных явлений и др. Исследуя полученные дифференциальные уравнения вместе с дополнительными условиями, которые, как правило, задаются в виде начальных и граничных условий, математик получает сведения о происходящем явлении, иногда может узнать его прошлое и будущее [1].

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

    Можно сказать, что необходимость решать дифференциальные уравнения для нужд механики, то есть находить траектории движений, в свою очередь, явилась толчком для создания Ньютоном нового исчисления. Через обыкновенные дифференциальные уравнения шли приложения нового исчисления к задачам геометрии и механики.

    Учитывая современной развитие компьютерной техники и интенсивное развитие нового направления — компьютерной математики — получили широкое распространение и спрос комплексы программ, называемые системами компьютерной математики.

    Компьютерная математика — новое направление в науке и образовании, возникшее на стыке фундаментальной математики, информационных и компьютерных технологий. Система компьютерной математики (СКМ) — это комплекс программ, который обеспечивает автоматизированную, технологически единую и замкнутую обработку задач математической направленности при задании условия на специально предусмотренном языке.

    Современные системы компьютерной математики представляют собой программы с многооконным графическим интерфейсом, развитой системой помощи, что облегчает их освоение и использование. Основными тенденциями развития СКМ являются рост математических возможностей, особенно в сфере аналитических и символьных вычислений, существенное расширение средств визуализации всех этапов вычислений, широкое применение 2D- и 3D-графики, интеграция различных систем друг с другом и другими программными средствами, широкий доступ в Internet, организация совместной работы над образовательными и научными проектами в Internet, использование средств анимации и обработки изображений, средств мультимедиа и др.

    Существенным обстоятельством, которое до недавнего времени препятствовало широкому использованию СКМ в образовании, является дороговизна профессионального научного математического обеспечения. Однако в последнее время многие фирмы, разрабатывающие и распространяющие такие программы, представляют (через Internet - http://www.softline.ru) для свободного использования предыдущие версии своих программ, широко используют систему скидок для учебных заведений, бесплатно распространяют демонстрационные или пробные версии программ [5].

    Кроме того, появляются бесплатные аналоги систем компьютерной математики, например, Maxima, Scilab, Octave и др.

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

    Почему именно Maxima?

    Во-первых, система Maxima — это некоммерческий проект с открытым кодом. Maxima относится к классу программных продуктов, которые распространяются на основе лицензии GNU GPL (General Public License).

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

    В-третьих, в настоящее время у системы Maxima есть мощный, эффективный и «дружественный» кроссплатформенный графический интерфейс, который называется WxMaxima (http://wxmaxima.sourceforge.net).

    Авторами книги уже на протяжении десяти лет изучаются системы компьютерной математики такие как Mathematica, Maple, MathCad. Поэтому, зная возможности этих программных продуктов, в частности для нахождения решений дифференциальных уравнений, хотелось изучить вопрос, связанный с организацией вычислений в символьном виде в системах компьютерной математики, распространяемых свободно.

    Настоящее пособие рассказывает о возможностях организации процесса поиска решений дифференциальных уравнений на базе системы Maxima, содержит в себе общие сведения по организации работы в системе.

    Пособие состоит из 3 глав. Первая глава знакомит читателей с графическим интерфейсом wxMaxima системы Maxima, особенностями работы в ней, синтаксисом языка системы. Начинается рассмотрение системы с того, где можно найти дистрибутив системы и как его установить. Во второй главе рассматриваются общие вопросы теории дифференциальных уравнений, численные методы их решения.

    Третья глава посвящена встроенным функциям системы компьютерной математики Maxima для нахождения решений обыкновенных дифференциальных уравнений 1 и 2 порядка в символьном виде. Также в третьей главе показана реализация в системе Maxima численных методов решения дифференциальных уравнений. В конце пособия приведены задания для самостоятельного решения.

    Мы надеемся, что пособием заинтересуется широкий круг пользователей и оно станет их помощником в освоении нового инструмента для решения мате матических задач.

    Т.Н. Губина, Е.В. Андропова

    Елец, июль 2009

    P.S. Быстрый старт: для выполнения команд и функций в mwMaxima нужно непосредственно сначала ввести саму команду и затем нажать crtl+Enter.