yi=[ 1 0 1 ];    %% zunaechst einmal werden drei Punkte 
xi=[ -1 0 1 ];   %% definiert, durch die die Funktion laufen
                 %% soll. Nehmen wir der Einfachheit halber
                 %% mal x^2 als Polynom.
                 
hold off;        %% Erstmal die Plotanzeige reinigen
plot(-5:0.01:5,0); %% Und die X-Achse malen

c=yi;            %% Dann die Newtonkoeffizienten berechnen
n=length(c);
for k=1:n
    for j=n:-1:k+1
        c(j)=(c(j)-c(j-1))/(xi(j)-xi(j-k));
    end
end

%% 11 b.)

a=1;               
p=0;
x=7;            %% Berechne den Polynomwert an der Stelle x=7

for i=1:n
    p=p+c(i)*a;
    a=a*(x-xi(i));
    
end
disp('Das Ergebnis der nach Anwendung des Hornerschemaartigen Berechnungsverfahrens an der Stelle');
x
disp('ist:');
p

%% 11 c.)

hold on;         %% Alle weiteren Polynome werden aufeinander gemalt.
for x=-5:0.01:5
    y=1/(1+x^2); %% Berechne den FUnktionswert an dieser X-koordinate
    plot(x,y);   %% Und zeichne es ein
end

%% 11 c.) i
xi=[ -5 -4 -3 -2 2 3 4 5 ]; %% Zunaechst einmal 8 X-Koordinaten festlegen
for i=1:8
    yi(i)=1/(1+xi(i)^2);    %% Und an dieser Stelle die Funktionswerte ausrechnen
end

q=interpol2(xi,yi);         %% Interpoliere das Polynom an diesen Stuetzstellen
x=-5:0.01:5;
plot(x,polyval(q,x),'r');   %% Und zeichne es auf

%% 11 c.) ii
xi=[ -5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 1.5 2 2.5 3 3.5 4 4.5 5 ]; %% Und nun 16 X-Koordinaten
for i=1:16
    yi(i)=1/(1+xi(i)^2);    %% Und die Funktionswerte berechnen
end

q=interpol2(xi,yi);
x=-5:0.01:5;
plot(x,polyval(q,x),'g');   %% Das dann in gruen zeichnen

