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

Решите дифференциальное уравнение аналитически при помощи функции 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=потому что(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

Больше примеров ОДУ

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

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

MATLAB® Commands

dydt+4y(t)=et,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+3xdydxy=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)

Смотрите также