![]() |
[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 |