TransWikia.com

NDSolve ERROR: There are more dependent variables, than equations, so the system is underdetermined

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}]

One Answer

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP