Моделирование реальных процессов в пакете расширений «dynamics» системы Maxima
Моделирование реальных процессов в пакете расширений «dynamics» системы Maxima
CAS были созданы в 70-ые годы и развивались в рамках проектов, связанных с искусственным интеллектом. Поэтому сфера применения их достаточно большая и разнообразная. Первыми популярными системами были Reduce, Derive, Macsyma. Некоторые из них до сих пор находятся в продаже. Свободно распространяемая версия Macsyma — Maxima. На данный момент лидерами продаж являются Maple и Mathematica. Оба этих пакета активно используются в математических, инженерных и других научных исследованиях. Существует множество коммерческих систем компьютерной алгебры: Maple, Mathematica, MathCad и другие. Свободно распространяемые программы: Axiom, Eigenmath, Maxima, Yacas и др.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
4. Модель динамики популяций………………………………….......…………12
5. Движение твердого тела…………………………...…………………………17
6. Аттрактор Лоренца……………………………………………………………18
Заключение…………………………………………………………………….…22
Список использованных источников…………………………………………...23
Введение
CAS были созданы в 70-ые годы и развивались в рамках проектов, связанных с искусственным интеллектом. Поэтому сфера применения их достаточно большая и разнообразная. Первыми популярными системами были Reduce, Derive, Macsyma. Некоторые из них до сих пор находятся в продаже. Свободно распространяемая версия Macsyma — Maxima. На данный момент лидерами продаж являются Maple и Mathematica. Оба этих пакета активно используются в математических, инженерных и других научных исследованиях. Существует множество коммерческих систем компьютерной алгебры: Maple, Mathematica, MathCad и другие. Свободно распространяемые программы: Axiom, Eigenmath, Maxima, Yacas и др.
Успех в современном использовании САВ лежит в интеграции всех машинных возможностей (символьный и численный интерфейс, встроенная графика, мультипликация, базы и банки данных и т. д.). Все современные коммерческие системы компьютерной математики (Mathematica, Maple, MatLab и Reduce) обладают стандартным набором возможностей:
имеется входной макроязык для общения пользователя с системой, включающий специализированный набор функций для решения математических задач;
имеются основные символьные (математические) объекты: полиномы, ряды, рациональные функции, выражения общего вида, векторы, матрицы;
системы используют целые, рациональные, вещественные, комплексные числа;
имеется несколько дополняющих друг друга режимов работы: редактирование, диагностика, диалог, протокол работы;
присутствует связь со средствами разработки программ: возможны подстановки, вычисления значений, генерация программ, использование стандартного математического обеспечения (библиотек);
используются интерфейсы для связи с офисными средствами, базами данных, графическими программными средствами и т.п.
Области математики, поддерживаемые в Maxima
Операции с полиномами (манипуляция рациональными и степенными выражениями, вычисление корней и т.п.)
Вычисления с элементарными функциями, в том числе с логарифмами, экспоненциальными функциями, тригонометрическими функциями
Вычисления со специальными функциями, в т.ч. эллиптическими функциями и интегралами
Вычисление пределов и производных
Аналитическое вычисление определённых и неопределённых интегралов
Решение интегральных уравнений
Решение алгебраических уравнений и их систем
Операции со степенными рядами и рядами Фурье
Операции с матрицами и списками, большая библиотека функций для решения задач линейной алгебры
Операции с тензорами
Теория чисел, теория групп, абстрактная алгебра
Перечень дополнительных пакетов для Maxima, которые необходимо загружать перед использованием, существенно расширяющих её возможности и круг решаемых задач, приведён в приложении 1.
Достоинства программы
Основными преимуществами программы Maxima являются:
возможность свободного использования (Maxima относится к классу свободных программ и распространяется на основе лицензии GNU);
возможность функционирования под управлением различных ОС (в частности Linux и Windows™ );
размер программы (дистрибутив занимает порядка 23 мегабайт, в установленном виде со всеми расширениями потребуется около 80 мегабайт);
широкий класс решаемых задач;
возможность работы как в консольной версии программы, так и с использованием одного из графических интерфейсов (xMaxima, wxMaxima или как плагин (plug-in) к редактору TexMacs);
расширение wxMaxima (входящее в комплект поставки) предоставляет пользователю удобный и понятный интерфейс, избавляет от необходимости изучать особенности ввода команд для решения типовых задач;
интерфейс программы на русском языке;
наличие справки и инструкций по работе с программой (русскоязычной версии справки нет, но в сети Интернет присутствует большое количество статей с примерами использования Maxima);
Численные методы решения ОДУ
Однако в ряде случаев отыскать символьное решение ОДУ в достаточно компактном виде невозможно. В этом случае целесообразно использовать численные методы. Maxima включает пакет расширения dynamics, позволяющий проинтегрировать систему ОДУ методом Рунге-Кутта.
Начиная с версии 5.12, Maxima включает пакет dynamics (его необходимо загружать перед использованием). Помимо метода Рунге- Кутта, пакет dynamics включает ряд функций для построения различных фракталов.
Метод Рунге-Кутта реализует функция . Синтаксис вызова её вызова: , где — список правых частей уравнений; — список зависимых переменных; — список начальных значений; — список , содержащий символьное обозначение независимой переменной , её начальное значение , конечное значение , шаг интегрирования .
Пример:
Решить ОДУ
при .
Используем пакет dynamics.
(%i1) load(''dynamics'')$
Выбираем шаг интегрирования 0,02.
(%i2) sol:rk([4*x^2-4*y^2,y^2-x^2+1],[x,y],
[-1.25,0.75],[t,0,4,0.02]);
В результате решения получаем список значений в формате [[ ]].
(%i1) load("dynamics")$
(%i2) rp1:4*x^2-4*y^2;
(%i3) rp2:y^2-x^2+1;
Рис. 1. Пример графического решения системы ОДУ численным методом
Список не выводим на экран (он достаточно длинный, поэтому завершаем ввод команды символом $).
Для построения графика решения преобразуем полученный список, построив отдельно список значений (список в примере), (список ), (список ). При построении графика используем опцию .
Данная система достаточно трудно решается при помощи функции . Увеличение констант до и делает задачу практически неразрешимой средствами пакета dynamics.
Простейшим классическим примером существования автоколебаний в системе химических реакций является тримолекулярная модель "Брюсселятор", предложенная в Брюсселе Пригожиным и Лефевром (1965). Основной целью при изучении этой модели было установление качественных типов поведения, совместимых с фундаментальными законами химической и биологической кинетики. В этом смысле брюсселятор играет роль базовой модели, такую же как гармонический осциллятор в физике, или модели Вольтерра в динамике популяций.
Рис. 2. Изменение концентраций при моделировании автоколебательной химической реакции (брюсселятора)
Здесь брюсселятор рассматривается как пример автоколебательной системы.
Описание модели брюсселятора в Maxima приведено в следующем командном файле:
Графическая иллюстрация (автоколебательный режим в системе) — на рис.67., а фазовые портреты — на рис. 3. и рис. 4.
Рис. 3. Фазовый портрет для брюсселятора (В=0.5)
Рис. 4. Фазовый портрет для брюсселятора (В=2.5)
При проведении расчётов следует обратить внимание на жёсткость системы ОДУ, описывающей брюсселятор, в частности, при для построения приведённой иллюстрации необходимо было уменьшить шаг по времени до 0.002. При очередном запуске командного файла, содержащего команды загрузки пакетов, рекомендуется перезапустить Maxima.
Фазовые портреты динамических систем
Для изучения динамических систем центральным моментом является анализ фазовых портретов, т. е. решений, получающихся при выборе всевозможных начальных условий.
Решение ОДУ часто удобнее изображать не в виде графика , а в фазовом пространстве, по каждой из осей которого откладываются значения каждой из найденных функций. При таком построении графика аргумент будет присутствовать на нем лишь параметрически.
Как правило, решение задач Коши для ОДУ и их систем — задача хорошо разработанная и с вычислительной точки зрения довольно простая. На практике чаще встречаются другие, более сложные задачи, в частности, исследование поведения динамической системы в зависимости от начальных условий. При этом в большинстве случаев бывает необходимым изучить только асимптотическое решение ОДУ, т.е. , называемое аттрактором. Очень наглядным образом можно визуализировать такую информацию на фазовой плоскости, во многом благодаря тому, что существует всего несколько типов аттракторов, и для них можно построить четкую классификацию.
С одной стороны, каждое решение будет выходить из точки, координаты которой являются начальными условиями, но, оказывается, для большинства ОДУ целые семейства траекторий будут заканчиваться в одних и тех же аттракторах (стационарных точках или предельных циклах). Множество решений, вычисленное для всевозможных начальных условий, образует фазовый портрет динамической системы. С вычислительной точки зрения задача исследования фазового портрета часто сводится к обычному сканированию семейств решений ОДУ при разных начальных условиях.
Дальнейшее усложнение задач анализа фазовых портретов связано с их зависимостью от параметров, входящих в систему ОДУ. В частности, при плавном изменении параметра модели может меняться расположение аттракторов на фазовой плоскости, а также могут возникать новые аттракторы и прекращать свое существование старые. В первом случае, при отсутствии особенностей, будет происходить простое перемещение аттракторов по фазовой плоскости (без изменения их типов и количества), а во втором — фазовый портрет динамической системы будет коренным образом перестраиваться. Критическое сочетание параметров, при которых фазовый портрет системы качественно меняется, называется в теории динамических систем точкой бифуркации.
Рассмотрим несколько наиболее известных классических примеров динамических систем, имея в виду. Это модели динамики популяций (Лотка-Вольтерры), генератора автоколебаний (Ван дер Поля), турбулентной конвекции (Лоренца) и химической реакции с диффузией (Пригожина). Для изучения динамических систем разработана специальная теория, центральным моментом которой является анализ фазовых портретов, т. е. решений, получающихся при выборе всевозможных начальных условий.
Модель динамики популяций
Модель взаимодействия "хищник—жертва" независимо предложили в 1925–1927 гг. Лотка и Вольтерра. Два дифференциальных уравнения моделируют временную динамику численности двух биологических популяций жертв и хищников . Предполагается, что жертвы размножаются с постоянной скоростью, а их численность убывает вследствие поедания хищниками. Хищники же размножаются со скоростью, пропорциональной количеству пищи, и умирают естественным образом.
Модель была создана для биологических систем, но с определенными корректурами применима к конкуренции фирм, строительству финансовых пирамид, росту народонаселения, экологической проблематике и др.
Эта модель Вольтерра-Лотка с логистической поправкой описывается системой уравнений
с условиями заданной численности "жертв" и "хищников" в начальный момент .
Решая эту задачу при различных значениях, получаем различные фазовые портреты (обычный колебательный процесс и постепенная гибель популяций). Результаты приведены на рис. 5, рис. 6 и рис. 7.
(%i1) a:4$ b:2.5$ c:2$ d:1$ alpha=0$
eq1:'diff(y(t),t)=(a-b*z(t))*y(t)-alpha*y(t)^2;
eq2:'diff(z(t),t)=(-c+d*y(t))*z(t)-alpha*y(t)^2;
atvalue(y(t),t=0,3); atvalue(z(t),t=0,1);
(%i10) desolve([eq1,eq2],[y(t),z(t)]);
rat: replaced -2.5 by -5/2 = -2.5
rat: replaced -2.5 by -5/2 = -2.5
rat: replaced -2.5 by -5/2 = -2.5
rat: replaced 2.5 by 5/2 = 2.5
Очевидная проблема — неразрешимость данной системы в явном виде методом преобразования Лапласа, т.к. она нелинейна.
Используем численный метод Рунге-Кутта из пакета dynamics.
Результаты решения для значений и представлены на рис.6 и рис. 7.
Рис. 5. Фазовый портрет для системы Лотка-Вольтерра
Рис. 6. Решения системы Лотка-Вольтерра в зависимости от времени (a = 0)
Рис. 7. Решения системы Лотка-Вольтерра в зависимости от времени (a = 0, 1)
Рассмотрим командный файл для задачи моделирования системы Лотка-Вольтерра в Maxima:
Дифференциальные уравнения формируются символьными выражениями, определяющими правые части. Порядок следования выражений для расчёта правых частей ОДУ в первом списке функции должен соответствовать друг другу. Следует обратить внимание, что результат выполнения функции — двухуровневый список (каждый элемент списков и — также список, содержащий значение независимой переменной, и соответствующие значения искомых функций), поэтому оп преобразуется в векторы, используемые для построения графических иллюстраций.
Движение твердого тела
Рассмотрим пример построения трехмерного фазового портрета. Находим решение задачи Эйлера свободного движения твердого тела:
Фазовый портрет для данной динамической системы (трехмерная кривая) представлен на рис. 8.
Рис. 8. Фазовый портрет трехмерной динамической системы
Аттрактор Лоренца
Одна из самых знаменитых динамических систем предложена в 1963 г. Лоренцем в качестве упрощенной модели конвективных турбулентных движений жидкости в нагреваемом сосуде тороидальной формы. Система состоит из трех ОДУ и имеет три параметра модели. Задаём правые части уравнений модели Лоренца:
(%i2) eq: [s*(y-x), x*(r-z) -y, x*y - b*z];
Задаём временные параметры решения
(%i3) t_range: [t,0,50,0.05];
Задаём параметры системы
(%i4) s: 10.0; r: 28.0; b: 2.6667;
Задаём начальные значения
(%i7) init: [1.0,0,0];
Выполняем решение
(%i8) sol: rk(eq, [x,y,z],init,t_range)$
(%i9) len:length(sol);
Выделяем компоненты решения и строим графические иллюстрации:
(%i10) t:makelist(sol[k][1],k,1,len)$
x:makelist(sol[k][2],k,1,len)$
y:makelist(sol[k][3],k,1,len)$
z:makelist(sol[k][4],k,1,len)$
plot2d([discrete,t,x])$ plot2d([discrete,t,y])$
Результаты решения (хаотические колебания ) представлен на рис. 9 и рис. 10 (фазовый портрет системы). На рисунках объединены в одних осях кривые .
Рис. 9. Пример формирования динамического хаоса (аттрактор Лоренца)
Рис. 10. Трехмерный фазовый портрет (аттрактор Лоренца)
Решением системы Лоренца при определенном сочетании параметров является странный аттрактор (или аттрактор Лоренца) — притягивающее множество траекторий на фазовом пространстве, которое по виду идентично случайному процессу. В некотором смысле аттрактор Лоренца является стохастическими автоколебаниями, которые поддерживаются в динамической системе за счет внешнего источника.
Решение в виде странного аттрактора появляется только при некоторых сочетаниях параметров. Перестройка типа фазового портрета происходит в области промежуточных значениях параметра r. Критическое сочетание параметров, при которых фазовый портрет системы качественно меняется, называется в теории динамических систем точкой бифуркации. Физический смысл бифуркации в модели Лоренца, согласно современным представлениям, описывает переход ламинарного движения жидкости к турбулентному.
Заключение
Наука о фракталах очень молода, потому что они стали появляться с развитием компьютерных технологий. Поэтому многое еще не изучено и многое еще предстоит открыть. Основная причина применения фракталов в различных науках заключается в том, что они описывают реальный мир иногда даже лучше, чем традиционная физика или математика. Фракталы можно применять не только в точных науках, но и практически во всем, что нас окружает: одежда, элемент декора интерьера, дизайн открыток, штор и многого другого. Кроме большой функциональности, возможности применения фракталов в самых различных сферах жизни, это очень яркие, сочные, изумительные по своей красоте изображения, которые доставляют огромное эстетическое удовольствие, позволяют насладиться ими. Создавать свои собственные фракталы может каждый, используя доступные графические программы. От самого процесса создания совершенно для нас нового и одновременно невероятно красивого, порой фантастического, получаешь массу удовольствия. Фракталы очень разнообразны, как и их применение. Изучая фрактальные модели для практического применения, каждый сможет выбрать подходящее для себя направление.
Список использованных источников:
1 Компьютерная математика с Maxima - http://www.intuit.ru/studies/curriculums/17584/courses/726/info
2 Документация по текущей версии пакета - http://maxima. sourceforge.net/docs/manual/en/maxima.html
3 В. А. Ильина, П. К. Силаев Система аналитических вычислений Maxima для физиков-теоретиков. М.:МГУ им. М. В. Ломоносова, 2007. — 113 с. http://tex.bog.msu.ru/numtask/max07.ps
4 Статьи Тихона Тарнавского - http://maxima.sourceforge.net/ru/maxima-tarnavsky-1.html
5 Методическое пособие по изучению математического пакета Maxima. Математический практикум с применением пакета Maxima. http://www.pmtf.msiu.ru/chair31/students/spichkov/maxima2.pdf
6 Стахин Н. А. Основы работы с системой аналитических (сим- вольных) вычислений MAXIMA (ПО для решения задач аналитических (символьных) вычислений). Москва: Федеральное агентство по образованию, 2008 — 86 с.
7 Книги по Maxima (электронное руководство) http://maxima.sourceforge.net/ru/documentation.html
8 Gilberto E. Urroz http://www.neng.usu.edu/cee/faculty/gurro/Maxima.html
9 Аладьев В. З. Системы компьютерной алгебры: Maple: искусство программирования М.: Лаборатория базовых знаний, 2006. — 792 с.
10 Васильев А. Н. Mathcad 13 на примерах СПб.: БХВ-Петербург, 2006. — 528 с.
11 Воробъев Е. М.Введение в систему символьных, графических и численных вычислений Mathematica 5 М.: ДИАЛОГ-МИФИ, 2005. — 368 с.
12 Цибулин В. Г., Говорухин В. Н. Введение в Maple. Математический пакет для всех М.: Мир, 1997. — 208 с
13 Гурский Вычисления в MathCAD Мн.: Новое знание, 2003. — 814 с.
14 Гурский Д. А., Турбина Е. Mathcad для студентов и школьников. Популярный самоучитель СПб.: Питер, 2005. — 400 с.
15 Дьяконов В. П. Maple 9 в математике, физике и образовании М.: СОЛОН-Пресс, 2004. — 688 с.
16 Дьяконов В. П. Справочник по MATHCAD PLUS 7.0. PRO М.: СК Пресс, 1998. — 352 с.
17 Очков В. Ф. Mathcad 12 для студентов и инженеров СПб.: БХВ-Петербург, 2005. — 464 с.
18 Советов Б. Я., Яковлев С. А. Моделирование систем М.:Высш.шк. — 2001. — 343 с
19 Морозов В. К., Рогачёв Г. Н. Моделирование информационных и динамических систем М.: ИЦ «Академия», 2011. — 384 с.