25620-1 (751112), страница 7
Текст из файла (страница 7)
Рис. 13.48. Пример решения системы из двух дифференциальных уравнении
В этом примере решается система:
y'(x)=z(x) z'(x)=3*sin(y(x))
при начальных условиях у(0)=0, z(0)=l и х, меняющемся от -4 до 4 при числе точек решения, равном 25.
Иногда решение системы из двух дифференциальных уравнений (или одного дифференциального уравнения второго порядка) представляется в виде фазового портрета — при этом по осям графика откладываются значения у(х) и z(x) при изменении х в определенных пределах. Рис. 13.49 представляет построение фазового портрета для системы, представленной выше.
Обычное решение, как правило, более наглядно, чем фазовый портрет решения. Однако для специалистов (например, в теории колебаний) фазовый портрет порою дает больше информации, чем обычное решение. Он более трудоемок при построениях, поэтому возможность Maple V быстро строить фазовые портреты трудно переоценить.
13.8.2. Функция DEplot из пакета DEtools
Специально для решения и визуализации решений дифференциальных уравнений и систем с дифференциальными уравнениями служит инструментальный пакет 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. Решение системы из четырех дифференциальных уравнении.
Нередко таким образом можно вывести на построение и иные зависимости. Однако их число обычно приходится ограничивать из-за потери наглядности графика при большом числе линий.
13.8.4. Функция PDEplot пакета DEtools
Еще одна функция пакета DEtools — DEtools[PDEplot] служит для построения графиков решения систем с квазилинейными дифференциальными уравнениями первого порядка в частных производных:
Р(х,у,и) * D[l](u)(x,y) + Q(x,y,u) * D[2](u)(x,y) = R(x,y u),
так что
P их + Q uy = R,
где P, Q и R зависят только от х, у и и(х,у), при этом dx/dt = P, dy/dt = Q, du/dt = R.
Эта функция используется в следующем виде:
PDEplot(pdiffeq, var, Lcurve, srange, о) PDEplot(pdiffeq, var, i_cLirve, srange, xrange, yrange, urange, o)
Здесь, помимо отмеченных ранее параметров, pdiffeq — квазилинейные дифференциальные уравнения первого порядка (PDE), vars — независимая переменная и Lcurve — начальные условия для параметрических кривых ЗО-поверхности. Помимо опций, указанных для функции DEplot, здесь могут использоваться следующие опции:
basechar = TRUE,FALSE,ONLY — устанавливает показ базовых характеристик кривых;
basecolour, basecolor = b_colour — устанавливает цвет базовых характеристик;
initcolour, initcolor = Lcolour — инициализация цветов;
numchar = integer — задает число отрезков кривых, которое не
должно быть меньше 4 (по умолчанию 20);
numsteps = [integerl,integer2] — задает число шагов интегрирования
(по умолчанию [10,10]).
Рис. 13.55 показывает применение функции PDEplot. Этот пример, взятый из справочной системы Maple V R4, показывает, насколько необычным может быть решение даже простой системы дифференциальных уравнений в частных производных.
Рис. 13.55. Пример применения функции PDEplot.
В данном случае решение представлено трехмерной фигурой весьма нерегулярного вида.
Другой пример использования функции PDEplot показан на рис. 13.56. Он иллюстрирует комбинированное построение графиков решения разного типа с применением функциональной закраски, реализуемой по заданной формуле с помощью опции initcolor.
Еще раз отметим, что, к сожалению, рисунки в данной книге не дают представления о цвете. Поэтому наглядность решений, видимых на экране дисплея, существенно выше.
13.8.5. Графическая функция dfieldplot
Графическая функция dfieldplot служит для построения векторного поля (поля направления) по результатам решения дифференциальных уравнений. Фактически эта функция как бы входит в функцию DEplot и при необходимости вызывается последней. Но она может использоваться и самостоятельно, что показывает
рис. 13.57, на котором показан пример решения следующей системы дифференциальных уравнений: x'(t)=x(t)*(l-y(t)), y'(t)=0.3*y(t)*(x(t)-l).
Рис. 13.56. Построение комбинированного графика с помощью функции PDEplot.
Рис. 13.57. Построение фазового портрета в виде графика векторного поля.
Обратите внимание на использование опций в этом примере, в частности на вывод надписи на рисунок на русском языке. В целом список параметров функции phaseportrait аналогичен таковому для функции DEplot (отсутствует лишь задание начальных условий).
13.8.6. Графическая функция phaseportrait
Графическая функция phaseportrait служит для построения фазовых портретов по результатам решения одного дифференциального уравнения или системы дифференциальных уравнений deqns. Она задается в виде:
phaseportrait(deqns, vars,trange,inits,o)
При задании уравнений достаточно указать их правые части. На рис. 13.58 представлен пример применения функции phaseportrait для решения системы из трех дифференциальных уравнений первого порядка.
Рис. 13.58. Построение фазового портрета с помощью функции phaseportrait.
В этом примере система дифференциальных уравнений задана с применением оператора дифференцирования D. Функциональная окраска линии фазового портрета достигается использованием опции linecolor, в правой части которой задана формула для цвета.
Еще более интересный пример решения дифференциального уравнения представлен на рис. 13.59. Здесь построены фазовые портреты для асимптотических решений.
В целом надо отметить, что возможности визуализации решений дифференциальных уравнений с помощью системы Maple V весьма велики и приведенные выше примеры лишь частично иллюстрируют сказанное. В справочной системе можно найти ряд других весьма эффектных решений систем дифференциальных уравнений с визуализацией последних.













