How to solve nonlinear coupled ode by Shooting method .

조회 수: 1 (최근 30일)
Chandan Kumawat
Chandan Kumawat 2019년 10월 13일
댓글: darova 2019년 11월 2일
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
darova
darova 2019년 10월 13일
What have you tried? What ideas do you have? Did you see examples in MATLAB help?
Chandan Kumawat
Chandan Kumawat 2019년 10월 14일
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 .

댓글을 달려면 로그인하십시오.

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

darova
darova 2019년 10월 14일
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
Chandan Kumawat
Chandan Kumawat 2019년 10월 17일
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 2019년 10월 17일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surrogate Optimization에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by