MATLAB Answers

dsolve code is not running

4 ビュー (過去 30 日間)
MINATI PATRA
MINATI PATRA 2021 年 2 月 12 日
コメント済み: MINATI PATRA 2021 年 2 月 12 日
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))

採用された回答

Walter Roberson
Walter Roberson 2021 年 2 月 12 日
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)
ans = 
F1 = dsolve(eqn, cond); f1 = F1.f; g1 = F1.g; h1 = F1.h; disp(collect([f1 g1 h1],x))
Warning: Unable to find symbolic solution.
Dot indexing is not supported for variables of this type.

Error in sym/subsref (line 902)
R_tilde = builtin('subsref',L_tilde,Idx);
  3 件のコメント
MINATI PATRA
MINATI PATRA 2021 年 2 月 12 日
Thanks
Walter
for your valuable suggestion. I think because of hghly nonlinearity, dsolve is unable to solve. Any way, I have solved with bvp code.

サインインしてコメントする。

その他の回答 (2 件)

KALYAN ACHARJYA
KALYAN ACHARJYA 2021 年 2 月 12 日
編集済み: KALYAN ACHARJYA 2021 年 2 月 12 日
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??
  1 件のコメント
MINATI PATRA
MINATI PATRA 2021 年 2 月 12 日
I want to find f g h in symbolic form

サインインしてコメントする。


randerss simil
randerss simil 2021 年 2 月 12 日
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 件のコメント
randerss simil
randerss simil 2021 年 2 月 12 日
Try with ode45 function

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by