|
whitecrane19 |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 16:41
Titel: Numerische Integration
|
 |
|
 |
|
Hallo Community,
hätte einige Fragen zum Thema Numerische Integration. Ich fange am besten mit meiner ersten Frage an.
Ich möchte die Länge L einer parametrischen Kurve x=f(t) und y=g(t) in einem vorgegebenen Intervall [a,b] berechnen durch numerische Integration mit einer Newton-Cotes-Formel berechnen.
Als Beispiel nehme ich f(t) = cos(t) und g(t)=sin(t) im Intervall t[0,2pi]
1. Ich möchte die Funktionen grafisch darstellen und dabei eine inline Funktion benutzen. Leider funktioniert es nicht so, wie ich möchte. Aktuell sieht mein Beispiel wie folgt aus:
Soweit dürfte es richtig sein, aber eben ohne inline-Funktionsunterprogramm.
Hat jemand eine Idee? Suchfunktion in Matlab habe ich benutzt aber eventuell mache ich Fehler bei der Syntax.
b) würde ich zusätzlich erfahren, wie ich die numerische BErechnung des Integrals mit Hilfe der Newton Cotes Formel berechnen kann?
Als Idee würde ich eine for-Schleife nehmen oder mit dem sum-Befehl.
Die für die Berechnung des Integranden erforderlichen Ableitungsfunktionen müsste ich ja dann der Einfachheithaklber per Hand berechnen oder und dann als inline-Funktion integrieren?? Optimal wäre natürlich die Zahl für die Teilintervalle frei wählbar zu gestalten, um verschiedenen Tests durchzuführen, aber das sollte kein Problem sein.
Danke vorab!
|
|
|
|
|
Bibonaut |

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 06.06.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: 2013a
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 17:14
Titel:
|
 |
Hallo,
dein Beispiel wird einen Fehler melden und zwar kannst du sin(t) und cos(t) nicht auswerten, bevor du nicht t definiert hast.
Eine Inline-Function heißt in Matlab seit längerem (?!) Anonymous-Function.
Für dein Beispiel wäre die Syntax
f = @(argument) sin(argument) ...
Für dein Beispiel macht das aber keinen Sinn, die Sinusfunktion, welche ja schon eine Funktion, nochmal als Anonymous Function "f" zu definieren.
Welche Ableitungsfunktion meinst du konkret? Habe mir gerade mal die Newton-Cotes Formel bei Wikipedia angeschaut und kann dort und auch bei den Lagrangen Polynomen auf Anhieb keine Ableitungen finden.
Viele Grüße
Alex
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 17:57
Titel:
|
 |
Die für diese Aufgabe erforderlioche Newton-Cotes Formel fehlt mir , wie ich gerade feststellen muss.
Es macht für das Beispiel keinen Sinn, aber ich könnte es trotzdem umschreiben und als Anonymous deklarieren
EDIT:
Ich habe das jetzt so geregelt:
Das plotten funktioniert soweit. Ich sehe beide Verläufe.
Nun meine Frage: Ich möchte die die numerische Berechnung des Integrals mit Hilfe einer simplen Newton-Cotes-Formel berechnen. Die Berechnung der Summe könnte ich ja z.B. mit Hilfe einer for-Schleife oder mit dem sum-Befehl realöisieren.
Jemand eine Idee?
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 19:50
Titel:
|
 |
Ach und die Länge für eine Kurve ist folgende:
Daher schrieb ich vorhin, dass ich die Funktionen von Hand aus einfach ableiten könnte und dann das Ergebniss als Inline deklarieren. Aber wozu brauche ich jetzt die Newton-Cotes Formel bzw wie verwende ich diese?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 20:14
Titel:
|
 |
du solltest dich an bibonauts vorschlag halten anonyme funktionen zu verwenden.
Zitat: |
inline will be removed in a future release. Use Anonymous Functions instead. |
_________________
richtig Fragen
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 20:19
Titel:
|
 |
hmm, ok, komme aber trotzdem nicht weiter, vor allem n icht, wenn ich satatt cos(t) z.B. nur t ausgeben möchte, und das in der FUnktion lediglich ersetze ...
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.10.2013, 22:46
Titel:
|
 |
Hallo,
was bedeutet "nur t ausgeben"?
Was spricht gegen eine Integration beispielsweise mit INTEGRAL, bzw. in älteren Versionen mit QUAD?
Grüße,
Harald
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 08:21
Titel:
|
 |
Ich möchte alternativ zum Berechnen von L oben die Trapez Formel aus Matlab verwenden. Wenn ich jetzt meine beiden Funktionen sinx und cosx integriere und in die Formel einfuege, wie programmiere ich das in Matlab?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 09:16
Titel:
|
 |
Hallo,
Trapezformel: TRAPZ. Zur Anwendung siehe die Dokumentation
Grüße,
Harald
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 08:38
Titel:
|
 |
Sorry, Trapez Formel ist hier Fehl am Platz. Hab mich vertan. Muss doch mit Newton Cotes irgendwie gehen, hab aber absolut keine Idee ... wie ich die Länge L oben nun berechnen kann, wenn ich die Funktionen bereits integriert habe ...
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 09:56
Titel:
|
 |
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 11:32
Titel:
|
 |
ich möchte das Ganze selbst realisieren. Dies sollte doch mit einer for Schleife oder sum möglich sein ... mir ist nur nicht klar wie ich meine Funktionen fx=sinx und gx=cosx die ich per Hand in Fx=cosx und Gx=-sinx integriert habe nun in Matlab mit Newton Cotes Formel so berechnen lasse, dass ich die Länge L (siehe Formel oben) erhalte ...?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 12:30
Titel:
|
 |
Hallo,
ich sehe keinen Weg, aus den Integralen von f und g direkt die Kurvenlänge zu ermitteln. Ich würde unmittelbar die Formel implementieren: Ableitungen annähern und dann über diese integrieren.
Grüße,
Harald
|
|
|
whitecrane19 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 12:49
Titel:
|
 |
ok wie sieht das in Matlab den genau aus? Es muss ja eine Möglichkeit geben ...
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.10.2013, 12:58
Titel:
|
 |
Hallo,
numerische Ableitung bilden:
Integrieren dann z.B. mit trapz oder eben anderen Methoden.
Grüße,
Harald
|
|
|
|
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 - 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.
|
|