#!/usr/bin/octave

################################################################################
#zad 1 
#funcje spline i ppval
#sprawdzamy jak dziala interpolacja splajnowa
# z warunkiem not a knot (podajemy tylko wartości splajnu w wezlach)
# i warunkami hermitowskimi (dodatkowo podajemy pochodne spaljnu w koncach)
################################################################################
a=-3;b=3;
x=a:b;#wezly -3,-2,-1,0,1,2,3
y=[-1 1 -1 1 -1 1 -1];#wartosci w wezlach
pp=spline(x,y);
z=linspace(a,b);
#wykres splajnu 
plot(z,ppval(pp,z),";not-a-knot;",x,y,"r+;wezly;")
pause(1);

y1=[0 y 0];#dodatkowo zerowe wartosci pochodnych w koncach
pph=spline(x,y1);
plot(z,ppval(pp,z),";not-a-knot;",z,ppval(pph,z),";herm;",x,y,"r+;wezly;")
pause(1);
#wykres obu splajnow na na (-3,-2.5)
z=z(1:10);
plot(z,ppval(pp,z),";not-a-knot;",z,ppval(pph,z),";herm;")
pause(3);
