|
|
Adaptives Verfahren zur numerischen Berechnung des Integrals |
|
opaschlumpf |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 30.11.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.12.2011, 16:35
Titel: Adaptives Verfahren zur numerischen Berechnung des Integrals
|
|
|
|
|
Wir haben nun wiederum Probleme beim Programmieren dieses adaptiven Programms, wir haben auch einen Lösungsansatz, jedoch wird uns gesagt, dass eine Matrix dimension nicht stimmt.
Implementieren Sie ein Programm adaptiv(zerl,f,tol), ausgehend von einer beliebigen Zerlegung
zerl und einer beliebigen Funktion f, welches das Integral |f(x) dx (in den Grenzen a,b) approximiert und folgendermaßen
ablaufen soll:
1. Starte mit einer beliebigen Zerlegung von [a; b], z.B. mit zerl=[a b].
2. Berechnen Sie auf jedem Teilintervall eine Näherung unter Verwendung der Trapez - Regel und der Simp-
son - Regel. Wenn der absolute Fehler zwischen den beiden Näherungen auf den Teilintervallen größer
als die vorgegebene Toleranz tol ist, so sollen diese Teilintervalle halbiert werden. Die anderen Teilin-
tervalle sollen bestehen bleiben. Dies wiederholen Sie solange bis eine Zerlegung erreicht wurde, bei der
der absolute Fehler auf jedem Teilintervall kleiner oder gleich der Toleranz ist. Als Näherungswert für
das Integral benutzen Sie dann den Wert aus der Simpson - Regel.
Ihr Programm soll die Zerlegung, für die dies erreicht wird, und den Näherungswert des Integrals ausgeben.
soll ich unseren Vorschlag einfach mal hier posten?
|
|
|
|
|
opaschlumpf |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 30.11.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.12.2011, 16:57
Titel:
|
|
dies ist unsere "verfeinerungs"-funktion
dies ist unsere eigentliche adaptive funktion, bei der wir mit simpson auf unsere vorher definierte Funktion für die Simpson Regel verweisen.
und die Fehlermeldung dazu:
error: A(I): Index exceeds matrix dimension.
wobei er hier auf die Datei refine.m verweist, line 2 column 7.
wir haben schon öfter drübergesehen, konnten aber leider keinen Fehler feststellen
Vielen Dank für eure Hilfe
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 05.12.2011, 21:11
Titel:
|
|
Hallo opaschlumpf,
Bitte poste immer eine Kopie der orginalen Fehlermeldung.
"error: A(I): Index exceeds matrix dimension." ist sehr merkwürdig, da ich gar kein "A(I)" in dem geposteten Code finden kann.
Und welches ist denn die Zeile 2, Spalte 7 in File refine.m?
Die Funktion "refine" Berechnet die Ausgabe "r" gar nicht:
Meinst Du "r = sort(zerl)"?
Gruß, Jan
|
|
|
opaschlumpf |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 30.11.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.12.2011, 13:29
Titel:
|
|
Danke für die schnelle Antwort,
also das war jetzt leider nicht das Problem, im Endeffekt hat er uns bei refine schon eine Ausgabe gegeben. Hier nochmal die gesamte Fehlermeldung:
Befehl von mir:
und der error dazu:
ich gehe davon aus, dass er Probleme hat die Länge von m irgendwie dann in der funktion addaptiv zu implementieren, kann aber auch sein, dass ich mich irre.
|
|
|
Verschoben: 06.12.2011, 20:29 Uhr von Jan S Von Programmierung nach Octave-Forum |
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 06.12.2011, 20:30
Titel:
|
|
Hallo opaschlumpf,
Bitte poste Frage zu Octave im Octave-Forum. Das erspart denjenigen Zeit, die versuchen zu helfen.
Gruß, Jan
|
|
|
|
|
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.
|
|