Qurak

Nd solve bvp shooting method

Підручник 5 кроків, що виконуються по порядку в одній сесії. Кожен крок було виконано на рушії, і вивід нижче — те, що він дав.

Крок 1
sols = Map[First[NDSolve[{x''[t] + Sin[x[t]] == 0, x[0] == x[10] == 0}, x, t, Method -> {"Shooting", "StartingInitialConditions" -> {x[0] == 0, x'[0] == #}}]]&,
	{1.5, 1.75, 2}];
Plot[Evaluate[x[t] /. sols], {t, 0, 10}, PlotStyle -> {StandardBrown, StandardBlue, StandardGreen}]
Вивід
-Graphics-
Крок 2
eqn = x'''[t] - 2λ x''[t] - λ^2x'[t] + 2λ^3x[t] == (λ^2 + π^2) (2 λ Cos[π t] + π Sin[π t]);
bcs = {x[0]  ==   1 + (1 + E^-2 λ + E^-λ/2 + E^-λ), x[1] == 0, x'[1] == (3 λ - E^-λ λ/2 + E^-λ)};
xsol[t_]  =   (E^λ (t - 1) + E^2 λ (t - 1) + E^-λ t/2 + E^-λ) + Cos[π t];

Немає виводу — цей крок готує щось для наступного.

Крок 3
Block[{λ = 10},
	sol = First[NDSolve[{eqn, bcs}, x, t]];
	Plot[{xsol[t], x[t] /. sol}, {t, 0, 1}]]
Вивід
-Graphics-
Крок 4
Block[{λ = 10},
	sol = First[NDSolve[{eqn, bcs}, x, t,
	Method -> {"Shooting", "StartingInitialConditions" -> {x[1] == 0, x'[1] == (3 λ - E^-λ λ/2 + E^-λ), x''[1] == 0}}]];
	Plot[{xsol[t], x[t] /. sol}, {t, 0, 1}]]
Вивід
-Graphics-
Крок 5
Block[{λ = 15},
	sol = First[NDSolve[{eqn, bcs}, x, t,
	Method -> {"Shooting", "StartingInitialConditions" -> {x[2 / 3] == 0, x'[2 / 3] == 0, x''[2 / 3] == 0}}]];
	Plot[{xsol[t], x[t] /. sol}, {t, 0, 1}]]
Вивід
-Graphics-

Використані функції

Пов'язані рецепти

Усі рецепти · Довідник функцій · Використати з MCP-клієнта