bvp4c: a singular Jacobian encountered

4 ビュー (過去 30 日間)
Pinco
Pinco 2013 年 5 月 2 日
コメント済み: Kiran Pathapati 2016 年 8 月 3 日
Hi everybody! I'm trying to solve the following second order differential equation with known boundary conditions:
global a0 a1 a2 a3 a4 h k JA JB
% J/m^2 -> N/m
a0 = 2.0377638272727268;
a1 = -7.105521894545453;
a2 = 9.234000147272726;
a3 = -5.302489919999999;
a4 = 1.1362478399999998;
k = 5.92*10^-3; % N/m
h = 45.5 *10^-10; % Angstrom -> m
JA = 1.025;
JB = 1.308;
XA = 0;
XB = 45;
meshX = linspace(0,45,100);
Y0 = [JA, JB]; %guess values
init = bvpinit(meshX,Y0);
sol = bvp4c(@myode,@mybc,init);
==============
function yprime = myode(x,y)
global a1 a2 a3 a4 h k
H = h^2/12;
B = a1 + 2*a2.*y(1) + 3*a3.*y(1).^2 + 4*a4.*y(1).^3;
C = 5*a1 + 8*a2.*y(1) + 9*a3.*y(1).^2 + 8*a4.*y(1).^3;
yprime = [y(2);
(C.* y(2).^2)./(B.*y(1)) + (y(1).^5)./H - (k.*y(1).^5)./(H.*B)];
================
function res = mybc(ya,yb)
global JA JB
res = [ya(1) - JA
yb(1) - JB];
The function J(x) assumes the values JA and JB at the extremes of the interval. As reported in the title, I get the following error:
"Error using bvp4c (line 252) Unable to solve the collocation equations -- a singular Jacobian encountered.
Error in mybvp (line 54) sol = bvp4c(@myode,@mybc,init);"
How can I overtake this problem? Thanks in advance for your help. Pinco
  4 件のコメント
Pinco
Pinco 2013 年 5 月 3 日
@Kye Taylor: I apologize for this, but I know that you accept when the problem is solved, or is it not right? If the latter is the case, I apologize again, I will accept also the useful answers. Could you also explain to me the use of the flag? I'm not very familiar with this forum.
I posted a new question because it became different from the previous one.
Thanks for your help, but I studied the Jacobian and overtook this problem.
Kiran  Pathapati
Kiran Pathapati 2016 年 8 月 3 日
@Pinco,
I'm also facing the same errors that you have mentioned in your earlier message. "Error using bvp4c (line 252) Unable to solve the collocation equations -- a singular Jacobian encountered.
Error in mybvp (line 54) sol = bvp4c(@myode,@mybc,init);"
You have mentioned that you were able to fix the errors. Could you please help me fixing the issue.
Thanks, Kiran

サインインしてコメントする。

回答 (1 件)

Sri Mukessh Subramanian
Sri Mukessh Subramanian 2015 年 8 月 21 日
the boundary condition vector should be specified column wise NOT ROW wise

カテゴリ

Help Center および File ExchangeBoundary Value Problems についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by