AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Koeffizienten eines Polynoms berechnen

Koeffizienten eines Polynoms berechnen

Ein Thema von DelphiManiac · begonnen am 5. Jan 2009 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#11

Re: Koeffizienten eines Polynoms berechnen

  Alt 9. Jan 2009, 08:56
Zitat von WS1976:
Ich halte diese Aussage für vermessen. Ein Polynom 3.Grades trifft exakt 4 Punkte mehr nicht. Alles andere ist Zufall.
Eine exakte Kurve kriegst du nur wenn du ein Polynom 99. Grades nimmst.
Natürlich. Das Problem ist nur, dass ein Polynom 99. Grades dass alle Punkte trifft zwischen den Punkten sehr stark schwanken kann. Du hast also alle Punkte getroffen, aber u.U. keine gute Näherung der Orginalfunktion. Deshalb kann es besser sein, den Polynomgrad herunterzuschrauben, um die Kurve besser zu approximieren. (Am Ende will man ja die Kurve approximieren, und nicht die Punkte)

Zitat:
Zusatzbetrachtungen sind nötig um abschätzen zu können wie gross die Abweichung tatsächlich ist.
Selbstverständlich.

Zitat:
Es gibt aber darüber hinaus jede Menge mathematische Methoden mit denen man Schmiegparabeln (Näherungskurven) berechnen kann.
Z.B. Taylor Reihe usw. Das selbst zu programmieren sollte kein allzu grosses problem dartstellen.
Erst beschwerst du dich über mein polynom 3. Grades und jetzt kommt du mit Schmiegeparabeln ?


Die bessere Lösung wäre eventuell, eine Tabelle zu nehmen und zwischen den Punkten quadratisch (oder bei vielen Werten sogar nur linear) zu interpolieren Erfordert mehr Rechenaufwand, umgeht aber das Problem dass dass Polynom schwankt
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Koeffizienten eines Polynoms berechnen

  Alt 9. Jan 2009, 11:31
Hallo nochmal

Ich hab das jetzt mal kurz aufgezeichnet, weil ich irritiert war, ob ein Polynom 3. Grades eine sagen wir Gerade oder gekrümmte Kurve wirklich 4 mal schneidet, denn ich kenne es nur so, das ein Polynom 3. Grades dies nur 3 mal macht. Dies hat sich erstmal auch bestätigt, was aber nicht Inhalt meiner Antwort hier sein soll.
Wie schon beide meiner Vorredner sagten, trifft ein Polynom X.Grades nur X eventuell auch X+1 Punkte auf der eigentlichen Kurve. Dies bedeutet aber nicht, dass ein Polynom 99. Grades 99% aller Punkte trifft, sondern, wie in der ersten Aussage schonmal vertieft 99 oder 100 Punkte der "Ursprungsfunktion". Alle die sich mit Mathe auskennen, wissen aber, dass ein Punkt unendlich klein ist und zwischen zwei Punkten gibt es auf einer Kurve (selbst wenn es eine Gerade ist) unendlich viele Punkte. Ergo rein mathematisch betrachtet ist ein Polynom mit dem Grad unendlich nötig um alle Punkte zu treffen.
Jetzt kommt hier die "eingeschränkte" Darstellungsmöglichkeit mit einem Bildschirm uns zu Hilfe. Also muss ich nur ermitteln, wieviele Pixel zwischen Anfangs- und Endpunkt liegen, damit ich eine Qualitative Aussage treffen kann zu welchem Prozentsatz ich genau bin. Dies ist allerdings nur die theoretische Betrachtung, welcher Aufwand nötig wäre, um eine sagen wir 99% oder 100% genaue Aussage, welche meine beiden Vorredner erreichen wollten, bekommt.
Dass dieser Aufwand sicherlich in keinem Verhältnis mehr zum Nutzen steht, ist mir wohl bewußt. Bei der automatischen Erzeugung von Ausgleichskurven für eure Kalibriermessungen, sollten sinnvolle Annahmen getroffen werden, welche Genauigkeit wirklich von nöten ist und eine variable von euch einstellbare Anzahl an Polynomen für die Prüfung.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Koeffizienten eines Polynoms berechnen

  Alt 9. Jan 2009, 12:33
Normalerweise weiss man in etwa, was man misst, bzw. kennt die physikalischen Grundlagen und Gesetze des Mediums. Hieraus lassen sich zumindest die Stammfunktionen ableiten. Natürlich gibt es auch Szenarien, in denen das unbekannt ist, z.B. bei Aktienkursen.

Wenn also die Stammfunktion bekannt ist, kann man eine Regression darüber laufen lassen und erhält somit eine Ausgleichsfunktion, die den Verlauf der Messpunkte beschreibt und in gewissem Rahmen Inter- und Extrapolationen erlaubt. Die Funktion wird keine Überraschungen liefern. So wird z.B. bei einer Kurve, die das Abkühlungsverhalten über die Zeit darstellt, mit sicherheit eine streng monoton fallende Stammfunktion eingesetzt werden, denn welches Objekt erwärmt sich spontan? Hier gibt es diverse Verfahren für spezielle Stammfunktionen (kleinste Quadrate, Gaus, etc.), oder allgemeine Iterationsverfahren, die die Parameter beliebiger Funktionen ermitteln.

Wenn die Stammfunktion unbekannt oder nicht deterministisch ist, sollten Ausgleichssplines zum Ziel führen. Diese sind jedoch mit Vorsicht zu genießen, da sie jeglichen 'Mist' der Messwerte mitmachen, also Peaks erzeugen können, wo gar keine Sind usw.

Von der Regel: X-Messwerte ergibt ein Polynom X-1.ten Grades würde ich abraten, denn beim kleinsten Messfehler schaukelt sich die Funktion so auf, das es eine Freude ist. Gleiches gilt übrigens für Splines und zu wenigen Messpunkten bei sich stark ändernden Werten (z.B. Peaks oder plötzlicher Anstieg).

Die hier genannte Faustregel, nach der i.A. ein Polynom 3.Grades ausreicht, ist gar nicht so abwegig und führt in der Regel zu befriedigenden Ergebnissen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#14

Re: Koeffizienten eines Polynoms berechnen

  Alt 9. Jan 2009, 14:43
hallo fjheins,

nur zu deiner Information:
Alle Polynome x ten Grades die als Näherungsfunktion benutzt werden nennt man Schmiegparabeln also auch deine Funktion 3. Grades.
(E-Technik Studium Mathematik 1 1.Semester)

Grüsse
Rainer
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#15

Re: Koeffizienten eines Polynoms berechnen

  Alt 9. Jan 2009, 14:56
Zitat von WS1976:
Alle Polynome x ten Grades die als Näherungsfunktion benutzt werden nennt man Schmiegparabeln also auch deine Funktion 3. Grades.
(E-Technik Studium Mathematik 1 1.Semester)
Hi,

interessant, wir hatten den Begriff nicht - daher hatte ich angenommen es würde sich um eine quadratische Funktion handeln

Nichts für ungut
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz