BVP4C: Error: Unable to solve the collocation equations -- a singular Jacobian encountered

12 次查看(过去 30 天)
Hello, I am facing "Unable to solve the collocation equations -- a singular Jacobian encountered" error using BVP4C function.Below are the details:
Equations:
1--> f''' + ff'' - f'^2 + B(f''^2-ff'''')+Zg' - M^2f' + D^2 = 0
2--> Yg''+ fg' +f'g - I(2g +f'') = 0
3--> h'' +Prfh'+PrQh = 0
Boundary Conditions:
f(0)=0, f'(0)=1+Kf''(0), f'(infty)=D, f''(infty) = 0
h'(0)=-ga*(1-h(0)) , h(infty)=0
g(0)=-Mzf''
I have formulated equations & boundary conditions in m script as follows:
ff = [y(2)
y(3)
y(4)
y(5)
(- y(1)*y(3) + y(2)^2 - B*y(3)^2 - Z* y(5)+ M^2*y(2)-D^2)
(-y(1)*y(5)-y(2)*y(4)+I*(2*y(4)+y(3)))
y(6)
y(7)
-pr * ((y(1)*y(7)) + Q*(y(6)))];
res = [ya(1)
ya(2) - 1 - K*ya(3)
yb(1)
yb(2)-D
ya(4)+Mz*ya(3)
yb(3)
ya(5)
ya(6) + ga * (1 - ya(5))
yb(6)];
Where , y(1) = f, y(2) = f', y(3) = f'', y(4) = g, y(5) = g'',y(6) = h, y(7) = h'
All the parameters used for equation(M,I,B etc.) are known & defined as global variables.
Script is developed referring to the BVP4C samples.
Please help me resolve this error. Thanks.

采纳的回答

Torsten
Torsten 2015-7-6
y1'=y2
y2'=y3
y3'=y4
y4'=solve your first equation for f''''
y5'=y6
y6'=solve your second equation for g''
y7'=y8
y8'=solve your third equation for h''
(y1=f, y2=f', y3=f'', y4'=f''', y5=g, y6=g', y7=h, y8=h')
Now specify 8 boundary conditions (instead of 7 in the problem formulation or 9 in the code as above), and you are done.
Best wishes
Torsten.
  5 个评论
Torsten
Torsten 2015-7-7
You will need to add one more boundary condition since you supplied 8 ODEs, but only 7 boundary conditions.
Best wishes
Torsten.
Sachin Ganjare
Sachin Ganjare 2015-7-8
Thank you so much for your help, Torsten. Really appreciate your help.
Everything is working fine now.
Note:I is not imaginary unit but just another parameter in equation.

请先登录,再进行评论。

更多回答(1 个)

fatima malik
fatima malik 2018-8-3
编辑:Walter Roberson 2018-8-3
initialguess=bvpinit(linspace(0,10,5000),@mat4init);
sol=bvp4c(@rhs_ode1,@bcs1,initialguess);
eta=linspace(0,10,5000);
f=deval(sol,eta);
plot(eta,f(11,:),'LineWidth',1.2);
hold on
end
axis([0 1.4 0 1.05]);
xlabel('\eta','FontSize',14,'FontAngle', 'italic','FontName','Arial','Color','k');
ylabel('f(\theta)',
how to solve for singular jacobian ???

类别

Help CenterFile Exchange 中查找有关 Boundary Value Problems 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by