[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] | |
Mathematik-Online-Lexikon: | |
Splineinterpolation mit MATLAB |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Übersicht |
Das folgende Programmsegment gibt ein Beipiel
>> x=[0:4]; y=[1,0,1,0,1]; >> p=spline(x,y) p = form: 'pp' breaks: [0 1 2 3 4] coefs: [4x4 double] pieces: 4 order: 4 dim: 1 >> p.coefs ans = -1 4 -4 1 -1 1 1 0 1 -2 0 1 1 1 -1 0 >> t=linspace(0,4); >> pt=ppval(p,t); >> plot(t,pt);
Die Polynomkoeffizienten sind zeilenweise gespeichert. Beispielsweise ist das Polynom des dritten Intervalls
Alternativ dazu kann man den Datenvektor um zwei Werte erweitern. Hat genau zwei Einträge mehr als , so werden der erste und letzte Wert von als Randbedingung für die Steigungen an den Enden der Kurve verwendet.
Die Auswertung kann auch unmittelbar mit dem Befehl spline erfolgen. Darüber hinaus ist die simultane Interpolation vektorwertiger Daten möglich. Beispielsweise liefert curve=spline(x,[1,0,1,0,1;0,0,2,2,1],t) mit und wie oben Punkte auf der nachfolgend abgebildeten Kurve.
automatisch erstellt am 19. 8. 2013 |