![]() |
|
Registrieren | Hilfe | Benutzerliste | Interessengemeinschaften | Kalender | Suchen | Heutige Beitr?ge | Alle Foren als gelesen markieren |
Schulphysik und verwandte Themen Das ideale Forum für Einsteiger. Alles, was man in der Schule mal gelernt, aber nie verstanden hat oder was man nachfragen möchte, ist hier erwünscht. Antworten von "Physik-Cracks" sind natürlich hochwillkommen! |
![]() |
|
Themen-Optionen | Ansicht |
#1
|
|||
|
|||
![]()
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/ |
#2
|
||||
|
||||
![]()
Ich würde die Simulation in C wie folgt lösen:
PHP-Code:
PS: PHP-Code sollte eigentlich c-Code heißen. Statt die Wellen als COS-Funktionen darzustellen kann man diese auf Differenzahlgleichungen reduzieren: PHP-Code:
__________________
It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove — Antoine de Saint Exupéry Ge?ndert von Geku (12.05.23 um 10:44 Uhr) |
![]() |
Lesezeichen |
Stichworte |
scilab, simulation, wellengleichung |
Themen-Optionen | |
Ansicht | |
|
|