using shooting method for coupled ode

14 views (last 30 days)
T K
T K on 13 Apr 2020
Commented: T K on 18 Apr 2020
Hi all,
please help,I'm looking to solve the following system of equations with boundary conditions using the shooting method:
The equation and m-file attached .
I've found the solution using the BVP4C solver but need to also be able to find the solution using the shooting method.
I'm really quite new to MATLAB and don't really know where to start!
Any help anyone can give me would be greatly appreciated. Thanks!
  1 Comment
darova
darova on 13 Apr 2020
Can you rewrite this part?
function f= projfun(x,y)
f= [y(2)
y(1)*y(3)+x*y(2)*y(3)+y(1)*y(2)+(y(9)*(1/alfa*Pr*x))-(y(2)/x)-(y(1)/(x*x))
(-1/x)*(4*y(3)+y(2)+(y(1)/x))
4*y(3)*y(3)+((x*y(3)+y(1)-(1/x))*((-1/x)*(4*y(3)+y(2)+(y(1)/x))))
y(6)
Pr*x*y(3)*y(6)+Pr*y(1)*y(6)-(y(6)/x)
y(8)
(1/B*Tinf)*(alfa*Pr*y(1)*y(8)+alfa*Pr*x*y(3)*y(8)-(((DT*Bs*Fiinf)/(Tinf*Dfi))*((Pr*x*y(3)*y(6)+Pr*y(1)*y(6)-(y(6)/x))-(y(6)/x))))
y(9)
];
end
To make it look like:
function f= projfun(x,y)
E
E = y(1);
dE = y(2);
F = y(3);
dF = y(4);
% ...
f = zeros(9,1);
f(1) = dF;
f(2) = long_expr1;
f(3) = long_expr2;
% ...
end
  1. Use variable instead of y(1),y(2) for long code
  2. Why not define f function as you did before?
example
[1 - 2; 2] % work
[1 -2; 2] % doesn't work
I can't check your function because it's difficult to read. I don't want to write new one

Sign in to comment.

Answers (1)

darova
darova on 14 Apr 2020
Edited: darova on 14 Apr 2020
Thank you more readable code
Here are some mistakes
Some note:
Shouldn't last equations be like this? What is g? There is no g in your equations
% g = y(7);
E = y(7);
dE = y(8);
% dy(7) = dg;
dy(7) = -1*(4*E+df+f); % E'
dy(8) = (4*E*E)+((E*x+f-1)*(-1*(4*E+df+f))); % E''
I also suggest you not to use global: LINK
You can just use nested functions
function proj
% global variables - no need
% code
function dy = projfun(x,y)
% global variables - no need
% code
end
end
  14 Comments
T K
T K on 18 Apr 2020
There is no problem and I am very happy for you

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!