MATLAB Answers

0

How to solve nonlinear coupled ode by Shooting method .

Asked by Chandan Kumawat on 13 Oct 2019
Latest activity Commented on by darova
on 2 Nov 2019 at 9:38
Respected sir ,
I am getting problem to solve non linear coupled BVP by shooting method . Can you help me to solve that problem?
My problem is
F'''=(1/(1+epsilon1*(1-G)))*(A*F'+.5*t*A*F''+(F')^2-F*F''+epsilon1*G'*F''-lambda*G-delta*H+M*F'-(-1+epsilon1*G-epsilon1)*bita*F');
G''=(1/(1+epsilon2*G+Nr))*(Pr*(2*A*G+.5*A*t*G'+F'*G-F*G'-M*Ec*(F')^2-Ec*(1-epsilon1*G'+epsilon1)*(F'')^2)-epsilon2*(G')^2);
H''= Sc*(2*A*H+.5*A*t*H'+F'*H-F*H'+Rex*Zai*H);
where A=0 ; epsilon1= 0 ; epsilon2=1; lambda= 1; delta=1; bita=0; Nr=.1; Pr=5; M=.5;
Ec=.1 ; Sc=1; Rex= .3 ; Zai= .1 ;
and F(0)=0 , F'(0)=1 F'(infity)=0 G(0)=1 G(infity)=0 H(0)= 1 H(infity)=0
and F''(0) , G'(0) & H'(0) we have to guess
so tell me how to solve by shooting method with using rk -4 method .

  2 Comments

What have you tried? What ideas do you have? Did you see examples in MATLAB help?
I general do it with general shooting method but i'm getting problem how to do initial guess.
Here i'm attaching code which i have tried .

Sign in to comment.

Tags

2 Answers

Answer by Chandan Kumawat on 14 Oct 2019
 Accepted Answer

It is okey but my problem still remain same that how i do appropriate guess for according to your code
F2(0) & G1(0) & H1(0)

  3 Comments

darova
on 1 Nov 2019 at 16:10
Why did you accept your answer instead of mine?
here I'm not getting any option for accept your answer .
Thanks for solve my problem .
darova
on 2 Nov 2019 at 9:38
Whta is this?
1233.PNG

Sign in to comment.


Answer by darova
on 14 Oct 2019

Try bvp4c
Suggestion:
F0 = y(1);
%% ...
H1 = y(7);
% and use these variables to make your code more redable
dy(1) = F1;
%% ..
You can also use temporary variables to make your code simpler
dy(3) = 1/(1+e1*(1-G0))* ...
(A*F1 + 0.5*t*A*F2 + F1^2 - F0*F2 + e1*G1*F2 - lambda*G0 - delta*H0 + M*F1 - (-1+e1*G0-e1)*bita*F1);
%%
TEMP0 = 1/(1+e1*(1-G0));
TEMP1 = 0.5*t*A*F2;
TEMP2 = e1*G1*F2;
TEMP3 = (-1+e1*G0-e1)*bita*F1;
dy(3) = TEMP0 * (A*F1 + TEMP1 + F1^2 - F0*F2 + TEMP2 - lambda*G0 - delta*H0 + M*F1 - TEMP3);
See attached scripts

  10 Comments

constant value of M Ec Pr
Are you sure those values are correct? Maybe for something values diving by zero occurs?
Thank you sir for give attention on my problem and now code is working well .
Can we solve it by ODE45 if yes then what values for F2(0) G1(0) & H1(0) should we take and how we will find that values .
I just changed main code
init = [0 1 -0.58 1 -1.52 1 -1.12];
% solinit = bvpinit([0 2],zeros(1,7));
% sol = bvp4c(@new,@bvpf,solinit);
[t,y] = ode45(@new,[0 2], init);
% plot(sol.x,sol.y)
plot(t,y)
legend('F','dF','d2F','G','dG','H','dH')
I took initial conditions from last calc. There is no rule for F2(0) G1(0) & H1(0) values, only guessing or something like bvp4c
img1.png

Sign in to comment.