|
|
Euler Verfahren in 4 Schritten - DGL |
|
baller |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.12.2012, 18:56
Titel: Euler Verfahren in 4 Schritten - DGL
|
|
|
|
|
Hallo an alle Experten ich komm wieder mal mit einer Aufgabe nicht weiter.
Aufgabe:
Schreiben Sie eine octave-Funktion euler_no2, die für
das Anfangswertproblem zur chemischen Reaktion von Stickstoffdioxid:
DGL:
y ′ (t) = −k · y(t)2 ,
Startwert:
y(0) = 5,
k = 0.54,
mehrere Schritte des Euler-Verfahrens ausführt. Die Funktion soll in der Form
euler_no2(h,n)
aufrufbar sein, wobei h die Schrittweite und n die Anzahl der durchzuführenden Schritte ist.
Zum Testen:
Mit
euler_no2(0.1,4)
müssen sich folgende Ergebnisse,
y=3.6500
y=2.9306
y=2.4668
y=2.1382
ergeben.
Meine bisherigen Denkansätze sehen ungefähr so aus
DGL:
y ′ (t) = −0.54 · y(t)2 ,
Startwert:
y(0) = 5,
Anzahl der schritte:
4
Schrittweite:
0.1
Also ich habe die Aufgabe komplett Mathematisch gelöst (Blatt und Taschenrechner)
Bekomme es aber einfach nicht hin, dies in Matlab/Octave umzusetzen.
Krieg immer irgendwelche Fehlermeldungen.
Hat hierzu jemand eventuell ein anpassbares Skript? bzw. Hilfreiche Tipps für den Anfang?
Komm einfach nicht weiter. Ich hoffe hier ein paar "Profis" zu finden die mir bei der Lösung behilflich sein könnten.
Bedanke mich schon mal für alle Vorschläge und Hilfestellungen.
MFG
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.12.2012, 22:28
Titel:
|
|
Hallo,
Zitat: |
Hat hierzu jemand eventuell ein anpassbares Skript? |
Sollten sich mit Forum- oder Googlesuche finden lassen.
Zitat: |
Krieg immer irgendwelche Fehlermeldungen. |
Dann zeig doch mal, was du versucht hast.
Grüße,
Harald
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2012, 14:12
Titel:
|
|
Zuersteinmal danke für die Hilfsbereitschaft.
Hab gestern erstmal ruhen lassen. ('')
Hier mal mein bisheriger Versuch:
Hab versucht ein fertiges Skript an meinen Aufgabe anzupassen, klappt aber irgenwie nicht... .
Ich bedanke mich schon mal recht herzlich für alle Vorschläge und Hilfen.
Beschreibung: |
|
Download |
Dateiname: |
euler.m |
Dateigröße: |
293 Bytes |
Heruntergeladen: |
1125 mal |
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 14:20
Titel:
|
|
Hallo,
das Problem ist t(0)=t_0. Matlab indiziert ab 1.
Grüße, Marc
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2012, 14:55
Titel:
|
|
Ich habs jetzt noch einmal mit komplett eigener Logik probiert.
Und kann nun besser beschreiben wo das Problem liegt.
Im Eulerverfahren muss verwendet man ja die allgemeine Form.
y=y(n+1) + f(t(n+1);y(n+1)
Die werte vorher müssten ja in die allgemeine Form gebracht werden.
Nach meienr Logik innerhalb der for-Schleife
und genau das bekomm ich irgenwie nicht richtig hin...
Hier nochmal mein selbst erstellter code:
Danke schon mal an alle helfenden Köpfe.
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 15:40
Titel:
|
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2012, 15:50
Titel:
|
|
Hallo,
thx für die Anregungen.
@matfam:
Meinst du die null bei t_0 oder t(0)?
t_0 ist ja nur die Variable. Und sollte keine Problem verursachen.
und bei t(0) wird der y-wert 5. Ich kann die Startwerte ja nicht einfach ändern.
Das Problem ergibt sich auch erst bei der for-Schleife (s. neuen Post) vorher stimmt ja alles soweit. Werte werden richtig in die DGL übernommen.
Hab nur Probleme in der Schleife... ???? Ich glaub irgendwas an der Formel schient noch nicht richtig zu sein.
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 16:03
Titel:
|
|
Ne, vorher stimmte auch so einiges nicht. Ich weiß nicht, wo dein Problem ist. t(0) funktioniert nicht. Matlab unterstützt das nicht. Indizes beginnen mit 1! Überhaupt bedeutet t(i) und y_n(i) nicht sowas wie f(i), also nichts Funktionales. Mit i zählt man lediglich die Wertepaare durch. Man kann mein Beispiel noch mit dem Zeitvektor erweitern:
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2012, 16:35
Titel:
|
|
Ah ok das mit den Indizes hatt ich falsch verstanden.sorry und ein herzliches Dankeschön an dich (MaFam).
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 16:48
Titel:
|
|
Prima.
P.S. Der Sinn des Lebens ist übrigens nicht die Sinngebung, sondern, bloß nicht nach einem Sinn zu fragen... (Nicht ganz ernst gemeint.)
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 17:48
Titel:
|
|
Hallo MaFam,
Der Sinn des Lebens liegt in einem psychogonischen Würfel der Kantenlänge 10.
Beweis:
Gruß, Jan
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 10.12.2012, 18:41
Titel:
|
|
Ein "psychogonischer Würfel"... Selbst google weiß nichts darüber. Dann muss es ein sehr tiefer Sinn sein.
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2012, 18:48
Titel:
|
|
noch mal vielen Dank an alle Helfer besonders an MaFam.
Das wäre meine bisherige "Musterlösung" zur Aufgabe.
Müsste nur noch die Aufrufbarkeit "euler(h,n)" integrieren.
Falls hierzu noch jemand tipps hätte -jederzeit-.
Aber für heute mach ich erstmal Schluss.
Danke an alle und allen im Forum noch einen schönen Abend
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 11.12.2012, 09:56
Titel:
|
|
Nun, dann packst du noch einen Funktionskopf darüber und übergibst die entsprechenden Parameter. Als Rückgabewerte eignen sich natürlich t_n und y_n.
|
|
|
baller |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 21.10.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.12.2012, 20:30
Titel:
|
|
Servus,
an alle nochmal.
des ist mein ergebniss bisher, dank aller helfenden Köpfe.
Bei der Ausgabe haut es mir jetzt immer zwei "ans=" rauß.
Eine mit den Näherungslösungen (für die Parameter n & h). und einen immer inkl. dem Startwert 5.
Kann man des irgend wie unterbinden? Auch wenn es sich nur noch um einen Schönheitsfehler handelt.
Aber wie gesagt die Hauptprobleme wurden dank kompetenter Hilfe beseitigt.
Schönen Abend an alle und eventuell kommt ja noch ein Tipp zum Schönheitsfehler.
_________________
Der Sinn des Lebens ist dem Leben einen Sinn zu geben.
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|