Seite 1 von 3
Interpolation mit PB?
Verfasst: 19.09.2007 23:05
von Scarabol
Hi Leute,
wo bitte gibt es Beispiele zum Interpolieren mit PB?
Das Ergebnis sollte dann so aussehen:
http://upload.wikimedia.org/wikipedia/d ... lation.png
Gruß
Scarabol
Verfasst: 20.09.2007 00:23
von Zaphod
Nirgendwo.
Verfasst: 20.09.2007 00:42
von STARGÅTE
Ich habe mich mal hingesetzt und ein programm geschrieben, und das hier war das (interessante) ergebnis:
(Bild veraltet)
es ist allerdings nicht so weit entwickelt das du zu einem beliebigen Punkt x ein y bekommst, aber vllt bekomme ich das noch hin...
EDIT: Obwohl ich bezweifle das es überhaupt möglich ist eine "echte" Funktion daraus zu berechnen, denn um so mehr Hoch und Tiefpunkte es gibt, um so höher ist auch der Grad der funktion und damit ist sehr schnell eine berechnungsgenze erreicht.
Verfasst: 20.09.2007 07:47
von Scarabol
@Zahpod
Du meins wohl keine dir bekannten, oder kennst du alle Quellcodes die es in PB gibt

. Dann sollten wir hier schnellstens unsere PCs nach Spybots durchsuchen...
@Stargate
1.Wieso bekomm ich kein y? Brauch doch nur den Wert ablesen?
2.Wieso sollte es keine Funktion geben? (siehe Wikipedia)
3.Berechnungsgrenze? Du meinst die Zeit der Berechnung nimmt drastisch zu?
Vielleicht solltest du die Interpolation mehrmals durchführen lassen, dann sollte der Graph einige Auswüchse verlieren...
Gruß
Scarabol
Verfasst: 20.09.2007 08:07
von NicTheQuick
Ich kann zwar keinen Code liefern, aber bei Spline-Interpolation nimmt die
Berechnungszeit linear mit der Anzahl der Punkten zu. Weniger geht nicht.
Im BlitzBasic-Forum sollte es einige Codes dazu geben. Wenn ich mich an
meine BlitzBasic-Zeit zurückerinnere, gab es da schon in den frühen Zeiten
Spline-Codes.
Verfasst: 20.09.2007 08:28
von Froggerprogger
Obwohl ich bezweifle das es überhaupt möglich ist eine "echte" Funktion daraus zu berechnen...
Du kannst ohne Probleme z.B. genau das eine Polynom n-1-sten Grades bestimmen, welches durch die n Punkte festgelegt ist, genau durch jeden hindurchgeht und alle wunderbaren Eigenschaften einer normalen Polynomfunktion hat. Allerdings werden dabei auch die Ausreißer bei zunehmendem Grad immer extremer.
...denn um so mehr Hoch und Tiefpunkte es gibt, um so höher ist auch der Grad der funktion...
Ich denke mal, du willst kubische Splines nutzen ? Dann müsste auf jedem Teilintervall zwischen zwei benachbarten Punkten deine Kurve einem Polynom dritten Grades entsprechen, egal wieviele Punkte du nutzt. Damit kann es auch nicht diesen zickrigen Verlauf wie auf dem Bild geben.
Zur Zeit versuchst du anscheinend einen Spline aus C^n, also mit Polynomen n+1-sten Grades auf den Teilintervallen zu finden, oder ähnliches?
Verfasst: 20.09.2007 13:00
von STARGÅTE
das was da auf meinem Bild war, war ein näherungsverfahren, deswegen hätte man auch keine Punkte berechnen können, weil ich einfach nur die Punkte verdichtet habe, aber nie die lücken geschlossen habe.
Ich wollte mich einfach mal ins Thema reinarbeiten, mal sehen wie ich die WIKI-Formeln umsetzten kann
*zu tun hat*^^
Verfasst: 20.09.2007 13:14
von Scarabol
Welche Wiki Formel bzw. welchen Artikel meinst du denn?
Gruß
Scarabol
Verfasst: 20.09.2007 13:26
von Zaphod
Verfasst: 20.09.2007 14:07
von Kaeru Gaman
Froggerprogger hat geschrieben:Du kannst ohne Probleme z.B. genau das eine Polynom n-1-sten Grades bestimmen, welches durch die n Punkte festgelegt ist, genau durch jeden hindurchgeht und alle wunderbaren Eigenschaften einer normalen Polynomfunktion hat. Allerdings werden dabei auch die Ausreißer bei zunehmendem Grad immer extremer.
ich meine, eines der Kernprobleme dabei ist ja auch die tatsächliche Genauigkeit der vorliegenden Meßwerte.
wenn ich ganz präzise an den Meßwerten klebe, bekomme ich auch mal die falsche Funktion, evtl. soger ein, zwei grade höher, als sie wirklich wäre.