Mathematica Asked by Grigory on March 3, 2021
I have a question concerning NDSolve and a system of differential equations. I have 4 variables and 4 equations. Why do I get this ERROR :There are more dependent variables, {f[j,p],U[j,p],(f^(0,1))[j,p],(U^(0,1))[j,p]}, than equations, so the system is underdetermined. ???
V = 1000; ρ = 0.000013; L = 37;
eqns = {V p D[f[j, p], j] + j D[U[j, p], j] + U[j, p] + 6 ρ L j == 0,
V f[j, p] + V p D[f[j, p], p] + j D[U[j, p], p] == 0};
vars = {f[j, p], U[j, p]};
inits = {f[5, 10] == 0.1048, U[5, 10] == 3.6};
res = NDSolve[{eqns, inits}, vars, {j, p}]
To elaborate on my earlier comment, eqns
can be rewritten as
eqns1 = {V D[p f[j, p], j] + D[j U[j, p], j] + 6 ρ L j == 0,
V D[p f[j, p], p] + D[j U[j, p], p] == 0};
That the two are equivalent can be verified by
Simplify[eqns == eqns1]
(* True *)
Introducing the new dependent variable,
g[j, p] == V p f[j, p] + j U[j, p]
further simplifies the equations to
eqns2 = {D[g[j, p], j] + 6 ρ L j == 0, D[g [j, p], p] == 0}
Neither DSolve
nor NDSolve
can handle these equations without human assistance, because there are two equations but only one dependent variable. However, the solution of these two equation clearly is
(* g[j, p] + 3 ρ L j^2 == c *)
with c
a constant to be determined by a boundary condition. Inserting inits
from the question yields after a small amount of algebra,
{* c -> 1066.036075 *}
Note that g
is independent of p
.
Answered by bbgodfrey on March 3, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP