Guten Abend Martin
ich versuche ein gekoppeltes Gleichungssystem bestehend aus einer
partiellen Differentialgleichung und einer gewöhnlichen
Differentialgleichung mit NDSolve zu lösen. Laut Help Text sollte dies
möglich sein:
"The yi can be functions of the dependent variables, and need not
include all such variables."
Allein, NDSolve weigert sich das System zu lösen, wenn die zweite
Funktion nur von einer unabhängigen Variable abhängt. Erst wenn ich
die gewöhnliche DG als eine partielle DG schreibe, d.h. die zweite
Funktion als Funktion beider unabhängigen Variablen schreibe, klappt
es. Das beiligende Notebook enthält beide Fälle.
Mache ich im ersten Falle etwas falsch?
Jawohl: Die Variablen x und t sind unabhängige Variablen (_independent_
variables), oder mit anderen Worten, von Funktionen, die nicht von allen
unabhängigen Variablen abhängen, ist nicht die Rede in der Hilfe.
In der Konstruktion NDSolve[{eqn1, eqn2, ...}, {u1, u2, ...}, {x1, x1min,
x1max},
{x2, x2min, x2max}, ...] sind u1, u2, ... die abhängigen Variablen; x1,
x2, ... sind die unabhängigen Variablen.
Der Hilfetext steht im Zusammenhang mit Algebrodifferentailgleichungen
° NDSolve can solve many differential-algebraic equations, in which some
of the eqns are purely algebraic, or some of the variables are implicitly
algebraic.
° The Subscript[y, i] can be functions of the dependent variables, and
need not include all such variables.
und bezieht sich darauf, dass die y_i von einigen der Variablen, die in
die algebraischen Gleichungen eingehen, abhängen können.
Wenn Sie eine Gleichung haben, die nur von t abhängt, dann wäre das für
die partielle Differentialgleichung eine zeitabhängige (Rand)Bedingung,
d.h. das Problem muss dementsprechend formuliert werden. Anderenfalls
haben Sie keine Vorschrift, an welchen Stellen x das v[t] auf das u[t, x]
einwirken soll. Falls die Einwirkung von v auf u an _jeder_ Stelle x
stattfinden soll, dann muss das v[t] an _jeder_ Stelle definiert sein und
wird somit selbstredend zum v[t, x].
Gruss
Udo.