www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Uni-Numerik" - Funktion aus Werte-Paar
Funktion aus Werte-Paar < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Numerik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktion aus Werte-Paar: Frage
Status: (Frage) beantwortet Status 
Datum: 16:36 Do 24.03.2005
Autor: Versuchsratte

Guten Tag,

Ich habe folgendes Problem, und würde mich sehr auf eine baldige Beantwortung freuen.

Gegeben sind die Versuchsergebnisse als Wertepaare im X-Y-Koordinatensystem.

Aus diesen etwa 500 Wertepaaren will ich mir eine Funktion (wenn moeglich 3ten Grades) herleiten.
Dies will ich als Makro in VBA programmieren.

Meine Frage lautet nun;
Mit welchem Verfahren kann ich auf die Funktion schliessen, und wie funktioniert dieses Verfahren?



--------------------------------------------------------------------------------------------- Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Funktion aus Werte-Paar: Antwort
Status: (Antwort) fertig Status 
Datum: 11:59 Fr 25.03.2005
Autor: DaMenge

Hi,

also mit Funktionentheorie scheint es mir hier nichts zu tun zu haben - ich verschiebe es mal in die Numerik.

Zu deiner Frage : für ein Polynom dritten Grades reichen vier Punkte aus um es eindeutig zu bestimmen - jeder zusätzliche Punkt bedeutet dann ein überbestimmtes Gleichungssystem, dass man dann möglichst Minimal bzgl. irgendeiner Größe Lösen muss - normaler  Weise verwendet man dann die Methode der kleinsten Fehlerquadrate oder Ähnliches.
Nachteil: Der Graph muss noch nichtmal durch einen der Punkte gehen
Vorteil: relativ übersichtliche (aber mit minimalem Fehler behaftete) Funktion für alle Punkte

Es gibt aber auch noch die Möglichkeit, dass du jeweils vier Punkte zusammenfasst und darauf ein kubisches Polynom machst und dann den letzten Punkt davon mit den nächsten drei zusammenfasst und darauf das nächste kubische Polynom herleitest - das wären dann kubische Splines
Vorteil: Der zusammengesetzte Graph geht durch alle Punkte
Nachteil viel Polynome zusammengesetzt, aber auch nur stückweise kubisch.

Jetzt kommt es darauf an, was du machen willst und wieviel Vorwissen du schon hast, dann kann man dir bestimmt weiter helfen.

viele Grüße
DaMenge

Bezug
        
Bezug
Funktion aus Werte-Paar: Antwort
Status: (Antwort) fertig Status 
Datum: 15:37 Fr 25.03.2005
Autor: HJKweseleit

Ich gehe bei meiner Antwort von folgenden Voraussetzungen aus:

1. Du meinst: Bei einer Messreihe gehorchen die y-Werte dem Gesetz

   y = [mm] a*x^{3}+b*x^{2}+c*x+d. [/mm]

  Dabei sind a, b, c und d mit Hilfe der Messwerte zu bestimmen.

  Wegen der Messungenauigkeiten lassen sich diese aber nicht genau bestimmen; deshalb werden ein paar hundert Messungen durchgeführt (für 4 Unbekannte würden sonst 4 reichen), und aus diesen sollen die "besten" Werte ausgewählt werden.

2. Du bist mit Matritzenrechnung vertraut (sonst wird alles zu kompliziert).


-------------------------------------------------------------------------------------------
Lösung (für 4 Unbekannte und 500 Messwerte):

Ansatz: Stelle dir vor, du hättest die Werte a, b, c und d gefunden und sie würden  zu allen Messwerten genau passen. Gib in dein Programm alle 500 x-Werte ein. Bilde daraus die Matrix A mit 500 Zeilen und 4 Spalten.

In der 1. Zeile gibst du von Messwert   [mm] x_{1} [/mm] der Reihe nach (natürlich per Programm errechnet) die Werte [mm] x_{1}^{3}, x_{1}^2, x_{1} [/mm]  und 1 ein. In die 2. Zeile gehört demnach von [mm] x_{2} [/mm] die Folge  [mm] x_{2}^{3}, x_{2}^2, x_{2} [/mm] und 1 usw. bis zur 500-sten Zeile.

Als nächstes bildest du den Spaltenvektor s mit den Variablen a, b, c und d.

Wenn du nun dir richtigen Zahlen für a, b, c und d kennen würdest, ergäbe das Matritzenprodukt A*s einen 500-zeiligen Spaltenvektor, der in jeder Komponente genau die passenden y-Werte enthielte, die zu dem Gesetz und damit zu deinen Messwerten passen würde. Bilde also noch einen 500-zeiligen Spaltenvektor y mit deinen 500 Messwerten (jeweils passend für die zeile mit den x-Werten.)

Betrachte nun die Gleichung A*s=y. A und y sind bekannt, s unbekannt. Wenn die Messwerte das Gesetzt genau erfüllen, musst du "nur" das Gleichungssystem lösen. Es ist überbestimmt, die ersten 4 Zeilen würden zur Lösung genügen.

Tatsächlich stellst du nun fest, dass in Folge der Messfehler kein Vektor s gefunden werden kann, ohne dass sich Gleichungen widersprechen. Gesucht ist somit keine genaue Lösung (zu den ungenauen Messwerten gibt es sie nicht), sondern nur die "beste".

Definition: Unter der "besten" Lösung des o.a. Gleichungssystems verstehe ich den Vektor s, bei dem folgendes geschieht:

Kennt man s und rechnet man die linke Seite der Gleichung A*s aus, erhält man einen Spaltenvektor mit "theoretischen" y-Werten. Nun Bildet man den Differenzvektor zu den "gemessenen" y-Werten. Dieser Vektor enthält komponentenweise die Fehler. Die "beste" Lösung ist diejenige, bei der die Summe dieser Fehlerquadrate minimal wird.

Dies ist der theoretische Hintergrund für die Begründung des nun folgenden einfachen Lösungsverfahrens:

Du bildest nun noch die zu A transponierte Matrix [mm] A^{T} [/mm] und multiplizierst das obige Gleichungssystem von links mit   [mm] A^{T}: [/mm]

  ( [mm] A^{T}*A)*s=A^{T}*y [/mm]

Dieses Gleichungssystem hat nur noch 4 Zeilen und ist leicht mit dem Gauß-Verfahren (oder gar per Hand ) zu lösen. Du erhältst sofort a, b, c und d. Es sind diejenigen Werte, die die Summe der Fehlerquadrate zwischen den aus den x-Werten errechneten und den tatsächlich gemessenen y-Werten
minimal machen.

Eine theoretische Beweisführung, dass das Verfahren mit der Multiplikation von links mit [mm] A^{T} [/mm] so funktioniert, würde den Rahmen dieses Artikels sprengen. Ich kann aber leider auf kein Lehrbuch verweisen, da ich dies noch nirgendwo gefunden, sondern mir als Student mal selber überlegt habe.




Bezug
        
Bezug
Funktion aus Werte-Paar: Rückfrage
Status: (Frage) beantwortet Status 
Datum: 12:09 Di 29.03.2005
Autor: Versuchsratte

Zunächst mal vielen Dank für die Antworten, die bringen mich schon etwas weiter, da ich nun weiss nach was ich suchen soll...

Da ich ein eigenständiges Programm in Visual Basic erarbeiten will, wäre es gut wenn ich die Idee mit der Matrixberechnung umgehen könnte, da dies sehr umständlich zu programmieren ist. Obwohl die Idee schon sehr meinen Bedürfnissen entspricht...

Ich würde gerne die "Methode der kleinsten Quadrate"einsetzen. Doch leider habe ich im Internet noch keine Vorgehensweise für den nicht linearen Fall gefunden. Es wird lediglich die lineare Regression angesprochen. Ich würde gerne, wie oben beschrieben, eine Funktion 3. Grades erhalten.
Könnten mir bitte Eine/r kurz Beschreiben wie diese Methode im nicht linearen Fall funktioniert, oder eventl. einen Link angeben wo ich die benötigten Informationen finde?

Vielen Dank für Eure Bemühungen!

Bezug
                
Bezug
Funktion aus Werte-Paar: Hinweis
Status: (Antwort) fertig Status 
Datum: 15:19 Di 29.03.2005
Autor: MathePower

Hallo,

nun da es sich um eine Funktion 3. Grades handelt, ist zu betrachten:

[mm]\sum\limits_{i = 1}^{500} {\left( {y_i \; - \;a\;x_i^3 \; - \;b\;x_i^2 \; - \;c\;x_i \; - \;d} \right)^2 \; \to \;\min } [/mm]

Diese Summe wird minimal wenn die partiellen Ableitungen nach a,b,c und d verschwinden:

[mm] \begin{gathered} \frac{\delta } {{\delta a}}\;:\; - 2\;\sum\limits_{i = 1}^{500} {x_i^3 \;} \left( {y_i \; - \;a\;x_i^3 \; - \;b\;x_i^2 \; - \;c\;x_i \; - \;d} \right)\; = \;0 \hfill \\ \frac{\delta } {{\delta b}}\;:\; - 2\;\sum\limits_{i = 1}^{500} {x_i^2 \;} \left( {y_i \; - \;a\;x_i^3 \; - \;b\;x_i^2 \; - \;c\;x_i \; - \;d} \right)\; = \;0 \hfill \\ \frac{\delta } {{\delta c}}\;:\; - 2\;\sum\limits_{i = 1}^{500} {x_i \;} \left( {y_i \; - \;a\;x_i^3 \; - \;b\;x_i^2 \; - \;c\;x_i \; - \;d} \right)\; = \;0 \hfill \\ \frac{\delta } {{\delta d}}\;:\; - 2\;\;\sum\limits_{i = 1}^{500} {\left( {y_i \; - \;a\;x_i^3 \; - \;b\;x_i^2 \; - \;c\;x_i \; - \;d} \right)\;} = \;0 \hfill \\ \end{gathered} [/mm]

Daraus ergibt sich ein 4x4 Gleichungssystem, das zu lösen ist.

Gruß
MathePower

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Numerik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]