| Autor |
Nachricht |
| Henri |
Verfasst am: 28. Jun 2015 08:39 Titel: |
|
Habe es jetzt auf die schöne Variante wie in dem Link hinbekommen, danke
Jetzt habe ich ein anderes Problem, und zwar möchte ich in L ein paar der Ausdrücke ersetzen, um das schöner aufschreiben zu können. Solche Sachen wie Drehimpuls, die nicht genau in der Form in L stecken, wie ich sie ersetzen will, aber ähnlich. Ich habe es mit Replace, Replace All und Simplify mit TransformationFunction probiert, aber mathematica hat die Größen die ich angegeben habe, nicht eingesetzt. Hat vielleicht jemand eine Idee auf welche Weise das klappen würde? Also beispielsweise möche ich in L die folgende Größe ersetzen:
| Code: | | L^~ = r^2 \[Phi]'[\[Tau]] |
Lg |
|
 |
| jh8979 |
Verfasst am: 26. Jun 2015 19:41 Titel: |
|
| Henri hat Folgendes geschrieben: |
| Code: | eqn = Dt[D[L, r'[\[Tau]]], \[Tau]] - D[L, r[\[Tau]]] == 0;
DSolve[eqn, r[\[Tau]], \[Tau]] |
|
Ja, das geht auch, wenn Du L richtig definierst
| Code: | L = 1/2 (1 - (2 G M)/(c^2 r[\[Tau]])) c^2 t'[\[Tau]]^2 -
r'[\[Tau]]^2/(2 (1 - (2 G M)/(c^2 r[\[Tau]]))) -
1/2 r[\[Tau]]^2 phi[\[Tau]]^2 |
Ich würde aber vorsichtig sein mit Ableitungen nach komplexen ausdrücken wie r'[t]... sobald da nicht r'[t]^2 steht sondern, r'[s]^2 oder so, kann mathematica das nicht mehr |
|
 |
| Henri |
Verfasst am: 26. Jun 2015 19:34 Titel: |
|
So müsste es doch dann eigentlich auch gehen:
| Code: | eqn = Dt[D[L, r'[\[Tau]]], \[Tau]] - D[L, r[\[Tau]]] == 0;
DSolve[eqn, r[\[Tau]], \[Tau]] |
Ich bekomme dann allerdings nur "Equation or list of equations expected instead of True in the first argument"
Danke für den Link, da werde ich mich mal einlesen. Mit Mathematica komme ich bisher eher schlecht zurecht
Lg |
|
 |
| jh8979 |
Verfasst am: 26. Jun 2015 14:48 Titel: |
|
Mal abgesehen davon, dass sich die entstehende Lagrangegleichung nicht so einfach lösen lässt, funktioniert das mit dem Ableiten nicht so wie Du das machst: Mathematik weiss nicht z.B. was Funktionen sind und was Konstanten. Die Syntax ist auch nicht immer korrekt:
liefert z.B. immer Null.
Ich würde das ganze so eingeben (quick and dirty):
| Code: |
L = 1/2 (1 - (2 G M)/(c^2 r)) c^2 tp^2 - rp^2/(
2 (1 - (2 G M)/(c^2 r))) - 1/2 r^2 phip^2
eqn = (D[D[L, rp] /. {r -> r[\[Tau]], rp -> r'[\[Tau]]}, \[Tau]] - (D[
L, r] /. {r -> r[\[Tau]], rp -> r'[\[Tau]]}, tp -> t'[\[Tau]],
phip -> phi'[\[Tau]]) == 0)
DSolve[eqn, r[\[Tau]], \[Tau]]
|
(copy und paste wäre bei Deinem Beispiel übrigens auch hilfreicher gewesen als ein Screenshot ).
Wenn Du das richtig ordentlich machen willst, dann kannst Du auch hier sehen wie man das eleganter machen kann:
http://library.wolfram.com/infocenter/MathSource/496/ |
|
 |
| Henri |
Verfasst am: 26. Jun 2015 14:22 Titel: Mathematica - Problem beim DSolve |
|
Hi,
Vielleicht kennt sich ja jemand mit Mathematica aus; ich stehe damit auf Kriegsfuß und wollte Lagrange-Bewegungsgleichungen damit lösen und es gelingt mir nicht. Also ich schreibe L = ... (ellenlange Lagrangefunktion), in der nächsten Zeile dann DSolve[Langrangegleichung, r(tau), tau]. Meine generalisierten Koordinaten wären r, und phi
Ich hab mal einen Screenshot gemacht, falls jemand Lust hat drüberzuschauen würde ich mich freuen...
http://up.picr.de/22358633tq.png
Lg |
|
 |