Eulerverfahren < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 00:29 Do 03.01.2008 | Autor: | Sercan20 |
Aufgabe | Hallo,
Ich habe ein verständnisproblem mit einer mathematischen Aufgabe.
Ich muss ein Programm programmieren mit der ich eine Differentialgleichung mithilfe von dem eulerverfahren näherungsweise lösen kann. Ich habe mich mit dem Eulerverfahren und Differentialgleichung in den letzten Tagen befasst und es verstanden. Ich habe verstanden das das Eulerverfahren mithilfe der gegenen Differentialgleichung und dem Anfangswert einen neuen Punkt ermittelt und mit diesen und der DGl einen weiteren Punkt usw ermittelt. Ich habe mich aber nur mit leichten Aufgaben wie y´=2t befasst.
Leider ist die Programmieraufgabe um einiges schwieriger. Ich habe einen Screenshot von der Aufgabe gemacht:
http://img201.imageshack.us/my.php?image=eulerbb3.jpg
Diese Aufgabenstellung ist sehr unverständlich für mich und ich verstehe es leider nicht.
Ich weiss nciht was ich mit lambda bi und ai anfangen soll. Vielleicht kann mir jemand helfen . Ich würde mich sehr freuen, da es für mich um sehr viel geht, wenn ich dieses Programm nicht bis mitte Januar habe... muss ich mein Studium beenden :-( .
|
Wie funktioniert dieses eulerverfahren bei dieser aufgabenstellung mit ai , bi und lambda als koeffizenten . Ich habe mich auf der Seite http://www.numerik.mathematik.uni-mainz.de/didaktikseminar/Gruppe8/index.html mit dem Eulerverfahren und Differentialgleichungen beschäfigt, leider hat es mir nicht viel geholfen. Ich hoffe einer kann mir helfen, da es bei mir um sehr viel geht :-(((
freundliche Grüße
Sercan 20
|
|
|
|
Hallo!
ich denke, so viel schwieriger ist diese Aufgabe nicht.
Schreiben wir es mal aus:
[mm] $y'(t)=(b_1t+b_2t^2+b_3t^3)*e^{- \lambda t} -(a_0\cos t+a_1t+a_2t^2+a_3t^3+a_4t^4)*y [/mm] $
Die [mm] a_i [/mm] , [mm] b_i [/mm] und [mm] \lambda [/mm] sind neun Konstanten, die anfangs angegeben werden müssen. Entweder direkt als Definition in deinem Code, oder mittels Abfrage vor dem eigentlichen Programmteil.
Mach dir am besten eine Subfunktion, die dir abhängig von y, t und diesen 9 Parametern diesen langen Ausdruck berechnet. Das ist eigentlich schon alles.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:19 Sa 05.01.2008 | Autor: | Sercan20 |
Aufgabe | Hallo Event_Horizon,
erstmal vielen Dank für deine Hilfe. Ich bin jetzt aber sehr verwirrt. Die Aufgabenstellung ist so:
http://img201.imageshack.us/my.php?image=eulerbb3.jpg
Du meintest ja das man a(t) und b(t) so berechnen muss:
http://img148.imagevenue.com/view.php?image=90238_unbekannt5_122_1052lo.JPG
und ich 9 Konstante einlesen muss. Darauf habe ich mein Coding geändert:
http://img197.imagevenue.com/view.php?image=90402_Unbenannt_122_114lo.JPG
Ich war mir auch sicher das es so richtig ist, aber heute habe ich von jemand anderen, der das gleiche Projekt macht, erfahren das er nur 4 Konstante einliest( [mm] a_0, a_i, b_i [/mm] und Lambda) . Mein ursprüngliche Gui sah so aus:
http://img14.imagevenue.com/img.php?image=90160_unbekan4_122_687lo.JPG
aber nachdem du gesagt hattest, das man 9 Konstante einlesen muss , und ich mir so auch nicht sicher war ob es richtig ist, habe ich mein Code geändert. Ich habe jetzt beide Versionen auf meinem PC. Ich muss es am Montag abgeben, und jetzt weiss ich nicht welche Version ich abgeben muss. Ich hoffe du oder jemand anderer hier kann mir helfen.
Freundliche Grüße
Sercan 20 |
siehe oben
|
|
|
|
|
Hallo!
Zunächst, hinter den beiden mittleren Links verstecken sich zwei junge Damen (die zum Glück vollständig bekleidet sind...), ich glaube nicht, daß die Ahnung von deinen Problemen haben...
Generell ist es auch keine so gute Idee, die Bilder hier als Link reinzustellen (Zumindest hättest du richtige Links draus machen können...)
Du kannst hier auch selber Bilder einfügen, dazu mußt du nur [img] 1 [/img] eintippen (Und die NUmmer schrittweise erhöhen). Nach dem Absenden des Beitrags kannst du dann die Bilder hochladen.
Zu deiner Aufgabe: Du mußt auf jeden Fall die neun Parameter alle abfragen, denn wenn du die Summe ausschreibst, stehen da ja neun Parameter, und nicht drei!
Wie würdest du denn sonst diesen Ausdruck berechnen?
Du könntest zwar mit FOR-Schleifen die Summenzeichen auch in deinen Quelltext implementieren, dann bräuchtest du aber auch Felder für die a's und b's:
def y_strich(y,t):
ergebnis =0.0
for i in range(1, 4):
ergebnis+=b[i]*POW(t,i)
ergebnis=ergebnis*exp(-lambda*t)
ergebnis+=a[0]*COS(t)*y
for i in range(1, 5):
ergebnis+=a[i]*POW(t,i)*y
return ergebnis
(Das ist Python)
|
|
|
|