Effacer les filtres
Effacer les filtres

How to solve nonlinear coupled ode by Shooting method .

5 vues (au cours des 30 derniers jours)
Chandan Kumawat
Chandan Kumawat le 13 Oct 2019
Commenté : darova le 2 Nov 2019
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 commentaires
darova
darova le 13 Oct 2019
What have you tried? What ideas do you have? Did you see examples in MATLAB help?
Chandan Kumawat
Chandan Kumawat le 14 Oct 2019
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 .

Connectez-vous pour commenter.

Réponse acceptée

Chandan Kumawat
Chandan Kumawat le 14 Oct 2019
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 commentaires
Chandan Kumawat
Chandan Kumawat le 2 Nov 2019
here I'm not getting any option for accept your answer .
Thanks for solve my problem .
darova
darova le 2 Nov 2019
Whta is this?
1233.PNG

Connectez-vous pour commenter.

Plus de réponses (1)

darova
darova le 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 commentaires
Chandan Kumawat
Chandan Kumawat le 17 Oct 2019
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 .
darova
darova le 17 Oct 2019
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

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by