Error using bvp4c (singular jacobian encountered)

How can I find the error in this MATLAB's script?
Script one: perfiles_thiele
clc; clear;
R=3;%input('Radio de particula en mm, R: ');
%%BVP solution problem
C0=2E-4;
dCdr0=0.016;
solinit = bvpinit(linspace(0,R,100),[C0 dCdr0]);
sol = bvp4c(@model,@ex1bc,solinit);
r =sol.x;
C=sol.y(1,:);
v=sol.y(2,:);
TWO:
function F =model(r,Y)
R=3;
Thiele =1;
C=Y(1);
v=Y(2);
dCdr= v;
dvdr= (-2/r)*v + C*9*Thiele^2/R^2;
F = [dCdr; dvdr];
end
THREE:
function res = ex1bc(ya,yb)
Cs=2E-6;
dCdr=0;
res = [ ya(1) - Cs
yb(2) - dCdr];
end
When I run the script one throws me the error:
Error using bvp4c (line 251)
Unable to solve the collocation equations -- a singular Jacobian encountered.
Error in perfiles_thiele (line 19)
sol = bvp4c(@model,@ex1bc,solinit);
I appreciate help to know if the problem is the definition of [C0 dCdr0] or if it is because I have some error in my BVP system.
Thanks!

1 comentario

Walter Roberson
Walter Roberson el 18 de Oct. de 2018
As we only have your code and not your equations, we cannot compare to determine if there is a problem.

Iniciar sesión para comentar.

 Respuesta aceptada

Torsten
Torsten el 18 de Oct. de 2018

0 votos

Don't start at r = 0, but at r = a small number.
Best wishes
Torsten.

Más respuestas (1)

CLMSP
CLMSP el 18 de Oct. de 2018

0 votos

Clear! thank you!

2 comentarios

MOSLI KARIM
MOSLI KARIM el 7 de Nov. de 2023
%%
function solved
clc; clear;
global Thiele Cs R C0 dCdr0
Cs=2E-6
Thiele =1
R=3;%input('Radio de particula en mm, R: ');
%%BVP solution problem
C0=2E-4;
dCdr0=0.016;
solinit = bvpinit(linspace(0.01,R,100),[C0 dCdr0]);
sol = bvp4c(@model,@ex1bc,solinit);
RR=sol.x'
display(RR)
C=sol.y(1,:);
v=sol.y(2,:);
figure(1)
plot(RR,C)
figure(2)
plot(RR,v)
function F =model(r,Y)
C=Y(1);
v=Y(2);
dCdr= v;
dvdr= (-2/r)*v + C*9*Thiele^2/R^2;
F = [dCdr; dvdr];
end
function res = ex1bc(ya,yb)
res = [ ya(1) - Cs
yb(2) ];
end
end
MOSLI KARIM
MOSLI KARIM el 7 de Nov. de 2023
your code works well, I just made x=a=0.001 to avoid the singularity

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 18 de Oct. de 2018

Comentada:

el 7 de Nov. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by