Third Order Coupled ODE's
5 次查看(过去 30 天)
显示 更早的评论
I have these coupled equations based off Falkner-Skan:
f′′′=−f⋅f′′−(2m/(m+1))⋅(1−(f′)2)−(2/(m+1))⋅Ri⋅θcos(m/(m+1))
&
θ′′=−Pr⋅f⋅θ'
With the BC's: f(0)=f′(0)=0 and θ(0)=1. f(5)=1 and θ(5)=0 (5 has been taken as the endpoint)
Where Pr, m and Ri are constants which can be assigned, f and θ are functions of η and the dash (') means derivative with respect to η.
I have a MATLAB file which solves this when Ri=0 by using the shooting method (as this is a BVP) and ODE45 but now it seems like that can no longer be used as easily because now they need to be solved simultaneously when Ri is not zero and I don't know where to start.
How can I solve this problem using MATLAB for the plots of f' and θ against η?
2 个评论
ravinder khary
2018-6-29
Respected Andrew Amoateng-Agyemang, As I am a beginner in MATLAB programming, Can you please share your code of shooting method and ODE45 for the above mentioned coupled Falkner-Skan equation. I also have a coupled BVP to solve. I don't know how to use MATLAB inbuilt function so please share a full code if possible. Thank you
采纳的回答
Torsten
2015-4-8
function main
xa = 0; xb = 5;
solinit = bvpinit(linspace(xa,xb,10),[0 0 1 1 0]);
sol = bvp4c(@coupled_falkner_skan,@bc,solinit);
function res = bc(ya,yb)
res = [ ya(1); ya(2); ya(4)-1; yb(2)-1; yb(4)];
function dydx = coupled_falkner_skan(x,y)
m = 0.0909; Ri = 5; Pr = 0.71;
dydx = [y(2); y(3); -y(1)*y(3)-(2*m/(m+1))*(1-y(2)^2)-(2/(m+1))*Ri*y(4)*cos(m*pi/(m+1)); y(5); -Pr*y(1)*y(5)];
Best wishes
Torsten.
3 个评论
Taylor Nichols
2019-1-24
I know this is an old question, but shouldn't the 4th boudary condition be yb(1) - 1, not yb(2) - 1. The BC you have written at the beginning is not the 1st derivative.
Torsten
2019-1-24
Yes, take a look at my answer from the 7th of April below. I subsequently copied the code from the comment to it (where the boundary condition is modified) and added the plotting.
更多回答(3 个)
Torsten
2015-4-7
Rewrite your equations as a system of first-order ordinary differential equations and use bvp4c to solve.
Best wishes
Torsten.
Torsten
2015-4-7
function dydx = ode(x,y)
m=...;
Ri=...;
Pr=...;
dydx = [ y(2); y(3); -y(1)*y(3)-2*m/(m+1)*(1-y(2)*2)-2/(m+1)*Ri*y(4)*cos(m/(m+1)); y(5); -Pr*y(1)*y(4)];
function res = bc(ya,yb)
res = [ ya(1); ya(2); yb(1)-1.0; ya(4)-1.0; yb(4)];
solinit = bvpinit(linspace(0,4,5),[0 0 0 0 0]);
sol = bvp4c(@ode,@bc,solinit);
Best wishes
Torsten.
另请参阅
类别
在 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!