Boundary Value Problem with non boundary values

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 Comments

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 on 28 May 2021
Edited: Torsten on 28 May 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 on 29 May 2021
Edited: Torsten on 29 May 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
Hi, look at your ODE function: y'' = exp(x)/x^2, if x=0, will cause the error of 0/0 .

Sign in to comment.

 Accepted Answer

Jan
Jan on 28 May 2021
Edited: Jan on 28 May 2021

6 Comments

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

Sign in to comment.

More Answers (0)

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!