exponenta event banner

Решить дифференциальное уравнение

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

Линейная ОДУ первого порядка

Решите это дифференциальное уравнение.

dydt = ty.

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

syms y(t)

Определение уравнения с помощью == и представляют собой дифференциацию с использованием diff функция.

ode = diff(y,t) == t*y
ode(t) =
diff(y(t), t) == t*y(t)

Решить уравнение с помощью dsolve.

ySol(t) = dsolve(ode)
ySol(t) =
C1*exp(t^2/2)

Решение дифференциального уравнения с условием

В предыдущем решении константа C1 , поскольку условие не было указано. Решить уравнение с начальным условием y(0) == 2. dsolve функция находит значение C1 это удовлетворяет условию.

cond = y(0) == 2;
ySol(t) = dsolve(ode,cond)
ySol(t) =
2*exp(t^2/2)

Если dsolve не удается решить уравнение, затем попробуйте решить уравнение численно. См. раздел Численное решение дифференциального уравнения второго порядка.

Нелинейное дифференциальное уравнение с начальным условием

Решите это нелинейное дифференциальное уравнение с начальным условием. Уравнение имеет несколько решений.

(dydt + y) 2 = 1, y (0) = 0.

syms y(t)
ode = (diff(y,t)+y)^2 == 1;
cond = y(0) == 0;
ySol(t) = dsolve(ode,cond)
ySol(t) =
 exp(-t) - 1
 1 - exp(-t)

ОДУ второго порядка с начальными условиями

Решите это дифференциальное уравнение второго порядка с двумя начальными условиями.

d2ydx2 = cos (2x) y, y (0) = 1, y '(0) = 0.

Определите уравнение и условия. Второе исходное условие включает первую производную от y. Представление производной путем создания символической функции Dy = diff(y) а затем определите условие с помощью Dy(0)==0.

syms y(x)
Dy = diff(y);

ode = diff(y,x,2) == cos(2*x)-y;
cond1 = y(0) == 1;
cond2 = Dy(0) == 0;

Решить ode для y. Упрощение решения с помощью simplify функция.

conds = [cond1 cond2];
ySol(x) = dsolve(ode,conds);
ySol = simplify(ySol)
ySol(x) =
1 - (8*sin(x/2)^4)/3

ОДУ третьего порядка с начальными условиями

Решите это дифференциальное уравнение третьего порядка с тремя начальными условиями.

d3udx3 = u, u (0) = 1, u (0) = 1, u ′ ′ (0) = λ.

Поскольку начальные условия содержат производные первого и второго порядка, создайте две символические функции, Du = diff(u,x) и D2u = diff(u,x,2), для указания начальных условий.

syms u(x)
Du = diff(u,x);
D2u = diff(u,x,2);

Создайте уравнение и исходные условия и решите их.

ode = diff(u,x,3) == u;
cond1 = u(0) == 1;
cond2 = Du(0) == -1;
cond3 = D2u(0) == pi;
conds = [cond1 cond2 cond3];

uSol(x) = dsolve(ode,conds)
uSol(x) =
 
(pi*exp(x))/3 - exp(-x/2)*cos((3^(1/2)*x)/2)*(pi/3 - 1) -...
(3^(1/2)*exp(-x/2)*sin((3^(1/2)*x)/2)*(pi + 1))/3

Другие примеры ОДУ

В этой таблице приведены примеры дифференциальных уравнений и их символьный математический синтаксис Toolbox™. Последний пример - дифференциальное уравнение Эйри, решение которого называется функцией Эйри.

Дифференциальное уравнение

Команды MATLAB ®

dydt + 4y (t) = e t, y (0) = 1.

syms y(t)
ode = diff(y)+4*y == exp(-t);
cond = y(0) == 1;
ySol(t) = dsolve(ode,cond)
ySol(t) =
exp(-t)/3 + (2*exp(-4*t))/3

2x2d2ydx2 + 3xdydx y = 0.

syms y(x)
ode = 2*x^2*diff(y,x,2)+3*x*diff(y,x)-y == 0;
ySol(x) = dsolve(ode)
ySol(x) =
C2/(3*x) + C3*x^(1/2)

Уравнение Эйри.

d2ydx2 = xy (x).

syms y(x)
ode = diff(y,x,2) == x*y;
ySol(x) = dsolve(ode)
ySol(x) =
C1*airy(0,x) + C2*airy(2,x)

См. также