Entwicklung von Differential-Gleichungen simulieren
Hallo!
Ich hab mal ein grundlegend mathematisches Problem:
Wie simuliert man eine Differential-Gleichung? Sprich, wie funktioniert eine numerische Entwicklung?
Ganz einfaches Modell: eine linkslaufende (+k) und eine rechtslaufende Welle (-k)
sollten sich zu einer Stehwelle summieren.
Ich hab jetzt das Problem, dass die numerische zeitliche Entwicklung asymmetrisch ist. Und zwar egal ob in Excel oder in SciLab. Es liegt also am mathematisch-numerischen Ansatz. Entweder beide Wellen evolvieren in plus oder in minus-Richtung. Daran ist im folgenden Pseudocode nur ein Vorzeichen schuld. Ob ich erste und zweite Ableitung auf die "Integrale" addiere oder subtrahiere. Im Grunde sehen die Wellen in beiden Fällen ok aus, bis auf diese zeitliche Asymmetrie..
Der Pseudocode in SciLab (abgesehen von initialisieren und Schleifen usw):
DAs ganze ist nur eindimensional. Was mache ich falsch beim "integrieren"?
- das ganze auf einer "geschlossenen Kurve". Die Ränder sind verknüpft.
fi: erste Ableitung
ffi: zweite Ableitung
v: erste Summation "Geschwindigkeit"
s: zweite Summation "Elongation"
for i=1:nFrames
for j=2:1999
fi(j)=(u(j+1)-u(j-1))/2/0.006;
end
fi(1)=(u(2)-u(2000))/2/0.006;
fi(2000)=(u(1)-u(1999))/2/0.006;
for j=2:1999
ffi(j)=(fi(j+1)-fi(j-1))/2/0.006;
end
ffi(1)=(fi(2)-fi(2000))/2/0.006;
ffi(2000)=(fi(1)-fi(1999))/2/0.006;
for j=1:2000
v(j) = ffi(j)*0.006+fi(j);
end
for j=1:2000
s(j)= v(j)*0.006+s(j);
u(j)=s(j);
end
end
Hab bisher keine Arbeit in der Richtung gefunden.. DANKE!
GRüße, ghosti
__________________
Koordinatensysteme sind die Extremstform von Egoisten- sie beziehen alles auf sich selbst.
http://thorsworld.net/
|