Auswahl Interpolationsverfahre < Interpol.+Approx. < Numerik < Hochschule < Mathe < Vorhilfe
|
Hallo,
ich bin Student für Maschinenbau und arbeite derzeit an meinem Beleg.
Ein Teil der Arbeit beinhaltet die Interpolation von Messwerten, um Aussagen über die Funktionswerte zwischen den Messwerten zu treffen.
Ich habe bevor ich diese Frage hier gestellt habe, in einigen Numerik Grundlagenbüchern nachgelesen, wie eine Auswahl zu treffen ist. Jedoch bin ich daraus nicht recht schlau geworden.
Da zu jeder Interpolation auch ein Fehler gehört, möchte ich diesen natürlich mit angeben, bzw das Interpolationsverfahren so wählen, das der Fehler möglichst gering ist.
Ich möchte also ein passendes Interpolationsverfahren finden, dass Abhängig von den Eigenschaften der Stützstellen den geringsten Fehler produziert. Ich weiß leider nicht inwieweit es einen Anspruch an die Ableitungen gibt. Ich nehme jetzt einfach an es gibt keinen.
Kennt jemand dazu Literatur?
Zu meinen Messwerten ist noch zu sagen, dass sie keinen gleichmäßigen Abstand haben
Beste Grüße
Noob
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:11 Sa 20.08.2022 | Autor: | Infinit |
Halo Noob,
willkommen hier im Forum.
Deine Aufgabenstellung ist durchaus verständlich, allerdings fehlen da aus meiner Sicht noch ein paar Informationen, um hier sinnvoll weiterzukommen.
Du hast Messwerte und möchtest nun mit Hilfe dieser Messwerte eine Interpolationskurve finden, die Deiner Aufgabenstellung möglichst gut angepasst ist.
Rein mathematisch betrachtet, könntest Du Deine Messwerte durch Geradenstücke verbinden, dann bist Du sicher, dass der Fehler an den Messtellen garantiert bei Null ist. Ich nehme mal an, dass es das nicht ist, was Du suchst. Und da sind wir genau bei der Problemstellung. Welche Art von Ausgleichs / Interpolationsfunktion möchtest Du denn annähern? Irgendeine Charakteristik ist da sicher vorgegeben, entweder durch die Aufgabenstellung oder durch die Art der Messwerte. In vielen Fällen minimiert man die sog. euklidische Distanz, also die Summe über die betragsmäßige Differenz zwischen Deiner Interpolationskurve und den Messwerten. Einen Basissatz von Funktionen für die Interpolationskurve braucht man aber, sonst kommt man nicht weiter.
Viele Grüße,
Infinit
|
|
|
|
|
Aufgabe | x = [0 293 441 455 496 583 648 840 1039 1361]
y = [140 83 46 26 24 35 40 66 89 130] |
Hallo Infinit,
danke für die Aufnahme und danke für deine Antwort!
Ich habe die Messwerte mal in die Aufgabenstellung geschrieben. Vielleicht kann man da schon mehr erkennen.
Wie du schon angedeutet hast habe ich mich für eine Spline-Interpolation entschieden, da diese meine Messwerte auf jeden Fall mit in die Funktion integriert. Um genauer zu werden:
ich habe mich für die kubisch hermite spline Interpolation entschieden, um meine Ableitungen auch stetig und einen glatteren Verlauf zu bekommen.
Theoretisch müsste ich bei 10 Stützstellen ein Polynom 9. Grades nehmen können. Allerdings kommen da künstliche Oszillationen an den Rändern zustande.
Soweit dazu.
Du hast in deiner Antwort davon geschrieben die Differenz zwischen der tatsächlichen Funktion und meiner Interpolierten zu bilden und damit den Fehler an meinen Stützstellen herauszufinden. Wenn ich jetzt meine Spline Interpolation benutze, sind die Stützstellen Bestandteil meiner Interpolierten Funktion und der Fehler damit 0.
Kann ich trotz, dass ich meine wirkliche Funktion nicht kenne eine Aussage über den Fehler meiner Interpolierten Funktion machen?
Ich habe im Buch "Numerik für Naturwissenschaftler" eine Formel gefunden die den Fehler für kubische Spline Interpolation folgendermaßen abschätzt
|f{x}-s{x}| = [mm] h^4*M_4*c
[/mm]
h ist dabei der Maximale Abstand meiner Stützstellen und c der Quotient aus h und dem minimalen Abstand der Stützstellen.
M4 > 0 eine Schranke für | f ^(4) (x)| auf dem gegebenen Intervall.
Wenn ich jetzt [mm] M_4 [/mm] als Unbekannte mitnehme dann errechnet sich mit h = 322 und c = 23 ein Wert von 2,4*10^11. Ein utopisch hoher Fehler.
Ich könnte den Fehler nur minimieren, indem ich meinen maximalen Sützstellenabstand gegen 0 laufen lasse. Das kann ich nicht da ich so oft nicht messen kann :)
Gibt es dennoch einen Weg den Interpolationsfehler wissenschaftlich fundiert abzuschätzen?
Beste Grüße
Noob
|
|
|
|
|
> Gibt es dennoch einen Weg den Interpolationsfehler
> wissenschaftlich fundiert abzuschätzen?
Diese Frage lässt sich nicht eindeutig beantworten.
Nehmen wir an, du misst einen Körper im freien Fall. Theoretisch gilt für die Strecke s und die Fallzeit t das Gesetz
s = 0,5 g [mm] t^2 [/mm] (g = 9,81 [mm] m/s^2).
[/mm]
Du hast 10 Messwerte mit kleinen Abweichungen von diesem Gesetz. Dann kannst du z.B. ein abweichendes g finden, für dass die Summe der Fehlerquadrate minimal wird, und du kannst diese Summe berechnen. Das könnte z.B. so aussehen: Du zeichnest zu einem beliebigen g die o.a. Parabel in ein Koordinatensystem und trägst die Messpunkte ebenfalls ein. Dann misst du alle kürzesten Abstände der Messpunkte zur Parabel, quadrierst die Werte und bildest die Summe. Jetzt suchst du nach dem g, bei dem diese Summe minimal wird. Das alles natürlich algebraisch.
Was aber, wenn du das zu Grunde liegende Gesetz gar nicht kennst? Wenn es gar nicht quadratisch ist? Du kannst ein Ausgleichspolynom 9. Grades bilden, bei dem überhaupt kein Fehler auftaucht. Vielleicht liegen alle Punkte auf einer Sinuskurve mit ganz vielen Schwingungen und sind zufällig ungefähr auf einer Parabel gelandet.
Wenn du also keinen theoretischen Ansatz für das zu Grunde liegende Gesetz hast, ist das Ausgleichspolynom oder eine Spline-Funktion "optimal". Hast du aber die Gewissheit, dass es sich um eine Parabel handelt, ist die obige Beschreibung "optimal".
Ich habe deine Messpunkte mal in ein Koordinatensystem eingetragen.
Das Bild erinnert mich etwas an das Frequenzverhalten eines el. Schwingkreises.
Oder passt [mm] 0,22*\bruch{(x-530)^2}{\wurzel{(x-530)^2+1000}} [/mm] + 25 besser?
|
|
|
|
|
Genau wie HJKweseleit würde ich mir die Messpunkte zuallererst mal in ein Koordinatensystem eintragen und dann die vorliegende Situation ANSCHAUEN !
Das hilft oft viel mehr als irgendwelche abstrakten theoretischen Überlegungen.
Liefere uns mal so eine Grafik ! (ich fühle mich nicht verpflichtet, dir diese Arbeit abzunehmen)
|
|
|
|
|
Ich konnte es doch nicht lassen, die Punkte mal rasch in eine Tabelle zu bringen und graphisch darstellen zu lassen. Mein erster Eindruck ist der, dass man die Zuordnung im Wesentlichen durch zwei lineare Teilfunktionen ersetzen kann - mit recht kleinen Abweichungen.
Die erste Teilstrecke verläuft vom Startpunkt (0 | 140) zu (496 | 24) und die zweite von diesem Punkt zum letzten Punkt (1361 | 130). Das Ganze lässt sich also durch zwei lineare Teilfunktionen recht gut beschreiben oder allenfalls in einer einzigen kombinierten Formel mit Betragsstrichen.
Eine viel bessere Interpolation ergibt sich auch nicht, wenn man Polynome hohen Grades bemühen will.
|
|
|
|
|
Die Betragsfunktion entspricht ungefähr meiner Gleichung, wobei die 1000 für eine Abrundung unten sorgt und durch eine bessere positive Zahl ersetzt werden müsste. Die Steigung links stimmt ungefähr, rechts hat sie den selben Betrag wie links, was sicherlich nicht zu den Messwerten passt. Ich habe mir allerdings auch nicht viel Mühe gegeben...
|
|
|
|
|
Viele Dank für eure Antworten.
Ich habe die Arbeit mittlerweile abgegeben und auch bestanden. Die Daten Stammen aus einem mechanischen System, dass ich aus Datenschutzgründen nicht weiter bestimmen darf.
Nichtsdestotrotz möchte ich noch ein paar Sache wissen:
Wie sind Sie auf die Formel gekommen?
Viele Grüße
Mathenoob
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:20 Mi 01.03.2023 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|