Funktionenliste in DGL-System < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich möchte ein System von (verknüpften) Differentialgleichungen aufstellen, also z.B.
[mm]x'(t)=y(t)[/mm]
[mm]y'(t)=x(t)[/mm]
und von Mathematica lösen lassen. Also in Mathematica:
dgln = [mm] \{ x'[t] == y[t], y'[t] == x[t] \} [/mm]
Haben die verschiedenen Funktionen (wie hier) unterschiedliche Namen, klappt das auch ohne Probleme. Allerdings möchte ich nicht nur mit 2 Funktionen, sondern mit n verschiedenen arbeiten. Daher werde ich um die Benutzung einer Liste von Funktionen nicht herumkommen.
Ersetze ich jedoch x durch [mm] z_1 [/mm] und y durch [mm] z_2, [/mm] also
dgln = [mm] \{ z[[1]]'[t] == z[[2]][t], z[[2]]'[t] == z[[1]][t] \} [/mm]
so gibt Mathematica Fehlermeldungen wie "Part::partd: "Part specification z[ [1] ] is longer than depth of object." aus.
Zwar gibt DSolve[dgln,[mm]\{z[[1]],z[[2]]\},t[/mm]] trotzdem das richtige Ergebnis aus, aber die Fehlermeldungen sind natürlich sehr unschön und ich bin nicht so sicher, ob es dadurch nicht doch Probleme gibt.
EDIT: ich habe nun eine Lösung für dieses Problem gefunden:
Mit der Funktion Subscript (bzw. Kurzwahl "Strg"+"-") ist es möglich, in Mathematica Indizierungen vorzunehmen, also z.B. durch
Table[Subscript[x,i]'[t]==Subscript[x,i][t], {i,1,n}] eine Liste von DGLs zu erstellen.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Sa 30.06.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|