For solving a Boundary Value Problem with non boundary values (for instance a second order differential defined at [0,1] with values at x=0.2 and x=1) is there a way only using bvp4c except from solving at [0.2,1] and afterwards using bvpxtend for predicting solution's behaviour ?
General suggestions are also welcomed !

6 commentaires

Torsten
Torsten le 28 Mai 2021
Your problem description is unclear.
Ode equation is x^2 *y''(x) = exp(x) defined in [0,1] with Dirichlet boundary values y(0.2) = -1 and y(1) = +2
Torsten
Torsten le 28 Mai 2021
Modifié(e) : Torsten le 28 Mai 2021
Solve your equation on [0,1] by taking the boundary value at x=1 and assuming a boundary value at x=0. Evaluate this solution at x=0.2. Usually, this value won't be the same as the prescribed condition at x=0.2. Use fzero to adjust the boundary condition at x=0 such that both values become the same.
By the way:
Your problem has an analytical solution
y(x)=(x-1)*Ei(x)+6.44286*x-exp(x)-1.72458
where Ei(x) is the exponential integral.
So this example is much suited to test the method I suggested above.
Torsten
Torsten le 29 Mai 2021
Modifié(e) : Torsten le 29 Mai 2021
This is a possible implementation (untested !)
The nonlinear equation solver "fzero" tries to find y'(1) such that the solution of the ODE passes through the point (0.2,-1).
function main
y0dot0 = -1.0;
y0dot = fzero(@fun,y0dot0);
tstart = 1.0;
tend = 1e-8;
tspan = [tstart tend];
y0 = [2 y0dot];
[T,Y] = ode15s(@ode,tspan,y0);
plot(T,Y(:,1))
end
function s = fun(y0dot)
tstart = 1.0;
tend = 0.2;
tspan = [tstart tend];
y0 = [2 y0dot];
[T,Y] = ode15s(@ode,tspan,y0);
s = Y(end,1) + 1;
end
function dy = ode(t,y)
dy = [y(2);exp(x)/x^2];
end
Alex Sha
Alex Sha le 19 Juin 2021
Hi, look at your ODE function: y'' = exp(x)/x^2, if x=0, will cause the error of 0/0 .

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 28 Mai 2021
Modifié(e) : Jan le 28 Mai 2021

6 commentaires

Torsten
Torsten le 28 Mai 2021
But no boundary condition is given at x=0 ...
Jan
Jan le 28 Mai 2021
@Torsten: A good point. I prefer single and multiple-shooting approachs, for which it does not matter, where the conditions appear.
Jan
Jan le 29 Mai 2021
@Charalampos Papargyriou: I do not understand the question.
Charalampos Papargyriou
Charalampos Papargyriou le 29 Mai 2021
Modifié(e) : Charalampos Papargyriou le 29 Mai 2021
@Jan I am talking about the other "single and multiple-shooting approaches" you prefer .
Do you have any examples of such methods ?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by