% Test 1, calculo numerico (521230), S2-2011
% Tema 5: Interpolacion
% Pregunta 2

% generando puntos para graficar f
t = linspace(-1,1);
% evaluar f
ft = 1./(25*t.^2 + 1);

% buscar polinomios de grado menor o igual que 10
n=10;
[p1,p2] = interpolar_npuntos(n);

% evaluar p1 y p2 en 100 puntos de [-1,1]
p1t = polyval(p1,t);
p2t = polyval(p2,t);

% error de interpolacion de 1er polinomio
figure(1);
plot(t,abs(ft-p1t));

% error de interpolacion de 2do polinomio
figure(2)
plot(t,abs(ft-p2t));

% factor en expresion de error de interpolacion
i=0:10;
% puntos para p1
xi = -1+2*i/n;
% puntos para p2
ti = cos(((2*i+1)*pi)/(2*n+2));

% puntos xi son igualmente espaciados, puntos ti no lo son
xi(2:end)-xi(1:end-1)
ti(2:end)-ti(1:end-1)


% no es obligatorio que los estudiantes hagan esto para fundamentar 2.3
x = linspace(-1,1);
x=x';
val1 = ones(length(x),1);
val2 = ones(length(x),1);
for i=1:11
    val1 = val1.*(x-xi(i));
    val2 = val2.*(x-ti(i));
end
figure(3)
plot(x,abs(val1));
hold on
plot(x,abs(val2),'r')
legend('puntos para p1','puntos para p2');