Info

This question is closed. Reopen it to edit or answer.

functional values and graphs are not matching with this code

1 view (last 30 days)
Pr = 1;
ODE = @(x,y) [y(2); y(3); -(1/2)*y(3)*y(1); y(5); - (Pr/2)*y(1)*y(5);];
BC = @(ya,yb)[ya(1);ya(2);ya(4)-1;yb(2)-1; yb(4);];
xa = 0; xb = 5; xn = linspace(xa,xb,100); x = xn;
solinit = bvpinit(x,[0 1 0 1 0]); sol = bvp5c(ODE,BC,solinit); S = deval(sol,x);
f0 = deval(sol,0);
t = sym('t'); x = sym('x');f(x) = sym('f(x)'); g(x) = sym('g(x)'); %Pr = sym('Pr');
eqns = [diff(f,x,3) == 0, diff(g,x,2) == 0];
Df = diff(f,x); D2f = diff(Df,x); Dg = diff(g,x);
cond = [f(0) == 0, Df(0) == 0, Df(5) == 1,g(0) == 1, g(5) == 0];
F = dsolve(eqns,cond); f1 = F.f; g1 = F.g; % disp([f1,g1])
f = zeros(1,1,'sym');g = zeros(1,1,'sym');fa = zeros(1,1,'sym');ga = zeros(1,1,'sym');
f(1) = f1; g(1) = g1;
n = 5;
for i = 1:n
fa(i) = subs(f(i),x,t);dfa = diff(fa(i),t,1);d2fa = diff(dfa,t,1);ga(i) = subs(g(i),x,t);dga = diff(ga(i),t,1);
If1 = -(1/2)*int(fa(i)*d2fa,t,0,t);If2 = int(If1,t,0,t); Ig1 = -(Pr/2)*int(fa(i)*dga,t,0,t);
f(i+1) = int(If2,t,0,x); g(i+1) = int(Ig1,t,0,x);
end
f(2)
f = f(1) + f(2) + f(3) + f(4) + f(5); g = g(1) + g(2) + g(3) + g(4) + g(5);
figure(1)
plot(xn,S(2,:),'LineWidth',1.5); %for f'
axis([0 5 0 1])
xlabel('\bf\eta'); ylabel('\bff^{\prime}(\eta)');
hold on
fplot(diff(f),[0 5],'--','LineWidth',1.5)
%%% Please follow attached pdf, while running the code, Figs and Eqns (26) - (28) & (30) - (32) are not matching. Have a try
  1 Comment
MINATI
MINATI on 7 Oct 2020
I think any modification is needed to get correct result. to solve Eqns (17) - (24) and to draw Figs.

Answers (0)

Community Treasure Hunt

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

Start Hunting!