Qurak

Solve delay differential equations

Guia prático 7 passos, executados em ordem numa sessão. Cada passo foi executado no motor e a saída abaixo é o que ele produziu.

Passo 1
sol1 = NDSolve[{x'[t] == x[t - 1](1 - x[t]), x[t /; t ≤ 0] == t ^ 2}, x, {t, -2, 2}]
Saída
NDSolve[{Derivative[1][x][t] == x[-1 + t]*(1 - x[t]), x[t /; t <= 0] == t^2}, x, {t, -2, 2}]
Passo 2
Plot[Evaluate[{x[t], x'[t]} /. First[sol1]], {t, -1, 5}, PlotRange -> All, PlotLegends -> {Style[x[t], 14], Style[ x'[t], 14]}]
Saída
-Graphics-
Passo 3
Manipulate[
	Module[{sol = NDSolve[{x'[t] == x[t - 1](1 - x[t]), x[t /; t ≤ 0] == ϕ}, x, {t, -2, 2}]},
	Plot[Evaluate[x[t] /. First[sol]], {t, -2, 2}]], {ϕ, {0.1, t ^ 2, Exp[t], Cos[t], Sin[t]}}]
Saída
Manipulate[Module[{sol = NDSolve[{Derivative[1][x][t] == x[t - 1]*(1 - x[t]), x[t /; t <= 0] == ϕ}, x, {t, -2, 2}]}, Plot[Evaluate[x[t] /. First[sol]], {t, -2, 2}]], {ϕ, {0.1, t^2, E^t, Cos[t], Sin[t]}}]
Passo 4
sol2 = NDSolve[{x'[t] == x[t] (x[t - π] - x'[t - 1]), x[t /; t ≤ 0] == Cos[t]}, x, {t, 0, 8}]
Saída
NDSolve[{Derivative[1][x][t] == (x[-Pi + t] - Derivative[1][x][-1 + t])*x[t], x[t /; t <= 0] == Cos[t]}, x, {t, 0, 8}]
Passo 5
Plot[Evaluate[{x[t], x'[t]} /. First[sol2]], {t, 0, 8}, PlotRange -> All, PlotLegends -> {Style[x[t], 14], Style[ x'[t], 14]}]
Saída
-Graphics-
Passo 6
sol3 = NDSolve[{x''[t] + x[t - 1] == 0, x[t /; t ≤ 0] == t ^ 2}, x, {t, -1, 5}]
Saída
NDSolve[{x[-1 + t] + Derivative[2][x][t] == 0, x[t /; t <= 0] == t^2}, x, {t, -1, 5}]
Passo 7
Plot[Evaluate[{x[t], x'[t], x''[t]} /. First[sol3]], {t, -1, 5}, PlotRange -> All, PlotLegends -> {Style[x[t], 14], Style[ x'[t], 14], Style[x''[t], 14]}]
Saída
-Graphics-

Funções usadas

Receitas relacionadas

Todas as receitas · Referência de funções · Usar isto de um cliente MCP