13 views (last 30 days)
Elia Paini on 26 Apr 2021
Commented: Elia Paini on 29 Apr 2021
Hi, I solved correctly a system of ODE second order with BCs, with the instruction bvp4c.
However, I have some questions about it.
My code is as follows:
...
xmesh = linspace(1e-5,1.5*1e-3,20);
solinit = bvpinit(xmesh,1e-3*[0,0,0,0,1,1,1,1]);
sol = bvp4c(@bvpfcn,@bcs,solinit);
plot(sol.x,sol.y)
1) When I plot the solution, I should choose in x interval sol.x or xmesh? What is their difference?
2) I don't understand how Matlab uses the second vector [0,0,0,0,1,1,1,1] in bvpinit.
It should represent the initial guess of solution (I have 8 variables), but it seems that its values don't change final solution. Is it right?
Thank you!

Shadaab Siddiqie on 29 Apr 2021
From my understanding you have few doutes on the arguments of bvp4c function.
1. 'bvp4c' function not output 'sol.stats' when 'NMax' is exceeded, This is a due to what the 'stats' object returns. Typically, it has values that are associated with a solved problem, rather than an incomplete one.
2. solinit are the Initial guess of solution, specified as a structure. Use bvpinit to create solinit. Unlike initial value problems, a boundary value problem can have no solution, a finite number of solutions, or infinitely many solutions. An important part of the process of solving a BVP is providing a guess for the required solution. The quality of this guess can be critical for the solver performance and even for a successful computation. For some guidelines on creating a good initial guess, see Initial Guess of Solution. But it is not nessary for the solution to change if the initial conditions are changed.
Elia Paini on 29 Apr 2021
Ok, thank you!