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 a Differential Equation - Wolfram Mathematica

Решение дифференциальных уравнений

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

Используем DSolve для решения дифференциального уравнения SolveADifferentialEquationRU_1.gif для y(x) с независимой переменной x:

In[2]:=

SolveADifferentialEquationRU_2.gif

Out[2]=

SolveADifferentialEquationRU_3.gif

Решение, которое дает функция DSolve, является  вложенным списком из правил. Внешний список включает в себя все решения, а каждый меньший список является частным решением.

Если Вы хотите использовать решение в качестве функции, задайте сначала правило определяющее имя для решения, в данном случае solution:

In[3]:=

SolveADifferentialEquationRU_4.gif

Out[3]=

SolveADifferentialEquationRU_5.gif

Теперь, используем функцию Part для извлечения первой части решения, используя краткую форму этой функции  solution[[1]]. Заменим  y[x], используя /. (краткую форму записи для ReplaceAll), и применим = для определения функции f[x]:

In[4]:=

SolveADifferentialEquationRU_6.gif

Out[4]=

SolveADifferentialEquationRU_7.gif

Теперь, f[x] вычисляется как любая обычная функция:

In[5]:=

SolveADifferentialEquationRU_8.gif

Out[5]=

SolveADifferentialEquationRU_9.gif

Для задания начальных условий, поместите уравнение и начальные условия (y(0)=1 и SolveADifferentialEquationRU_10.gif) в список:

In[6]:=

SolveADifferentialEquationRU_11.gif

Out[6]=

SolveADifferentialEquationRU_12.gif

Если заданных начальных условий недостаточно, будут выведены константы SolveADifferentialEquationRU_13.gif:

In[10]:=

SolveADifferentialEquationRU_14.gif

Out[10]=

SolveADifferentialEquationRU_15.gif

Чтобы указать для каких функций должно быть найдено решение, используйте второй список:

In[7]:=

SolveADifferentialEquationRU_16.gif

Out[7]=

SolveADifferentialEquationRU_17.gif

В приведенном примере, решения являются не элементарными функциями:

In[8]:=

SolveADifferentialEquationRU_18.gif

Out[8]=

SolveADifferentialEquationRU_19.gif

    

Вы можете использовать DSolve, /., Table и Plot вместе, чтобы отобразить графически решения недоопределенных дифференциальных уравнений при разных значениях константы.

Во-первых, решим дифференциальное уравнение с помощью DSolve и зададим результату имя solution:

In[11]:=

SolveADifferentialEquationRU_20.gif

Out[11]=

SolveADifferentialEquationRU_21.gif

Используем =, /. и Part для определения функции g[x] с использованием solution:

In[12]:=

SolveADifferentialEquationRU_22.gif

Out[12]=

SolveADifferentialEquationRU_23.gif

Определим список функций t[x] для целых значений SolveADifferentialEquationRU_24.gif от 1 до 10:

In[15]:=

SolveADifferentialEquationRU_25.gif

Out[15]=

SolveADifferentialEquationRU_26.gif

Применим функцию Plot для построения графиков функций из списка в диапазоне от -2<x<2:

In[16]:=

SolveADifferentialEquationRU_27.gif

Out[16]=

SolveADifferentialEquationRU_28.gif