Seite 2 von 2

Re: Dirac-Delta-Funktion

Verfasst: 10. Dez 2016, 19:22
von positronium
Aber noch einmal wegen dem DiracDelta: Mathematica berechnet

Wie könnte man dann einen Dirac-Kamm definieren, der statt bei ganzen Zahlen z.B. bei jedem Drittel wirkt?

Re: Dirac-Delta-Funktion

Verfasst: 10. Dez 2016, 21:25
von skn
Hallo Positronium,

jetzt bin ich noch verwirrter. Wenn das Punkte im Dreidimensionalen sein sollen, warum verwendest Du keine Drehmatrizen? Weil Du die Zeitpunkte diskret haben möchtest? Aber dann solltest Du keine Differentialgleichungen verwenden, sondern Differenzengleichungen. Möglicherweise brauchst Du auch nicht die Dirac-Funktion sondern das Kronecker-Delta.

Distributionen können heimtückisch sein. Weiter oben wolltest Du z.B.

s3=NDSolve[A'[t]==DiracComb[t]2&&A[0]==0,A,{t,0,10}];

berechnen. Aber A[0]==0 ist undefiniert, weil A an der Stelle 0 gerade springt. NDSolve scheitert deshalb vermutlich.
positronium hat geschrieben:Wie könnte man dann einen Dirac-Kamm definieren, der statt bei ganzen Zahlen z.B. bei jedem Drittel wirkt?
Meinst Du sowas:



Viele Grüße
Steffen

Re: Dirac-Delta-Funktion

Verfasst: 10. Dez 2016, 22:19
von positronium
skn hat geschrieben:Wenn das Punkte im Dreidimensionalen sein sollen, warum verwendest Du keine Drehmatrizen?
Zum einen weil Drehmatrizen in 3D bei beliebiger Drehachse sehr unhandlich sind, und bei einer Differentialgleichung nur das Kreuzprodukt der anliegenden Vektoren als momentane Veränderung verwendet werden muss, und zum anderen weil an der Stelle die Wirkung des Feldes ansetzt, also, sobald obige Formel darum erweitert ist.
skn hat geschrieben:Weil Du die Zeitpunkte diskret haben möchtest? Aber dann solltest Du keine Differentialgleichungen verwenden, sondern Differenzengleichungen.
Nein. Auch der drehende Punkt ist Quelle eines Feldes. Das muss kontinuierlich sein.
skn hat geschrieben:Distributionen können heimtückisch sein. Weiter oben wolltest Du z.B.

s3=NDSolve[A'[t]==DiracComb[t]2&&A[0]==0,A,{t,0,10}];

berechnen. Aber A[0]==0 ist undefiniert, weil A an der Stelle 0 gerade springt. NDSolve scheitert deshalb vermutlich.
Es ist zwar richtig, dass der Anfangswert problematisch sein könnte. Es funktioniert aber auch nicht wenn ich z.B. A[0]=0.1 eingebe. Der Support von Wolfram hat das Problem auch mit den Entwicklern diskutiert. Das steht daher meiner Ansicht nach (bin ja kein Mathematiker) ausser Frage.
skn hat geschrieben:
positronium hat geschrieben:Wie könnte man dann einen Dirac-Kamm definieren, der statt bei ganzen Zahlen z.B. bei jedem Drittel wirkt?
Meinst Du sowas:

Ja. Hier habe ich Unsinn geschrieben. Das geht natürlich. Ich muss ja nur die ganze Formel mit 3 multiplizieren. Das Problem liegt an NDSolve, das den Faktor beim t nicht immer gleich behandelt hat. Deshalb hatte ich noch im Hinterkopf, dass ich nicht einfach multiplizieren könne.

Re: Dirac-Delta-Funktion

Verfasst: 11. Dez 2016, 16:38
von skn
positronium hat geschrieben: Es ist zwar richtig, dass der Anfangswert problematisch sein könnte. Es funktioniert aber auch nicht wenn ich z.B. A[0]=0.1 eingebe. Der Support von Wolfram hat das Problem auch mit den Entwicklern diskutiert. Das steht daher meiner Ansicht nach (bin ja kein Mathematiker) ausser Frage.
Noch mal zurück zu Deinem Beispiel

s1 = NDSolve[A'[t] == DiracComb[t] 2 && A[0] == 0, A, {t, 0, 10}];

Ich habe es mal so gelöst

g[t_, o_] := 1/Sqrt[2 Pi o^2] Exp[-t^2/(2 o^2)]
DiracCombS[t_, o_, n_] := Sum[g[t - i, o], {i, -n, n}]

s2 = NDSolve[A'[t] == DiracCombS[t, 0.05, 10] 2 && A[0] == 0, A, {t, 0, 10}];

Damit läuft dann Animate so wie Du es Dir wohl wünscht.

Re: Dirac-Delta-Funktion

Verfasst: 11. Dez 2016, 16:53
von positronium
Danke für den Vorschlag!
Es läuft aber leider nicht sprunghaft, und auch nur zwischen -n und n.
Eine ähnliche Lösung hatte ich mit

Hier läuft es zwar sprunghaft, aber für grosse n ist das nicht mehr berechenbar, und bei n=unendlich funktioniert es in NDSolve wieder nicht.
Vielleicht kaufe ich doch einmal die neue Version, oder versuche eine analytische Lösung zu finden; das wird aber dauern. Vielen Dank derweil!

Re: Dirac-Delta-Funktion

Verfasst: 29. Jan 2017, 16:50
von positronium
Jetzt habe ich mir das neueste Mathematica-Update vom Munde abgespart, und siehe da: Es funktioniert.
plot.gif
plot.gif (79.11 KiB) 5138 mal betrachtet