2nd order ode by ode45 or other numerical method
Mostra commenti meno recenti
Hi every one,
I am trying to solve below differential equation with matlab:
y''+(2/x)*y'=0.1248y
B.C 1 : y'(0)=0
B.C 2: y(1)=1
x interval: [0 1]
solution interval (or y): [0 1]
I used bvp4c and ode45 but every time I faced with error like "solve the collocation equations -- a singular Jacobian encountered"
this is my code:
function SolveBVP()
solinit = bvpinit([0,1],[0 0]);
sol = bvp4c(@deriv,@bcs,solinit);
x=linspace(0,1,100);
y=deval(sol,x);
plot(x,y(1,:),'b-x');
function dYdx = deriv(x,Y)
dYdx(1) = Y(2);
dYdx(2) = 0.1248*Y(1)-(2/x)*Y(2);
function res = bcs(ya,yb)
res = [ ya(2)
yb(1)-1];
It would be appricated if any one of you can help me.
best regards
Risposta accettata
Più risposte (1)
Rasoul Rahimzadeh Bafti
il 10 Mag 2020
0 voti
1 Commento
Ameer Hamza
il 10 Mag 2020
I am glad to be of help.
Categorie
Scopri di più su Ordinary Differential Equations in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
