Еще одна из моделей динамики популяций, известна как модель Лотки-Вольтера, описывает изменение популяции в биологической среде хищник-жертва. Эта модель позволяет описать периодическое колебательное изменение числа жертв и поедающих их хищников. На рис. 7.14 показано решение системы дифференциальных уравнений Лотки-Вольтера:
x'(t) = x(t)(1 - y(t)),
x'(t) = 0,3y(y)(x(t) - 1).
Рис. 7.14. Решение системы дифференциальных уравнений модели Лотки-Вольтерра с выводом в виде графика векторного поля
Решение представлено в виде векторного поля, стрелки которого являются касательными к кривым решения (сами эти кривые не строятся). Обратите внимание на функциональную закраску стрелок векторного поля, делающую решение особенно наглядным (правда, лишь на экране цветного дисплея, а не на страницах книги).
Еще интересней вариант графиков, представленный на рис. 7.15. Здесь помимо векторного поля несколько иного стиля построены фазовые портреты решения с использованием функциональной закраски их линий. Фазовые портреты построены для двух наборов начальных условий: x(0)=y(0)=1,2 и y(0)=1 и y ( 0)=0,9.
Рис. 7.15. Пример построения двух фазовых портретов на фоне векторного поля
Читатель может легко дополнить этот пример выводом графиков временных зависимостей числа хищников и жертв и убедиться в том, что они действительно носят колебательный характер. При этом отличие фазовых портретов от эллиптической формы говорит о том, что форма колебаний заметно отличается от синусоидальной.
Следует отметить, что функция DEplot может обращаться к другим функциям пакета SEtools для обеспечения специальных графических возможностей, таких как построение векторного поля или фазового портрета решения. В файле deplot.mws можно найти множество дополнительных примеров на применение функции Deplot.
7.5.4. Функция DEplot3d из пакета DEtools
В ряде случаев решение систем дифференциальных уравнений удобно представлять в виде пространственных кривых — например, линий равного уровня, или просто в виде кривых в пространстве. Для этого служит функция DEplot3d:
DEplot3d(deqns, vars, trange, initset, o)
DEplot3d(deqns, vars, trange, yrange, xrange, initset, o)
Назначение параметров этой функции аналогично указанному для функции DEplot.
Рис. 7.16 поясняет применение функции DEPlot3d для решения системы из двух дифференциальных уравнений с выводом фазового портрета колебаний в виде параметрически заданной зависимости x(t), y(t). В данном случае фазовый портрет строится на плоскости по типу построения графиков линий равной высоты (контурных графиков).
Рис. 7.16. Пример решения системы из двух дифференциальных уравнений с помощью функции DEplot3d
Другой пример (рис. 7.17) показывает решение системы из двух дифференциальных уравнений с построением объемного фазового портрета. В этом случае используется трехмерная координатная система и графические построения соответствуют параметрическим зависимостям x(t), y(t) и z(t). Вид фазового портрета напоминает разворачивающуюся в пространстве объемную спираль. Функциональная окраска делает график пикантным, что, увы, теряется при черно-белом воспроизведении графика.
Рис. 7.17. Пример решения системы из двух дифференциальных уравнений с построением трехмерного фазового портрета
Возможности функции DEplot3d позволяют решать системы, состоящие более чем из двух дифференциальных уравнений. Однако в этом случае число решений, представляемых графически, выходит за пределы возможного для трехмерной графики. При этом от пользователя зависит, какие из зависимостей опускаются при построении, а какие строятся. В файле deplot3d.mws есть ряд дополнительных примеров на применение функции Deplot3d.
7.5.5. Графическая функция dfieldplot
Графическая функция dfieldplot служит для построения поля направления с помощью векторов по результатам решения дифференциальных уравнений. Фактически эта функция как бы входит в функцию DEplot и при необходимости вызывается последней. Но она может использоваться и самостоятельно, что демонстрирует рис. 7.18, на котором показан пример решения следующей системы дифференциальных уравнений: x'(t)=x(t)(1-у(t)), у'(t)=0,3у(t)(х(t)-1).
Читать дальше
Конец ознакомительного отрывка
Купить книгу