Second order ODE - BVP
이전 댓글 표시
Hi,
I am trying to obtain the solution of the following second order ODE but I struggle.
function bvp5
xlow=0; xhigh=0.5;
solinit = bvpinit(linspace(xlow,xhigh,10),[0 1]);
sol = bvp4c(@bvp5ode,@bvp5bc,solinit);
xint = linspace(xlow,xhigh);
Sxint = deval(sol,xint);
plot(xint,Sxint(1,:))
% -----------------------------------------------
function dydx = bvp5ode(x,y)
dydx = [ y(2) 0.64*y(1)-(2/x)*y(2) ];
% -----------------------------------------------
function res = bvp5bc(ya,yb)
res = [ ya(1)-0.2 yb(2) ];
I obtain the folelowing error: Unable to solve the collocation equations -- a
singular Jacobian encountered.
1) How to form a guess ? I dont have any idea ...
2) What is the problem with my equation or my code?
Best wishes,
채택된 답변
추가 답변 (1개)
Alan Stevens
2021년 2월 1일
편집: Alan Stevens
2021년 2월 1일
1 개 추천
You start at xlow = 0, but your function bvp5ode has an x in the denominator. bvp4c doesn't like it when this is zero! If you set xlow = 0.001, say, then it runs.
카테고리
도움말 센터 및 File Exchange에서 Boundary Value Problems에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!