Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Solve Delay Differential Equations - Wolfram Mathematica

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

Вы можете использовать стандартную функцию для решения дифференциальных уравнений, NDSolve, для численного решения дифференциальных уравнений с запаздывающим аргументом (ДУЗА) с фиксированными запаздываниями. При этом, NDSolve выдает результат в виде интерполирующей функции, которая затем может быть легко использована совместно с другими функциями.  

Возьмем дифференциальное уравнение первого порядка с запаздывающим аргументом, с задержкой 1 и функцией предистории SolveDelayDifferentialEquationsRU_1.gif. Воспользуемся функцией NDSolve для решения уравнения и сохраним решение под именем sol1. Первым аргументом функции NDSolve является ДУЗА, вторым аргументом является переменная, для которой находится решение, а третьим аргументом является диапазон значений переменной:

In[1]:=

SolveDelayDifferentialEquationsRU_2.gif

Out[1]=

SolveDelayDifferentialEquationsRU_3.gif

При помощи функции Plot построим график решения x[t] и его первой производной x'[t]. Для того, чтобы отобразить их графики разным цветом, во& #1089;пользуемся функцией Evaluate, "обернув" ее вокруг списка из функции и ее производной. Понадобится, также, загрузить модуль легенд (Plot Legends Package), если необходимо добавить пояснения к графику:

In[2]:=

SolveDelayDifferentialEquationsRU_4.gif

In[3]:=

SolveDelayDifferentialEquationsRU_5.gif

Out[3]=

SolveDelayDifferentialEquationsRU_6.gif

Воспользуемся Manipulate для изменения начальной функции:

In[4]:=

SolveDelayDifferentialEquationsRU_7.gif

Out[4]=

Решим ДУЗА первого порядка с двумя фиксированными запаздываниями, ? и 1, и функцией предистории cos(t):

In[5]:=

SolveDelayDifferentialEquationsRU_9.gif

Out[5]=

SolveDelayDifferentialEquationsRU_10.gif

При помощи функции Plot построим график решения x[t] и его первой производной x'[t]. Для того, чтобы отобразить их графики разным цветом, воспользуемся функцией Evaluate, "обернув" ее вокруг списка из функции и ее производной:

In[6]:=

SolveDelayDifferentialEquationsRU_11.gif

Out[6]=

SolveDelayDifferentialEquationsRU_12.gif

Решим ДУЗА второго порядка с фиксированным запаздыванием 1 и функцией предистории SolveDelayDifferentialEquationsRU_13.gif:

In[7]:=

SolveDelayDifferentialEquationsRU_14.gif

Out[7]=

SolveDelayDifferentialEquationsRU_15.gif

При помощи функции Plot построим график решения x[t] и его первых двух производных x'[t] и x''[t]. Для того, чтобы отобразить их графики разным цветом, воспользуемся функцией Evaluate, "обернув" ее вокруг списка из функции и ее производных:

In[8]:=

SolveDelayDifferentialEquationsRU_16.gif

Out[8]=

SolveDelayDifferentialEquationsRU_17.gif

Для более подробного описания терминов, связанных с дифференциальными уравнениями с запаздывающим аргументом, обратитесь к разделу Delay Differential Equations.