Графика в системе Maple V

Доклад - Компьютеры, программирование

Другие доклады по предмету Компьютеры, программирование

?равнениями служит инструментальный пакет DEtools. В него входит ряд функций для построения наиболее сложных и изысканных графиков решения дифференциальных уравнений. Основной из этих функций является функция DEplot.


Рис. 13.49. Представление решения системы дифференциальных уравнений в виде фазового портрета.

Функция DEplot может записываться в нескольких формах:

DEplot(deqns, vars, trange, eqns) DEplot(deqns, vars, trange, inits, eqns) DEplot(deqns, vars, trange, yrange, xrange, eqns) DEplot(deqns, vars, trange, inits, xrange, yrange, eqns)

Здесь: deqns лист (множество) с системой дифференциальных уравнении первого порядка или одиночное уравнение любого порядка, vars зависимая переменная (лист) либо множество зависимых переменных, trange область изменения независимой переменной t, inits начальные условия для решения, yrange область изменения для первой зависимой переменной, xrange область изменения для второй зависимой переменной, eqns опция, записываемая в виде keyword=value. Замена имен переменных другими в данном случае не допустима.

Эта функция обеспечивает численное решение дифференциальных уравнений или их систем при одной независимой переменной t и строит графики решения. Для автономных систем эти графики строятся в виде векторного поля направлений, а для неавтономных систем только в виде кривых решения. По умолчанию реализуется метод Рунге-Кутта 4-го порядка, что соответствует опции method=classi-cal[rk4]. Возможна спецификация и других методов (см. главу 10). В каталоге EXAMPLE системы Maple V R4 можно найти файл deplot.mws с многочисленными примерами применения функции DEplot.

С функцией DEplot могут использоваться следующие опции о:

arrows = type тип стрелки векторного поля (SMALL,

MEDIUM, LARGE, LINE или NONE);

colour, color = arrowcolour цвет стрелок (задается 7 способами);

dirgrid = [integer,integer] число линий сетки (о умолчанию 20(20);

iterations = integer количество итераций, представленное целым

числом;

linecolour, linecolor = line_info цвет линии (задается 5 способами);

method=rk4 задает метод решени euler, backeuler,

impeuler и rk4;

obsrange = TRUE,FALSE задает (при TRUE) прерывание вычислений,

если кривая решения выходит из области обзора;

scene = [name,name] задает имена зависимых переменных, для

которых строится график;

stepsize = h шаг решения, по умолчанию равный

abs((b-a))/20, и представленный вещественным

значением.

На рис. 13.50 показано решение системы дифференциальных уравнений

х- (t)=x(t)*(l-y(t)) у (t)=0,3*y(t)*(x(t)-l),

описывающих модель Лотка-Вольтерра при заданных в документе изменениях t, x(t) и y(t). Решение представлено в виде векторного поля, стрелки которого становятся касательными к кривым решения. Обратите внимание на функциональную закраску стрелок векторного поля.


Рис. 13.50. Решение системы дифференциальных уравнении Лотка-Вольтерра с выводом в виде графика векторного поля.

Еще интересней вариант графиков, представленный на рис. 13.51. Здесь помимо векторного поля построены фазовые портреты решения с использованием функциональной закраски их линий. Фазовые портреты построены для двух наборов начальных условий: х(0)= у(0)=1.2 и х(0)=1 и у(0)=0.7.

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


Рис. 13.51. Пример построения двух фазовых портретов на фоне векторного поля.

13.8.3. Функция DEplot3d из пакета DEtools

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

DEplot3d(deqns, vars, trange, initset, о) DEplot3d(deqns, vars, trange, yrange, xrange, initset, o)

Назначение параметров и опций этой функции аналогично указанному для функции DEplot.

Рис. 13.52 поясняет применение функции DEplot3d для решения системы из двух дифференциальных уравнений с выводом фазового портрета колебаний в виде параметрически заданной зависимости x(t), y(t). В данном случае фазовый портрет строится на плоскости по типу построения графиков линий равной высоты.

Другой пример (рис. 13.53) показывает решение системы из двух дифференциальных уравнений с построением объемного фазового портрета. В этом случае используется координатная система ЗD-гpaфики и графические построения соответствуют параметрическим зависимостям x(t), y(t) и z(t). Вид фазового портрета напоминает разворачивающуюся в пространстве объемную спираль. Функциональная окраска ее делает график эффектным, что, увы, теряется при черно-белом воспроизведении графика.


Рис. 13.52. Пример решения системы из двух дифференциальных уравнении с помощью функции DEplot3d.


Рис. 13.53. Пример решения системы из двух дифференциальных уравнении с построением трехмерного фазового портрета.

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

стен опускаются при построении, а какие строятся. Так, на рис. 13.54 в пространстве построены две кривые решения.


Рис. 13.54. Решение системы из четырех дифференциальных уравнении.

Нередко таким образом можно вывести на построение и иные зависимости. Однако их число обычно приходится ограничивать из-за потери наглядности графика при большом чис?/p>