Qurak

Nd solve bvp shooting method

Tutorial 5 stappen, op volgorde uitgevoerd in één sessie. Elke stap is tegen de engine uitgevoerd en de uitvoer hieronder is wat hij opleverde.

Stap 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}]
Uitvoer
-Graphics-
Stap 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];

Geen uitvoer - deze stap zet iets klaar voor de volgende.

Stap 3
Block[{λ = 10},
	sol = First[NDSolve[{eqn, bcs}, x, t]];
	Plot[{xsol[t], x[t] /. sol}, {t, 0, 1}]]
Uitvoer
-Graphics-
Stap 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}]]
Uitvoer
-Graphics-
Stap 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}]]
Uitvoer
-Graphics-

Gebruikte functies

Gerelateerde recepten

Alle recepten · Functiereferentie · Gebruik dit vanuit een MCP-client