dsolve code is not running
3 views (last 30 days)
Show older comments
MINATI PATRA
on 12 Feb 2021
Commented: MINATI PATRA
on 12 Feb 2021
syms x f(x) g(x) h(x) M2 M3 a1 k K L A Rd Br Pr Nb Nt G Le H
eqn = [ diff(f,2) - L*diff(f)*diff(g) + A*a1*exp(L*g) == 0,...
(K/k+Rd)*diff(g,2) + (K/k)*(M2+M3)*diff(h)*diff(g) + exp(-L*g)*Br*(diff(f))^2/a1 + Pr*(Nb*diff(h)*diff(g) + Nt*(diff(g))^2) + H*g == 0,...
diff(h,2) +(Nt/Nb)*diff(g,2) + G*Pr*Le*(1-h) == 0 ];
cond = [ f(0) == 0,g(0) == 0,h(0) == 0, f(1) == 0,g(1) == 0,h(1) == 0 ];
F1 = dsolve(eqn,cond); f1 = F1.f; g1 = F1.g; h1 = F1.h; disp(collect([f1 g1 h1],x))
0 Comments
Accepted Answer
Walter Roberson
on 12 Feb 2021
syms x f(x) g(x) h(x) M2 M3 a1 k K L A Rd Br Pr Nb Nt G Le H
eqn = [ diff(f,2) - L*diff(f)*diff(g) + A*a1*exp(L*g) == 0,...
(K/k+Rd)*diff(g,2) + (K/k)*(M2+M3)*diff(h)*diff(g) + exp(-L*g)*Br*(diff(f))^2/a1 + Pr*(Nb*diff(h)*diff(g) + Nt*(diff(g))^2) + H*g == 0,...
diff(h,2) + (Nt/Nb)*diff(g,2) + G*Pr*Le*(1-h) == 0 ];
cond = [ f(0) == 0,g(0) == 0,h(0) == 0, f(1) == 0,g(1) == 0,h(1) == 0 ];
reshape(eqn(x),[],1)
F1 = dsolve(eqn, cond); f1 = F1.f; g1 = F1.g; h1 = F1.h; disp(collect([f1 g1 h1],x))
3 Comments
Walter Roberson
on 12 Feb 2021
Next thing to note is that you cannot provide two boundary conditions for the same function differential order. f(0)==0, fine by itself. f(1)==1, fine by itself. f(0)==0 and f(1)==1 together, will not work. The boundary conditions are used only to try to find a value for the constant of integration, and the code cannot reason about them further than that.
But in your case, it does not matter: even if you remove the boundary conditions, the system is too hard for MATLAB to solve.
More Answers (2)
KALYAN ACHARJYA
on 12 Feb 2021
Edited: KALYAN ACHARJYA
on 12 Feb 2021
The issues are here
f1=F1.f;
g1=F1.g;
h1=F1.h;
Here, lets say for first line of the code
f1=F1.f;
Whre F1 is the sym variable with size 1x4, whereas f is the sym function
>> whos F1
Name Size Bytes Class Attributes
F1 1x4 8 sym
>> whos f
Name Size Bytes Class Attributes
f 1x1 8 symfun
What exactly are you trying to do in these lines?
Variable Access??
randerss simil
on 12 Feb 2021
M2 M3 a1 k K L A Rd Br Pr Nb Nt G Le H
Assign values for above variables instead of symbolic variables,
As you are using only three equations, with 3 unknowns in x, f, g, h
Then you can solve it,
2 Comments
randerss simil
on 12 Feb 2021
dsolve expects, as many equations as the number of symoblic variables that constitute equations.
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!