Maxima методичка

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ЕЛЕЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. И. А. БУНИНА»

ЦЕНТР СВОБОДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ

УРАВНЕНИЙ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAXIMA

Учебное пособие

Елец — 2009

УДК 519.62+519.63+004.94 ББК 32.973.26-018

Г 93

Печатается по решению редакционно-издательского совета Елецкого государственного университета имени И.А. Бунина от 27. 05. 2009 г., протокол № 2

Рецензенты:

О.Н. Масина, кандидат физико-математических наук, доцент (Елецкий государственный университет им. И.А Бунина); А. В. Якушин, кандидат педагогических наук, доцент

(Тульский государственный педагогический университет им. Л.Н. Толстого)

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

Г93 Решение дифференциальных уравнений в системе компьютерной математики Maxima: учебное пособие. – Елец: ЕГУ им. И.А. Бунина, 2009. – 99 с.

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

УДК 519.62+519.63+004.94 ББК 22.1+22.18 Р30

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

©ЕГУ им. И.А. Бунина, 2009

Содержание

Предисловие……………………………………………………………………………………………………

4

Глава 1. Основы работы в системе компьютерной математики Maxima

1.1. О системе Maxima………………………………………………………………………………………

7

1.2. Установка Maxima на персональный компьютер………………………………………….

7

1.3. Интерфейс основного окна Maxima…………………………………………………………….

8

1.4. Работа с ячейками в Maxima……………………………………………………………………….

10

1.5. Работа со справочной системой Maxima……………………………………………………..

14

1.6. Функции и команды системы Maxima…………………………………………………………

16

1.7. Управление процессом вычислений в Maxima…………………………………………….

22

1.8. Простейшие преобразования выражений…………………………………………………….

25

1.9. Решение алгебраических уравнений и их систем…………………………………………

28

1.10. Графические возможности………………………………………………………………………..

31

Глава 2. Численные методы решения дифференциальных уравнений

2.1. Общие сведения о дифференциальных уравнениях……………………………………..

45

2.2. Численные методы решения задачи Коши для обыкновенного дифференци-

ального уравнения первого порядка………………………………………………………………….

49

2.2.1. Метод Эйлера………………………………………………………………………………………….

50

2.2.2. Метод Эйлера-Коши………………………………………………………………………………..

52

2.2.3. Метод Рунге-Кутта 4 порядка точности……………………………………………………

53

2.3. Решение краевых задач для обыкновенных дифференциальных уравнений

методом конечных разностей……………………………………………………………………………

54

2.4. Метод сеток для решения дифференциальных уравнений в частных произ-

водных……………………………………………………………………………………………………………..

57

Глава 3. Нахождение решений дифференциальных уравнений в системе Maxima

3.1. Встроенные функции для нахождения решений дифференциальных уравне-

ний…………………………………………………………………………………………………………………..

63

3.2. Решение дифференциальных уравнений и их систем в символьном

виде…………………………………………………………………………………………………………………

66

3.3. Построение траекторий и поля направлений дифференциальных уравне-

ний…………………………………………………………………………………………………………………..

75

3.4. Реализация численных методов решения задачи Коши для обыкновенных

дифференциальных уравнений………………………………………………………………………….

85

3.4.1. Метод Эйлера………………………………………………………………………………………….

85

3.4.2. Метод Эйлера-Коши………………………………………………………………………………..

88

3.4.3. Метод Рунге-Кутта…………………………………………………………………………………..

89

3.5. Реализация конечно-разностного метода решения краевой задачи для обык-

новенных дифференциальных уравнений………………………………………………………….

91

3.6. Реализация метода сеток для дифференциальных уравнений в частных

производных…………………………………………………………………………………………………….

93

Задания для самостоятельного решения………………………………………………………..

95

Литература……………………………………………………………………………………………………..

98

Предисловие

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

Глава 1 ОСНОВЫ РАБОТЫ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAXIMA

1.1.О системе Maxima

Врамках проекта создания искусственного интеллекта в 1967 году в Массачусетском технологическом институте была инициирована разработка первой системы компьютерной алгебры Macsyma. Программа в течение многих лет использовалась и развивалась в университетах Северной Америки, где появилось множество вариантов системы. Maxima является одним из таких вариантов, созданным профессором Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил официальное разрешение Министерства энергетики США на выпуск Maxima под лицензией GPL. А начиная с 2001 года Maxima развивается как свободный международный проект, базирующийся на SourceForge [2].

Внастоящее время Maxima — это система компьютерной математики, которая предназначена для выполнения математических расчетов (как в символьном, так и в численном виде) таких как:

упрощение выражений;

графическая визуализация вычислений;

решение уравнений и их систем;

решение обыкновенных дифференциальных уравнений и их систем;

решение задач линейной алгебры;

решение задач дифференциального и интегрального исчисления;

решение задач теории чисел и комбинаторных уравнений и др.

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

1.2.Установка Maxima на персональный компьютер

Свободно распространяемую версию дистрибутива Maxima, документацию на английском языке, типы и виды интерфейсов системы можно посмотреть и скачать с сайта программы http://maxima.sourceforge.net. На период написания пособия последняя версия дистрибутива — Maxima 5.18.1.

Сама по себе Maxima — консольная программа и все математические формулы «отрисовывает» обычными текстовыми символами.

Система является многоплатформенной, имеет небольшой размер дистрибутива (21,5 Мб), легко устанавливается, имеет несколько графических русифицированных интерфейсов: xMaxima, wxMaxima, TexMacs.

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

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

Установка Maxima под управлением Windows

Полученный после скачивания файл, например maxima-5.18.1.exe (размер файла около 21,5 мегабайт), является исполняемым. Для начала установки программы достаточно нажать на него два раза левой кнопкой мыши. Сразу появится окно выбора локализации (выбираем русский язык).

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

Впоявившемся окне выбираем путь установки программы (можно оставить его без изменения).

Переходим к выбору устанавливаемых компонент. Из всего перечисленного для нас «лишними» являются Пакеты поддержки языков Maxima.

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

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

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

Установка Maxima под управлением Linux

Maxima входит в состав многих дистрибутивов Linux, например, таких как AltLinux, Mandriva, Ubuntu, Fedora и др. В некоторых случаях может понадобиться доустановка с репозитория дистрибутива с помощью систем yum или synaptic.

Для установки в других дистрибутивах Linux необходимо использовать подходящий пакет системы Maxima, который можно скачать с сайта http://maxima.sourceforge.net.

Теперь можно приступать к работе с системой.

Учебное пособие ориентировано на работу с системой Maxima, установленную под управлением Linux. Заметим, что все рассматриваемые команды активны и в системе, установленной под управлением Windows.

Для начала познакомимся с интерфейсом основного окна программы.

1.3. Интерфейс основного окна Maxima

После запуска системы Maxima 5.18.1 с графическим интерфейсом wxMaximа появляется рабочее окно программы (Рис. 1).

8

Глава 1 Основы работы в системе компьютерной математики Maxima

Рис. 1. Вид рабочего окна системы Maxima

Структура окна, как видно из рисунка, имеет стандартный вид:

строка заголовка, в которой располагается название программы и информация о том, сохранен ли рабочий документ (если документ сохранен, то прописывается его имя);

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

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

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

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

полосы прокрутки;

панель с кнопками — набор кнопок для быстрого вызова некоторых команд: упростить, решить уравнение или систему, построить график и др.;

строка состояния.

9

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

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

1.4. Работа с ячейками в Maxima

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

Систему можно использовать в качестве мощного калькулятора для нахождения значений числовых выражений. Например, для того, чтобы найти значение произведения 120 и 1243, надо:

на панели инструментов нажать кнопку Insert input cell (или нажать на клавиатуре клавишу Enter). В результате в рабочей области будет сформирована ячейка ввода (Рис.2).

Рис.2. Формирование новой ячейки ввода

далее с клавиатуры вводим команду: 120*1243 и нажимаем комбинацию клавиш Ctrl+Enter (Рис.3).

Рис.3. Выполнение вычислений в системе Maxima

Таким образом, в документе были сформированы две строки: (%i1) — ячейка ввода и для нее (%о1) — ячейка вывода. Каждая ячейка имеет свою метку — заключенное в скобки имя ячейки. Ячейки, в которых размещаются входные данные (формулы, команды, выражения) называют ячейками ввода. Они обозначаются %iChislo, где Chislo — номер ячейки ввода (i — сокращенно от английского слова input — ввод). Ячейки, в которых размеща-

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Методическое пособие по изучениюматематического пакета MaximaСодержание1.2.3.4.5.6.7.8.9.ВведениеУстановка и запуск программыОписание интерфейса wxMaximaИспользуемые обозначения для ввода командРешение задач элементарной математикиРешение задач линейной алгебрыРешение задач математического анализаРешение обыкновенных дифференциальных уравненийЗадания для самостоятельной работыВведениеВажное замечание: данное пособие разработано для Maxima 5.13 (RC2).

Впредыдущих версиях Maxima могут быть особенности записи выражений,отличные от указанных в данном пособии. Например, в предыдущих версияхMaxima названия встроенных функций были регистронезависимыми, аначиная с версии 5.11 это было изменено. Подробнее см. руководствопользователя для конкретной версии Maxima.Maxima — программа для выполнения математических вычислений,символьных преобразований и построения графиков. С каждой новойверсией в Maxima появляются новые функциональные возможности и видырешаемых задач.Система аналитических вычислений Maxima идеально подходит как дляизучения школьниками старших классов, так и студентами, его могутиспользовать профессиональные математики для проведения сложныхрасчетов и исследований.Основными преимуществами программы являются:••••••••возможность свободного использования (Maxima относится к классусвободных программ и распространяется на основе лицензии GNU);возможность функционирования под управлением различных ОС (вчастности Linux и Windows);небольшой размер программы (дистрибутив занимает порядка 23мегабайт, в установленном виде со всеми расширениями потребуетсяоколо 80 мегабайт);широкий класс решаемых задач;возможность работы как в консольной версии программы, так и сиспользованием одного из графических интерфейсов (xMaxima,wxMaxima или как плагин (plug-in) к редактору TexMacs);расширение wxMaxima (входящее в комплект поставки) предоставляетпользователю удобный и понятный интерфейс, избавляет отнеобходимости изучать особенности ввода команд для решениятиповых задач;интерфейс программы на русском языке;наличие справки и инструкций по работе с программой (русскоязычнойверсии справки нет, но в сети Интернет присутствует большоеколичество статей с примерами использования Maxima);Установка и запуск программыСкачать последнюю версию программы Вы можете с ее сайта в сетиИнтернет: http://maxima.sourceforge.net/.

Русская локализация сайта:http://maxima.sourceforge.net/ru/Рассмотрим пример установки программы под управлением операционнойсистемы Windows XP. Не забудьте, что для установки программ, Вамнеобходимы права Администратора, если Ваш компьютер подключен к сетиили по каким-то причинам права вашей учетной записи ограничены.Полученный файл, например maxima-5.12.99rc2.exe (размер файла около 20мегабайт), является исполняемым. Для начала установки программыдостаточно нажать на него два раза мышкой.Сразу появится окно выбора локализации (выбираем русский язык).В следующем окне жмем «далее», внимательно читаем лицензионноесоглашение, выбираем «я принимаю условия соглашения» и снова жмем«далее» (два раза).Выбираем путь установки программы (можно оставить его без изменения).Переходим к выбору устанавливаемых компонент. Из всего перечисленногодля нас «лишними» являются Пакеты поддержки языков Maxima.В следующих окнах нам будет предложено выбрать, куда помещать ярлыкидля запуска программы (в меню «Пуск», на рабочий стол и т.д.).Завершающим этапом будет окно с предложением начать установку.

Поокончании установки жмем «далее» и «завершить».Интерфейс wxMaximaДля удобства работы сразу обратимся к графическому интерфейсуwxMaxima, т.к. он является наиболее дружественным для начинающихпользователей системы.Достоинствами wxMaxima являются:• возможность графического вывода формулВывод формулы в xMaxima(текстовый режим)Вывод формулы в wxMaxima(графический режим)• упрощенный ввод наиболее часто используемых функций (черездиалоговые окна), а не набор команд, как в классической Maxima.• разделение окна ввода данных и области вывода результатов (вклассической Maxima эти области объединены, и ввод командпроисходит в единой рабочей области с полученными результатами).Рассмотрим рабочее окно программы.

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

Например, пункт меню Анализ/Интегрировать позволяетвычислить определенный или неопределенный интеграл:После ввода необходимых параметров, в рабочем окне мы увидим команду ирезультат вычисления:Ниже располагается графическое меню – наиболее часто используемыефункции для работы с файлами: открыть / сохранить / печать данных, а такжефункции правки – копировать / удалить / вставить текст и другие, затемрасположено окно вывода результатов расчетов, поле ввода команд и кнопкидоступа к часто используемым функциям расчетов (упрощение выражения,раскрытие скобок, построение графика функции(ий) и др.).При написании подпрограмм и длинных команд нажмите на кнопку(многострочный ввод), которая располагается слева от окна ввода команд.При использовании интерфейса wxMaxima, Вы можете выделить в окневывода результатов необходимую формулу и вызвав контекстное менюправой кнопкой мыши скопировать любую формулу в текстовом виде, вформате TEX или в виде графического изображения, для последующейвставки в какой-либо документ.Также в контекстном меню, при выборе результата вычисления, Вам будетпредложен ряд операций с выбранным выражением (например, упрощение,раскрытие скобок, интегрирование, дифференцирование и др.).Ввод простейших команд в wxMaximaВсе команды вводятся в поле ВВОД, разделителем команд является символ ;(точка с запятой).

После ввода команды необходимо нажать клавишу Enterдля ее обработки и вывода результата. В ранних версиях Maxima инекоторых ее оболочках (например, xMaxima) наличие точки с запятой послекаждой команды строго обязательно. Поэтому автор настоятельнорекомендует добавлять ; после каждой команды.В случае, когда выражение надо отобразить, а не вычислить, перед нимнеобходимо поставить знак ‘ (одинарная кавычка). Но этот метод неработает, когда выражение имеет явное значение, например, выражениеsin(π) заменяется на значение равное нулю.Обозначение команд и результатов вычисленийПосле ввода, каждой команде присваивается порядковый номер.

Наприведенном выше рисунке, введенные команды имеют номера 1-3 иобозначаются соответственно (%i1), (%i2), (%i3). Результат вычислениятакже имеет порядковый номер, например (%o1), (%o2) и т.д. Где “i” –сокращение от англ. input (ввод), а “o” – англ. output (вывод).Этот механизм позволяет избежать в последующих вычисления повторенияполной записи уже выполненных команды, например (%i1)+(%i2) будетозначать добавление к выражению первой команды – выражения второй ипоследующего вычисления результата. Также можно использовать и номерарезультатов вычислений, например (%o1)*(%o2).Для последней выполненной команды в Maxima есть специальноеобозначение — %.Пример: Вычислить значение производной функциив точке x=1.Используемые обозначения для ввода командВвод числовой информации.Правила ввода чисел в Maxima точно такие, как и для многих другихподобных программ.

Целая и дробная часть десятичных дробей разделяютсясимволом точка. Перед отрицательными числами ставится знак минус.Числитель и знаменатель обыкновенных дробей разделяется при помощисимвола / (прямой слэш).Обратите внимание, что если в результате выполнения операции получаетсянекоторое символьное выражение, а необходимо получить конкретноечисловое значение в виде десятичной дроби, то решить эту задачу позволитприменение оператора numer. В частности он позволяет перейти отобыкновенных дробей к десятичным.Арифметические операцииОбозначение арифметических операций в Maxima ничем не отличаетсяот классического представления: + , — , * , /. Возведение в степень можнообозначать несколькими способами: ^ , ^^ , **. Извлечение корня степени nзаписываем, как степень 1/n.

Введем еще одну полезную операцию нахождение факториала числа. Эта операция обозначается восклицательнымзнаком, например 5!.Для увеличения приоритета операции, как и в математике, используютсякруглые скобки: ().КонстантыВ Maxima для удобства вычислений есть ряд встроенных констант, самыераспространенные из них показаны в следующей таблице:Названиеслева (в отношении пределов)справа (в отношении пределов)+∞ (плюс бесконечность)-∞ (минус бесконечность)Комплексная бесконечностьπ (число Пи)e (экспонента)Обозначениеminusplusinfminfinfinity%pi%e%iМнимая единица ()ИстинаЛожьЗолотое сечение (1 + sqrt(5))/2truefalse%phiПеременныеДля хранения результатов промежуточных расчетов применяютсяпеременные.

Заметим, что при вводе названий переменных, функций иконстант важен регистр букв, так переменные x и X это две разныепеременные.Присваивание значения переменной осуществляется с использованиемсимвола: (двоеточие), например x:5.Если необходимо удалитьприменяется метод kill:значениепеременной(очиститьkill(x) – удалить значение переменной x;kill(all) – удалить значения всех используемых ранее переменных.ее),тоМатематические функцииВ Maxima имеется достаточно большой набор встроенных математическихфункций.

Интерфейс программы:
русский

Платформа:XP / 7 / Vista

Производитель:
Алексей Бешенов

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

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

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

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

Введение

Maxima — свободная система компьютерный алгебры (Computer algebra system — CAS), основанная на Common Lisp. В своих функциональных возможностях она едва уступает другим современным платным CAS, таким как Mathcad, Mathematica, Maple; может проводить аналитические (символьные) вычисления, численные расчеты, строить графики (при помощи gnuplot). Имеется возможность написания скриптов и даже трансляции их в код на Common Lisp с последующей компиляцией. В виду того, что maxima писалась из разрабатывалась программистами lisp, ее синтаксис может показаться несколько запутанным, поскольку язык является сразу и императивным и функциональным. Я попытаюсь разъяснить именно эти моменты и доступно изложить суть функционального подхода, и совсем не буду акцентировать внимания на конкретных математических функциях: их довольно легко освоить самостоятельно. В данной статье рассматривается именно особенности исчисления и синтаксических конструкций maxima.

Оболочки

Разумеется, вызывать интерпретатор maxima из консоли не очень удобно. Мы хотим смотреть на красивые формулы, которые отрендерены с помощью latex. Поэтому, для начинающих, я бы посоветовал поставить оболочку . Если вы увлекаетесь TeXmacs — можете настроить и его в качестве оболочки (если честно, я не пробовал). Ну и для любителей emacs есть imaxima , для работы в буфере. Ставится он буквально из коробки.

Знакомство

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

Атомы

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

Переменные

В системе различают свободные и означенные переменные. Означенные переменные — связанные переменные, переменные к которым приписано какое то значение. При интерпретации имя переменной заменяется на ее значение. Задать переменную можно с помощью знака «:». Свободные переменные не связаны не с каким значением и мы можем оперировать с ними абстрактно, например, складывать два символьных выражения.

Контекст вычисления

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


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

Блокировка вычислений


Попробуем сложить две переменные. А теперь поставим перед ними символ одинарной ковычки. Это оператор блокировки вычислений. Если мы поставим его перед именем переменной — в результате получим имя этой переменной, перед вызовом функции — символьное выражение вызова функции. Зачем? Иногда вам может потребоваться с помощью одной функции обработать выражение другой функции и на выходе получить функцию или число, например вычисление неопределенного интеграла. Другими словами вы имеете возможность представлять выражение как данные и манипулировать с ним. Однако если вы попробуете остановить вычисление суммы двух чисел, то вычисления не прекратятся. Это связано с тем, что оператор одинарной кавычки не останавливает простейшего упрощения выражения (простые операции над числами, сокращение дробей). Так же вычисления не остановятся, если вы попытаетесь посчитать значение функции рационального (float) аргумента.
И так, система Maxima не различает функции алгоритмические и функции математические, в ней они являются одним языковым элементом. В терминологии самого интерпретатора, операторы которые могут быть вычислены называются verb, те операторы, которые так остаются в невычесленом виде называются noun. Для инициирования вычисления всех noun необходимо в контексте вычислений выставить опцию nouns.

Вычисления

Мы узнали, что интерпретатор различает понятия символьного выражения и его вычисления. В каких случаях происходит вычисление? Самый очевидный случай — когда мы пытаемся посчитать какое то выражение (2+3, например). Ввели выражение — получили его значение. Посчитали функцию от аргумента — получили значение. Ввели имя переменной — получили ее значение. Мы узнали, что значением у переменной может быть как атом, так и символьное выражение. Когда еще происходит вычисление? Вычисление происходит при присваивание переменной значения. Значение стоящее справа от двоеточия вычисляется перед присвоением, поэтому при присвоении переменной символьного выражения мы ставим кавычку, что бы остановить это вычисление. Есть особенный вид присвоения (оператор два двоеточия), когда вычисляется как выражение справа, так и выражение слева. Так же перед вычислением функции вычисляются все ее аргументы.

Результатом вычисления переменной a слева оказывается переменная b.

Пример

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

Для начала разберемся что есть множества. По видимому, множества в Maxima основаны на другой структуре данных — односвязных списках. Что такое список понимают все. Они имеют три основные функции для работы с ними: получение элемента в голове списка (first), получение списка состоящего из исходного без первого элемента (rest), добавление нового элемента в начало (cons) и объединение двух списков (append). Аналогичные функции имеются и в любой реализации lisp, но чаще всего, называются немного по другому: car, cdr, cons, append соответственно.

Как вы обычно представляли себе алгоритм для решения такой задачи? Можно было бы представить подмножества в виде характеристического вектора и перебрать их все. Однако покажем именно функциональный подход. Нетрудно заметить, что каждый элемент входит ровно в половину подмножеств. Этого простого факта уже достаточно для того, что бы построить рекурсивный алгоритм. Выкинем один элемент a из множества A. Множество всех подмножеств A будет состоять из объединения множества всех подмножеств Aa и множества всех подмножества Aa, где к каждому элементу добавлено a. С помощью последнего утверждения можно сколько угодно рекурсивно понижать размерность задачи, сведя ее к тривиальному случаю. Для реализации нам необходима дополнительная функция от двух параметров (элемента и множества множеств), которая добавляла бы указанный элемент в каждое множество.

Обратим внимание, что объявление функции происходит почти как и в математике. Следует обратить внимание, что при определении правая часть после знака равно не вычисляется. (Для того что бы определить функцию так, что бы ее определение вычислялось необходимо использовать форму define). Здесь появляется новая вычислительная форма if. Она работает так же как и в императивных языках. При выполнении условия вычисляется выражение после then, при невыполнении — после else. Теперь запишем искомую функцию.

Попробуем что нибудь посчитать.

Конец

Ну вот и все. В следующей статье было бы неплохо описать реализацию наискорейшего градиентного спуска.

wxMaxima — это программа, которая представляет собой один из вариантов графического воплощения системы компьютерной алгебры Maxima. Эта система умеет работать с численными и символьными выражениями и при этом является совершенно бесплатной для использования, в том числе в коммерческих целях. Основная польза данного решения для рядовых пользователей заключается в том, что оно помогает в построении и решении математических формул и уравнений. Кроме того, wxMaxima выполняет ряд других полезных математических операций: интегрирование, дифференцирование, преобразование Лапласа, построение численных рядов и векторов, работу с матрицами и многое другое.

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

Ключевые особенности и функции

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

Тема
: Система команд, вычисления в Maxima
.

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

Ход урока:

    Организационное начало:

    Приветствие.

    Работа с дежурными.

    Повторительно-обучающее начало.

    Индивидуальная работа по карточкам.

Карточка №1.

    1. Понятие системы математический вычислений.

      Особенности системы математических вычислений.

Карточка №2.

    1. Понятие компьютерной алгебры.

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

    Устный индивидуальный опрос.

Понятие Maxima
. Особенности. Запуск программы.

Интерфейс программы Maxima
.

    Работа по осмыслению и усвоению нового материала.

    Объявление темы и цели урока.

    Изучение нового материала.

Ввод простейших команд в wxMaxima

После запуска wxMaxima появляется окно программы.

верхней графической части окна интерфейса Maxima рассказывает, что загружена версия 5.14.0, что она распространяется по лицензии GNU, с какого сайта доступна и кто её родитель. В нижнем окне в поле ВВОД: Maxima приготовилась воспринимать команды. Разделителем команд является символ; (точка с запятой). После ввода команды необходимо нажать клавишу Enter для ее обработки и вывода результата.

В ранних версиях Maxima и некоторых ее оболочках (например, xMaxima), и в консольной версии наличие точки с запятой после каждой команды строго обязательно. Поэтому настоятельно рекомендуем при использовании Максимы

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

например, выражение sin(π) Максима рассматривает как нуль и при наличии апострофа. Трудно предусмотреть многообразие возможных вариантов использования Максимы для расчета или преобразования выражений. В сложных случаях, можно попытаться получить справку на английском языке. Для вызова справки достаточно в поле ВВОД написать? и нажать Enter.

Обозначение команд и результатов вычислений

После ввода каждой команде присваивается порядковый номер. На приведенном ниже рисунке введенные команды имеют номера 1–3 и обозначаются соответственно (%i1), (%i2), (%i3). Результаты вычислений имеют соответственно порядковый номер (%o1), (%o2) и т.д. Где «i» – сокращение от англ. Input (ввод), а «o» – англ. Output (вывод)

Этот механизм позволяет при дальнейшей записи команд сослаться на ранее записанные, например (%i1)+(%i2) будет означать добавление к выражению первой команды выражения второй с последующим вычислением результата. Также можно использовать и номера результатов вычислений, например, таким образом (%o1)*(%o2).

Для последней выполненной команды в Maxima есть специальное обозначение – %.

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

в точке х=1.

Команда (%i9) была выполнена, и был получен результат (%о9). Поэтому следующая команда (%i10) сослалась на уже полученный результат, но уточнила значение переменной х, поэтому команда получала вид (%i10) (%о9), х=1.

Ввод числовой информации

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

Числитель и знаменатель обыкновенных дробей разделяется при помощи символа / (прямой слэш).

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

Здесь Maxima прежде всего действовала по умолчанию. Она сложила дроби 3/7 и 5/3 по правилам арифметики точно: нашла общий знаменатель, привела дроби к общему знаменателю и сложила числители. В итоге она получила

44/21. Лишь после того, как мы попросили её получить численный ответ, она вывела приближенный, с точностью 16 знаков численный ответ 2,095238095238095.

Константы

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

Арифметические операции

Обозначения арифметических операций в Maxima
ничем не отличаются от классического представления, используются математические знаки: + – * /.

Возведение в степень можно обозначать тремя способами: ^ , ^^ , **. Извлечение корня степени n
записывают, как степень ^^(1/n
). Напомним еще одну встроенную в Maxima
полезную операцию –нахождение факториала числа. Эта операция обозначается восклицательным

Например, 6!=1⋅
2⋅
3⋅
4⋅
5⋅
6=120.

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

Переменные

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

Присваивание значения переменной осуществляется с использованием символа: (двоеточие), например x
: 5;.

Если необходимо удалить значение переменной (очистить ее), то применяется метод kill
:

kill
(x
) – удалить значение переменной x
;

kill
(all
) – удалить значения всех используемых ранее переменных.

И кроме того, метод kill
начинает новую нумерацию для исполняемых команд (обратите внимание, что ответом на команду (%i
3), приведенную выше, оказался ответ с номером ноль (%o
0) done
, и далее нумерация команд продолжилась с единицы).

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

В Maxima
имеется достаточно большой набор встроенных математических функций. Вот некоторые из них (табл.2). Следует иметь ввиду, что некоторые названия функций отличаются от названий, используемых в отечественной литературе: Вместо tg
– tan
, вместо ctg
– cot
, вместо arcsin
– asin
, вместо arcos
– acos
, вместо arctg
– atan
, вместо arcctg
– acot
, вместо ln
– log
, вместо cosec
– csc
.

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

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

integrate(sin(x),x,-5,5); plot2d(,,);

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

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

Перевод сложных выражений в линейную форму записи

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

Для облегчения данного процесса нелишне дать несколько рекомендаций:

1. Не забывайте ставить знак умножения! В графическом окне Maxima
по правилам математики удвоенное значение переменной х записывает в виде 2x
, но в окне ВВОД: команда для Maxima
должна выглядеть как 2*x
.

2. В случае сомнения всегда лучше поставить «лишние», дополнительные скобки (). Числитель и знаменатель выражения всегда необходимо заключать в скобки.

А также при возведении в степень основание и степень лучше всегда брать в скобки.

3. Функция не существует отдельно от своих аргументов (если таковые имеются). Поэтому, например, при возведении в степень можно взять всю функцию с аргументами в скобки, а потом уже возводить полученную конструкцию в нужную степень: (sin
(x
))**2.

Также помните, что несколько аргументов функции записываются в скобках, через запятую, например, min(x1,x2,x3,xN);

5. Недопустима запись функции sin(2*x) в виде sin*2*x или sin2x.

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

Пример: необходимо ввести следующее выражение:

Разделим это выражение на три составные части: числитель, выражение в скобках и степень. Запишем каждую составную часть и объединим их в выражение.

Maxima упростит выражение

rat(выражение). преобразовывает рациональное выражение к канонической форме. То

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

    Задание на дом:

Стахин Н.А, с 10-18, опорный конспект.

    Итог урока.

Для чего предназначена программа 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. Реализация метода сеток для дифференциальных уравнений в частныхпроизводных
  • Задания для самостоятельного решения
  • Литература

Предисловие

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

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

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

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

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

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

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

Кроме того, появляются бесплатные аналоги систем компьютерной математики, например, 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *