Verfasst am: 02.06.2013, 21:06
Titel: Interpolation mit gleichzeitiger Extrapolation
Hallo Gemeinschaft!
Ich bin auf der Suche nach einer Funktion, welche auf einem unregelmäßigen Gitter interpolieren und gleichzeitig extrapolieren kann.
Bisher benutze ich die Funktion griddata. Das Interpolationsverfahren v4 beinhaltet zwar eine Extrapolation, allerdings führt dies zu nicht akzeptablen Ergebnissen.
Bei der zu interpolierenden Fläche handelt es sich um einen Kreis. Da ich Stützwerte auf sechs Geraden im Kreis habe, erhalte ich sonst beim Plotten der interpolierten Werte ein Sechseck, anstatt einem Kreis.
Vielen Dank!
Hallo, ich habe zwar keine Antwort zu der Frage,
aber, das ich auf der Suche
nach einer ählnichen Funktion wie du bin,
frische ich deinen Beitrag hiermit auf
Ich verwende für die 3D Interpolation (auch mit Messgitter)
die Funktion TriScatteredInterpol().
Auch ich bin auf der Suche nach einer zusätzlichen Extrapolation zwischen den Randstellen und gewünschten Stütztstellen.
also ich habe das Poblem jetzt mit der interp Interpolation gelöst. Die Interpolationsmethode 'spline' beinhaltet eine Extrapolation. Bei nicht zu starken Gradienten in den Randbereichen des Interpoaltionsgebietes führt es auch zu durchaus akzeptablen Ergebnissen.
[X,Y]=meshgrid(1400:1:3000,0:1:1200);
Dadurch legst du ja dein Interpoaltionsgitter fest. Du musst diese beiden Vektoren nur um dein Gebiet für die Extrapolation eeweitern. Die Funktion extrapoliert automatisch in dem Gebiet außerhalb der Stützstellen.
Habe leider meinen Quelltext gerade nicht zur Verfügung, aber der sieht genauso aus wie deiner.
Nur noch ein Problem:
Mein Messgitter ist "grob" gewählt und beinhaltet mehr Punkte als meine Funktion.
Was ich damit sagen will ist, dass ich zwar (was schon sehr hilfreich ist!) die Stützstellen für die Extrapolation mit ins Messgitter nehmen kann, jedoch das Problem habe, dass oberhalb meiner begrenzenden Kurve (durch die Stütztstellen gegeben) ebenfalls extrapoliert wird.
Hättest weiterhin einen Vorschlag, wie ich ihm sagen könnte, dass er oberhalb der obersten Stützstellen nicht interpoliert, ich ihm aber trotzdem ein "meshgrid" vorgeben kann?
Ich hoffe, das war verständlich formuliert!
Liebe Grüße und danke schonmal für weitere hilfreiche Gedankenanstöße.
Hallo!
Vollständig konnte ich dir jetzt nicht folgen.
Es ist jedenfalls so, dass die Funktion nur auf dem vorgegebenen Gitter arbeitet. Das Gitter muss monoton und regelmäßig sein, also kannst du nicht irgendwelche Knoten herausnehmen. In der Funktion selbst hast du nur wenige Einstellparameter. Die einzige Möglichkeit, die ich sehe, ist einfach mit einer Schleife nach der Interpolation/Extrapolation die "ungewollten" Werte rauszuschmeißen.
Naja ich hab halt ein Kennfeld, bei dem ich nur "unterhalb" des Kf interpolieren will.
Wie würd denn so eine Schleife aussehen?
danke schonmal!
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
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.