Lineare Interpolation

Voraussetzungen

  • mathematische Grundlagen der linearen Interpolation

Lerninhalte

  • Realisierung einer Routine zur linearen Interpolation

Lineare Interpolation#

../_images/linear_interpolation.png
Abbildung 1: Linear interpolierte Messpunkte.

Gegeben seien die Messpunkte (ti;yi), i=1;..;n eines Versuches. Dabei bezeichnet ti einen Messzeitpunkt aus dem Intervall [a;b] und yi den dazugehörigen Messwert. Programmieren Sie eine Funktion, die für ein beliebiges t[a;b] einen Wert liefert, der auf der Verbindungslinie der benachbarten Messpunkte (tj;yj) und (tj+1;yj+1) liegt (lineare Interpolation).

Arbeiten Sie mit folgenden Angaben:
n=11,[a;b]=[0;1]

ti

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

yi

0.00

0.31

0.59

0.81

0.95

1.00

0.95

0.81

0.59

0.31

0.00

Erstellen Sie dazu zunächst eine (gut dokumentierte) Funktion für die Interpolation:

%%file linint.m
function y=linint(t,tv,yv)
% Die Funktion linint interpoliert die in den Vektoren abgelegten Daten tv,yv linear.
% Dazu sollten die Daten in tv sortiert sein und ein t zwischen dem ersten
% und letzten Eintrag von tv eingegeben werden
%
% Eingabeparameter: tv, yv = Zeitpunkte und Messwerte,
% t = gewünschter Auswertezeitpunkt
% Ausgabeparameter: y = linear interpolierter Messwert zum Zeitpunkt t
%
%

… und dann ein Hauptprogramm, in welchem Sie die Funktion aufrufen und die Daten bereitstellen:

% zunächst werden zwei Vektoren tv und yv definiert,
% die alle Daten von t und y enthalten
%
tv=[ 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
yv=[ 0.00, 0.31, 0.59, 0.81, 0.95, 1.00, 0.95, 0.81, 0.59, 0.31, 0.00];
%
% Dann können sie Ihre Funktion linint testen, z.B. mit t=0.15
%
t=0.15;
y=linint(t,tv,yv)

Schreiben Sie das Programm nun so um, dass Sie die oben dargestellte Visualisierung erhalten.