|
|
|
Trapez- und Simpsonformel mit Fehlerbetrachtung |
|
| dielea310 |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 04.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2017, 13:00
Titel: Trapez- und Simpsonformel mit Fehlerbetrachtung
|
 |
| |
 |
|
Guten Tag,
für eine Hausarbeit muss ich folgende Aufgaben für diese Grundfunktion lösen:
g(x) = (sin(3x)/(x+1))*(e^(cos(x)²))
- Integral im Intervall 0 bis pi bestimmen mit Hilfe der
1) Trapezformel
2) Simpsonformel
Eingabeparameter sollen die Integraionsgrenzen (0,pi) und die Anzahl der Stützstellen sein. Für eine feste Anzahl an Stützstellen bekomme ich das auch hin, siehe folgender Code:
Nun muss ich in einem zweiten Schritt allerdings den absoluten Fehler der Methoden (im Vergleich zur Matlab quad()-Funktion) in Abhängigkeit der Anzahl der Stützstellen angeben. Hierzu möchte ich nS als Vektor z.B. nS = [2 : 1 : 1000] übergeben und als Ergebnis ebenfalls einen Trapez-Vektor bzw. einen Simpson-Vektor erhalten. Damit könnte ich dann weiterrechnen und den absoluten Fehler als Differenz zum quad()-Ergebnis in Abhängigkeit der Anzahl Stützstellen angeben.
Leider ist es mir nicht gelungen die Formeln so umzubauen, dass ich nS als Vektor eingeben kann. Ich bekomme immer wieder Fehlermeldungen, die ich nicht lösen kann.
Ich hoffe mir kann jemand helfen? Auch eine komplett neue Lösung wäre nicht schlimm, da es ja sein kann, dass mein Vorschlag nicht auf Vektoreneingabe umstellbar ist...
Vielen lieben Dank, ich benötige hier wirklich Hilfe.
Gruß, Lea
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.05.2017, 14:36
Titel: Re: Trapez- und Simpsonformel mit Fehlerbetrachtung
|
 |
| |
 |
|
Hallo dielea310,
Wenn Du ein Script schreibst, statt die Befehle im Command-Window einzugeben, wird der Code übersichtlicher und leichter zu editieren.
inline
ist seit langem "outdated". Verwende lieber eine "anonymous function":
| Zitat: |
| Eingabeparameter sollen die Integraionsgrenzen (0,pi) und die Anzahl der Stützstellen sein. |
Das klingt nach einer Funktion, nicht nach einem Skript.
Man kann den Vektor einfach "2:1000" schreiben. Das ":1" ist der Default-Wert und die eckigen Klammern sind der "Concatenation operator", der den Inhalt als Vektor zusammenfasst. 2:1000 is aber bereits ein Vektor, so gibt es nichts zusammen zu fassen.
Wenn nS ein Vektor ist, ist nS-1 ebenfalls einer. Vielleicht meinst Du:
Wenn Du ein Skript oder eine Funktion verwendest, kannst Du den Debugger benutzen um Problemen wie "Index exceeds matrix dimensions" zu untersuchen. Du kannst entweder Zeile für Zeile durch den Code gehen, oder zunächst
dbstop if error
im Command window eingeben. Dann stoppt Matlab automatisch, wenn ein Fehler auftritt.
Die Fehlermeldung bedeutet, dass Du versuchst auf ein Element eines Vektors zuzugreifen, das außerhalb des definierten Vektors liegt. Vielleicht hat yS nicht nS Werte oder weniger als n.
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 - 2025
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.
|
|