\documentclass[12pt,a4paper]{report}
\usepackage{latexsym,amssymb,german,a4wide,verbatim,xr}
\usepackage{fancyhdr} 
%\usepackage{pgffor}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{verbatim}
\usepackage{mathtools}
\usepackage{listings}


\lstset{
 %frame=tb,
  language=Matlab,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
  %columns=flexible,
  basicstyle={\small\ttfamily},
  %numbers=none,
  %numberstyle=\tiny\color{gray},
  %keywordstyle=\color{blue},
  %commentstyle=\color{dkgreen},
  %stringstyle=\color{mauve},
  %breaklines=true,
  %breakatwhitespace=true,
  tabsize=3
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Layout
%\addtolength{\topmargin}{-15ex}
%\addtolength{\textheight}{20ex}
\pagestyle{fancy}
\setlength{\headheight}{28pt}
\lhead{Technische Universität Berlin\\Numerische Mathematik I - WS 2019/2020}
\rhead{Prof.~V.~Mehrmann\\M.~Froidevaux}
\cfoot{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\CurrentWeekNb}{8}
\newcommand{\vertiii}[1]{{\left\vert\kern-0.25ex\left\vert\kern-0.25ex\left\vert #1 
    \right\vert\kern-0.25ex\right\vert\kern-0.25ex\right\vert}}
\newcounter{taskNb}
\stepcounter{taskNb}

\begin{document}
\begin{center}
%{\LARGE Numerische Mathematik}\\[1.5ex]
%%{\large \CurrentWeekNb. \"Ubungsblatt}\\ 
{\Large \CurrentWeekNb. \"Ubungsblatt}\\ 
{Polynom- und Spline-Interpolation}\\
%\\{Diese Aufgaben müßen spätestens am 24.10.19 in der Vorlesung abgegeben werden.}
%{Abgabe:} Spätestens am 24.10.19 in der Vorlesung\\[0.5cm]
\end{center}
\hfill {Abgabe: Spätestens am 12.12.19 am Anfang der Vorlesung}\\[0.5cm]
%
%%\def\exerciseList{001, 002, 003}
%\begin{enumerate}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% Aufgabe 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\textbf{Theorieaufgabe \arabic{taskNb} (? Punkte):} \stepcounter{taskNb} 
%Sei $p(x)$ ein Polynom dritten Grades, das die Funktion $f(x)=\frac{1}{a^2-x}$ in den Stützstellen $\{-4,-3,-2,-1\}$ interpoliert. Bestimmen Sie alle Werte von $a$, so dass $|f(x)-p(x)|\leq 10^{-5}$ f\"ur alle $x\in[-4,-1]$.\\[0.3cm]
%%
%\textbf{Theorieaufgabe \arabic{taskNb} (? Punkte):} \stepcounter{taskNb} 
%Gegeben seien folgende Werte $(x_0, f_0),\ldots, (x_3, f_3)$
%\begin{center}
%\begin{tabular}{c|c|c|c|c}
%$k$&0&1&2&3\\
%\hline
%$x_k$&-2&-1&0&1\\
%$f_k$&6&-8&-28&-18
%\end{tabular}
%\end{center}
%\begin{enumerate}
%\item Bestimmen Sir mit Hilfe des Schemas von Neville-Aitken den Wert des Interpolationspolynoms an der Stelle $x=-5$.
%\item Nehmen Sie den Wert $(x_4, f_4)=(-5,12)$ noch mit hinzu. Welchen Wert liefert das Schema jetzt für $x=-5$?
%\item Erklären Sie die großen Unterschiede bei der Auswertung an der Stelle $x=-5$.
%\end{enumerate}
%
\textbf{Theorieaufgabe \arabic{taskNb} (2+2 Punkte):}\stepcounter{taskNb}  Gegeben sei die Funktion
$f(x)=1-(x-1)^4$.
\begin{enumerate}
\item Bestimmen Sie den Fehler zwischen $f(x)$ und dem Interpolationspolynom $p$ vom Grade 2 zu den Stützstellen
\begin{center}
\begin{tabular}{c|c|c|c}
k& 0& 1& 2\\
\hline
$x_k$ & 0& 1&2\\
$f_k$& 0&1&0
\end{tabular}
\end{center}
mit Hilfe der Fehlerabschätzung der Vorlesung.
\item Vergleichen Sie die Werte der Fehlerabschätzung mit den tatsächlichen Werten für $x=\frac{1}{2}$ und $x=3$.
\end{enumerate}
%
\textbf{Theorieaufgabe \arabic{taskNb} (3 Punkte):}\stepcounter{taskNb}  Sei $f$ eine dreimal differenzierbare Funktion und $p$ das Interpolationspolynom, welche die Stützstellen $(x_i, f(x_i))$ $i=0,1,2$ interpoliert, wobei $x_i=x_0+ih$, $h>0$. Zeigen Sie, dass der Interpolationsfehler $E = \max\limits_{x\in [x_0, x_2]} |f(x)-p(x)|$ sich durch
\[
E\leq \frac{\Vert f''' \Vert_{\infty, [x_0, x_2]}}{27} \sqrt{3}h^3,
\]
abschätzen lässt.
 \\[0.3cm]
%
\textbf{Theorieaufgabe \arabic{taskNb} (2 Punkte):}\stepcounter{taskNb}  Sei $\Delta=\{x_0,\ldots,  x_n\}$, wobei $x_0<\ldots<x_n$. Geben Sie eine Basis der linearen Splines $S_{\Delta}$ an.\\[0.3cm]
%
\textbf{Theorieaufgabe \arabic{taskNb} (3 Punkte):} Gegeben sei die Funktion
\[
s(x) = \begin{cases}
(x+1)^4 +\alpha(x-1)^4+1, & x\in [-1, 0],\\
-x^3-8\alpha x+1, & x\in (0,1],\\
\beta x^3 +8x^2+\frac{11}{3} &  x\in (1,2]
\end{cases}
\]
mit zwei Parametern $\alpha$ und $\beta$. Kann man $\alpha, \beta$ so bestimmen, dass $s(x)$ ein kubischer Spline bezüglich der Knotenverteilung $\Delta=\{
-1,0,1,2
\}$ ist? Wenn ja, geben Sie jeweils den Wert von $\alpha$ und $\beta$ explizit.\\[0.3cm]
%
\textbf{Programmieraufgabe (6 Punkte):}
Es soll die kubische Spline-Interpolation mit natürlichen Randbedingungen programmiert werden. Dazu sollen zwei Funktionen
\begin{lstlisting}
function spline = berechne_spline(x, f)
function yy = spline_auswerten(spline, xx)
\end{lstlisting}
geschrieben werden. Die erste Funktion \texttt{berechne\_spline} soll fur die gegebenen Stützstellen $(x_k, f_k)$, 
welche in den Vektoren \texttt{x} und \texttt{f} gespeichert sind, den interpolierenden kubischen Spline mit natürlichen Randbedingungen ausrechnen.
Dabei sollen die Koeffizienten $a_k$, $b_k$, $c_k$, $d_k$ des Splines und die Stützstellen $x_k$ als Spaltenvektoren in den Feldern der Struktur \texttt{spline}
gespeichert werden:
\begin{lstlisting}
spline.a, spline.b, spline.c, spline.d, spline.x .
\end{lstlisting}
Die Funktion \texttt{spline\_auswerten} soll dann die Ergebnisse aus der Struktur \texttt{spline} nutzen, um damit
den natürlichen Spline an den Zwischenstellen, welche in dem Vektor \texttt{xx} gegeben sind, auszuwerten.
Dabei kann davon ausgegangen werden, dass die Vektoren \texttt{x} und \texttt{xx} stets aufsteigend sortiert sind.
Die Dateien \texttt{RUNME.m} und (nur für Matlab) \texttt{SPLINEPLAY.m} sollen fehlerfrei laufen und
einen Output ähnlich der Abbildung 1 produzieren.


\begin{figure}[h!]
\centering
\includegraphics[scale=0.65]{pics/PA8_RunMe}
\includegraphics[scale=0.65]{pics/PA8_SplinePlayCrop}
\caption{Erfolgreiche Ausgabe von RUNME und SPLINEPLAY}
\end{figure}

\end{document}

