BVP4C: Error: Unable to solve the collocation equations -- a singular Jacobian encountered
7 ビュー (過去 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.
2 件のコメント
Torsten
2015 年 7 月 6 日
Please indicate which functions are meant by y(1),y(2),...,y(9).
Best wishes
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
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.
その他の回答 (1 件)
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 ???
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Boundary Value Problems についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!