Иллюстрированный самоучитель по Maple 6/7

Графическое представление решений дифференциальных уравнений

Функция DEplot из пакета DEtools

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

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

DEplot(deqns, vars .trange .eqns)

DEplot(deqns, vans, trange .inits .eqns)

DEplot(deqns .vars .trange, уrange, xrgnge, eqns).

DEplot(deqns .vars, trange. Inits, xrange .yrange, eqns)

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

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

По умолчанию реализуется метод Рунге-Кутта 4-го порядка, что соответствует опции methodiclassical[rk4]. С функцией DEplot могут использоваться следующие параметры:

  • arrows = type – тип стрелки векторного поля ('SMALL', 'MEDIUM', 'LARGE', 'LINE' или 'NONE');
  • colour, color = arrowcolour – цвет стрелок (задается 7 способами);
  • dirgrid = [integer,integer] – число линий сетки (по умолчанию [20, 20]);
  • iterations = integer – количество итераций, представленное целым числом;
  • linесоlor, linecolor = lineinfo – цвет линии (задается 5 способами);
  • method='rk4' – задает метод решения ('euler', 'backeuler', 'impeuler' или 'rk4');
  • obsrange = TRUE.FALSE – задает (при TRUE) прерывание вычислений, если кривая решения выходит из области обзора;
  • scene = [name.name] – задает имена зависимых переменных, для которых строится график;
  • stepsize = h – шаг решения, по умолчанию равный abs((b-a))/20 и представленный вещественным значением.

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

x'(t)=x(t)(1-y(t)

y'(t)= 0.3y(t)(x(t)-1),

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

Иллюстрированный самоучитель по Maple 6/7 › Решение дифференциальных уравнений › Графическое представление решений дифференциальных уравнений
Рис. 13.8. Решение системы дифференциальных уравнений Лотки-Вольтерра, с выводом в виде графика векторного поля

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.