Link - Hochschule Ulm
Link - Hochschule Ulm
Link - Hochschule Ulm
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
10<br />
100<br />
9<br />
8<br />
Polynom<br />
Daten<br />
Spline<br />
80<br />
Interpolationsfunktion<br />
Punkte<br />
humps<br />
7<br />
60<br />
6<br />
5<br />
40<br />
4<br />
3<br />
20<br />
2<br />
0<br />
1<br />
0<br />
0 10 20 30 40 50 60<br />
Abbildung 35: Kubische Splineinterpolation<br />
ner stückweisen (affin) linearen Interpolationsfunktion.<br />
Mithilfe der Funktion interp1 kann<br />
man stückweise lineare Interpolationsfunktionen<br />
berechnen. Wir zeigen dies an einen Beispiel.<br />
Angenommen es soll die stückweise lineare<br />
Interpolationsfunktion zu den Punkten<br />
(t i , y i ) mit t = linspace(0,3,10) und y =<br />
humps(t) berechnet werden, so kann man das<br />
mit den folgenden Zeilen erreichen. Beachten<br />
Sie, dass humps eine eingebaute Matlab-<br />
Funktion ist, deren Funktionsterm gegeben ist<br />
durch hums(t) = 1/ ( (t − 0.3) 2 + 0.01 ) + 1/ ( (t −<br />
0.9) 2 + 0.04 ) − 6.<br />
1 t = linspace(0,3,10);<br />
2 y = humps(t);<br />
3 tt = linspace(min(t),max(t));<br />
4 yi = interp1(t,y,tt);<br />
5 plot(tt,yi,t,y,’ro’,tt,humps(tt)),<br />
6 grid on,<br />
7 legend(’Interpolationsfunktion’,’<br />
Punkte’,’humps’),<br />
−20<br />
0 0.5 1 1.5 2 2.5 3<br />
Abbildung 36: Lineare Interpolation<br />
58. Nichtlineare Gleichungen (1)<br />
In Matlab gibt es die eingebaute Funktion<br />
fzero zur Lösung einer nichtlinearen Gleichung<br />
in einer Variablen. Der Algorithmus<br />
ist eine Kombination aus dem Intervallhalbierungsverfahren,<br />
der Sekantenmethode und<br />
der inversen quadratischen Interpolation. Dieses<br />
hybride Verfahren hat eine lange und interessante<br />
Geschichte, siehe [6]. Es ist ein guter<br />
Algorithmus, aber leider nur für skalarwertige<br />
Funktionen mit einer skalaren Variablen einsetzbar.<br />
Den m-File fzero findet man im Verzeichnis<br />
Toolbox/MATLAB/funfun.<br />
Die Buckelfunktion humps hat zwei Nullstellen,<br />
siehe Abbildung 14. Wir berechnen diese<br />
mit fzero.<br />
1 >> fzero(@humps,1)<br />
2 ans =<br />
3 1.2995<br />
4 >> fzero(@humps,0)<br />
5 ans =<br />
6 -0.1316<br />
Das zweite Argument des Funktionsaufrufes<br />
118 Copyright c○ G. Gramlich