Функція DEplot3dз пакету DEtools - Інформатика, програмування

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

У ряді випадків рішення систем диференціальних рівнянь зручно представляти у вигляді просторових кривих — наприклад, ліній рівного рівня або просто у вигляді кривих у просторі. Для цього є функція DEplot3d.

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

Призначення параметрів та опцій цієї функції аналогічно до вказаного для функції DEplot.

Мал. 13.52 пояснює застосування функції DEplot3d для вирішення системи двох диференціальних рівнянь з виведенням фазового портрета коливань у вигляді параметрично заданої залежності x(t), y(t). У разі фазовий портрет будується на площині на кшталт побудови графіків ліній рівної висоти.

Інший приклад (рис. 13.53) показує розв'язання системи двох диференціальних рівнянь з побудовою об'ємного фазового портрета. У цьому випадку використовується координатна система ЗD-графики та графічні побудови відповідають параметричним залежностям x(t), y(t) та z(t). Вид фазового портрета нагадує об'ємну спіраль, що розгортається в просторі. Функціональне забарвлення її робить графік ефектним, що, на жаль, втрачається при чорно-білому відтворенні графіка.

deplot3dз

Мал. 13.52. Приклад розв'язання системи з двох диференціальних рівнянь за допомогою функції DEplot3d.

пакету

Мал. 13.53. Приклад розв'язання системи з двох диференціальних рівнянь із побудовою тривимірного фазового портрета.

Можливості функції DEplot дозволяють вирішувати системи диференціальних рівнянь із числом останніх і більше двох - рис. 13.54, наприклад. Однак у цьому випадку число рішень, що подаються графічно, виходить за межі, допустиміЗІ-графіки. При цьому від користувача залежить, які із залежно-

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

deplot3dз

Мал. 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 і R залежать тільки від х, у та (х,у), при цьому dx/dt = P, dy/dt = Q, du/dt = R.

Ця функція використовується у такому вигляді:

PDEplot(pdiffeq, var, Lcurve, srange, o) 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, показує, наскільки незвичайним може бути вирішення навіть простий системи диференціальних рівнянь приватних похідних.

deplot3dз

Мал. 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 ).

deplot3dз

Мал. 13.56. Побудова комбінованого графіка з допомогою функції PDEplot.

функція

Мал. 13.57. Побудова фазового портрета як графіка векторного поля.

Зверніть увагу на використання опцій у цьому прикладі, зокрема виведення напису на малюнок українською мовою. У цілому нині список параметрів функції phaseportrait аналогічний такому для функції DEplot (відсутнє завдання початкових умов).