12.7 Kurvendiskussion

Ziel:
Der Umgang mit Parameterlisten und Funtionen soll geübt werden. Bei dieser Übung liegt der Schwerpunkt auf der Verwendung von Polynomen.
Vorraussetzung:
Grafisches Darstellen von Funktionen und die Kenntnis der Funktionen zum Umgang mit Polynomen sind von Nöten (polyval, polyint, polyder, roots). Diese und andere Befehle für die Bearbeitung von Polynomen werden im Kapitel 8 besprochen.

Einige Programme für das Plotten von Funktionen können mit dem Befehl uebungsdaten heruntergeladen werden. Sie zeigen in verschiedenen Stufen, wie man Kurven in MATLAB darstellen kann (htplot2d, htplot2da, htplot2s). An Hand von htpolyplot bekommt man ein paar Hinweise für die Erstellung des Plots für diese Übung.

Außerdem bewährt es sich bei der numerischen Integration von Funktionen (quadl) sogenannte inline-Funktionen zu verwenden. Dies sind Funktionen die im Skript definiert werden können und daher kein eigenenes MATLAB-File brauchen. Eine Besprechung dieses Funktionentyps finden Sie im Unterkapitel 7.1.7. Die Verwendung solcher Funktionen z.B. beim numerischen Integrieren ist im Unterkapitel 7.1.8 beschrieben.

Abgabe:
Abzugeben sind die Funktionen polyadd.m, polytang.m, kreis.m und das Skript polydiskussion.m.

  1. Addition von Polynomen:
    Schreiben Sie eine Funktion pout = polyadd(p1,p2), die zwei Polynome mit Koeffizientenvektoren p1 und p2 addiert und den resultierenden Koeffizientenvektor pout zurückgibt. Warum kann man Polynome eigentlich nicht einfach mit dem Operator + addieren?

  2. Tangente an ein Polynom:
    Schreiben Sie eine Funktion pout = polytang(p,x0), die die Tangente an das Polynom mit Koeffizientenvektor p im Punkt x0 berechnet und als Koeffizientenvektor pout zurückgibt (Tangente = Gerade = Polynom ersten Grades). Zur Erinnerung: Die Tangentengleichung für eine Tangente an das Polynom $ y(x)$ an der Stelle $ x_0$ lautet

    $\displaystyle y_t(x) = y_0'\;x + (y_0-y_0'\;x_0) \quad ,
$

    wobei $ y_0=y(x_0)$ und $ y_0'=dy/dx\vert _{x=x_0}$ sind.

  3. Kurvendiskussion:
    Gegeben sind zwei Polynome

    $\displaystyle y_1$ $\displaystyle = 0.1\;x^3 - 0.7\;x^2 + 1.4\;x - 0.8$    
    $\displaystyle y_2$ $\displaystyle = -0.2\;x^2 + 1.2\;x -1.35 \quad.$    

    Legen Sie ein Script polydiskussion.m an, das folgende Punkte ausführt:
    1. Berechnen Sie die Schnittpunkte der beiden Polynome. (Hinweis: $ y_1=y_2$ $ \Longleftrightarrow$ $ y_1-y_2=0$).
    2. Zeichnen Sie die Polynome im relevanten Bereich (Schnittpunkte deutlich innerhalb der Zeichnung). Markieren Sie in der Abbildung die Schnittpunkte.
    3. Berechnen Sie Nullstellen, Maxima, Minima, Wendepunkte der Polynome und zeichnen Sie diese ein. Nullstellen findet man mit roots. Extrema findet man bei den Nullstellen der ersten Ableitung. Um ein Maximum handelt es sich, wenn gleichzeitig die zweite Ableitung an dieser Stelle kleiner Null ist. Wendepunkte liegen an der Stelle, wo die zweite Ableitung der Funktion Null ist.
    4. Legen Sie eine Tangente durch den Wendepunkt des ersten Polynoms. Verwenden Sie dafür Ihre Funktion polytang und plotten Sie eine kurze Gerade im Bereich um den Wendepunkt.
    5. Berechnen Sie die Fläche zwischen den beiden Polynomen vom zweiten bis zum dritten Schnittpunkt:

      $\displaystyle A=\left\vert\int_{x_0}^{x_1} (y_1(x)-y_2(x))\;dx\right\vert\quad.
$

      ( $ A\approx 1$). Diese Integration wird nicht mit quadl durchgeführt, da man Polynome mit Hilfe der Funktion polyint integrieren kann. In das damit erhaltene Polynom setzt man dann die obere und untere Grenze ein und erhält so den Wert des bestimmten Integrals.
    6. Berechnen Sie den Umfang der eben bestimmten Fläche. Die Bogenlänge einer Kurve ist durch

      $\displaystyle s=\int_{x_0}^{x_1}\sqrt{1+(y'(x))^2}\;dx
$

      gegeben. ( $ s\approx 5.5$). Diese Aufgabe kann natürlich nicht mit polyint erledigt werden, da hier kein Polynom integriert wird. Dazu braucht man also wieder eine inline-Funktion und die MATLAB-Routine quadl.

    7. Legende, Beschriftung der Grafik.
    8. Bestimmen Sie die Krümmung

      $\displaystyle \kappa = \left\vert\frac{y''(x)}{[1+(y'(x))^2]^{3/2}}\right\vert
$

      und den Schmiegekreisradius

      $\displaystyle r = \frac{1}{\kappa}
$

      im Maximum des zweiten Polynoms ( $ \kappa\approx 0.4$). Die Koordinaten des Schmiegekreismittelpunkts sind durch

      $\displaystyle m_x$ $\displaystyle = x - \frac{y'(1+y'{}^2)}{y'{}'}$    
      $\displaystyle m_y$ $\displaystyle = y + \frac{1+y'{}^2}{y'{}'}$    

      gegeben.

      Schreiben Sie dafür ein Unterprogramm kreis.m, welches die $ x$- und $ y$-Werte für einen Kreis berechnet, der durch die Parameterdarstellung

      $\displaystyle x$ $\displaystyle = m_x + r \cos(\phi)$    
      $\displaystyle y$ $\displaystyle = m_y + r \sin(\phi)$    

      beschrieben wird. Der Aufruf für das Programm sollte folgendermaßen lauten:

      [x,y] = kreis(r,m,phi)
      Defaultwerte: r = 1
      m = [0,0]
      phi = 0 ... 2*pi, 100 Punkte

      Zeichnen Sie den Schmiegekreis samt Mittelpunkt und Radius ein.

\includegraphics[width=0.80\textwidth]{appdata/polydisk}

Exemplarische Darstellung der Ergebnisse.

Winfried Kernbichler 2005-04-26