% Script del ejercicio 19 tal como lo vimos en la Práctica del 22/08.
% La idea es calcular phi(0) con los tres metodos y finalmente graficar los
% valores y los errores relativos para distintos N.
function ej19p1
%x=0, phi(0)=pi^2/6

%Los valores phi(1) y phi(2) son conocidos:
phi_1=1;
phi_2=3/4;
%FI es el valor de phi(0)
FI=pi^2/6;

%Comienzo el ciclo. Para cada N voy a buscar los errores.
for N=1:100
    %inicializo las sumatorias
    phi=0;
    Phi=0;
    f=0;
    for k=1:N
        %sumo en cada caso el proximo termino
        phi=phi+1/k^2;
        Phi=Phi+1/(k^2*(k+1));
        f=f+1/(k^2*(k+1)*(k+2));
    end
    %Modifico Phi y f.
    Phi=(1-0)*Phi;
    f=(1-0)*(2-0)*f;

    %Armo una matriz v. En cada fila voy a guardar las aproximaciones de
    %sumar hasta hasta N con los tres metodos para calcular phi
    v(1,N)=phi;
    v(2,N)=Phi+phi_1;
    v(3,N)=f+2*phi_1+(0-1)*phi_2;


end


%En cada fila voy a guardar los errores de sumar
%hasta N con los tres metodos para calcular phi
Err(1,:)=abs(v(1,:)-FI)/FI;
Err(2,:)=abs(v(2,:)-FI)/FI;
Err(3,:)=abs(v(3,:)-FI)/FI;

vN=[1:N];

%Puedo graficar las tres cosas con un solo comando.
%'r' y 'g' indican los colores
figure(1)
plot(vN,Err(1,:),vN,Err(2,:),'r',vN,Err(3,:),'g')
title('Grafico de Errores Ejercicio 19 PI')
legend('Usando phi','Usando Phi','Usando f')
xlabel('Iteraciones')
ylabel('Error Relativo')

%En otra figura grafico los valores
figure(2)
plot(vN,v(1,:),vN,v(2,:),'r',vN,v(3,:),'g',linspace(1,N,1000),FI,'k')
title('Grafico de convergencia del Ejercicio 19 PI')
legend('Usando phi','Usando Phi','Usando f','Valor Real')
xlabel('Iteraciones')
ylabel('Aproximacion')
set(legend,'Position',[0.5 0.3 0.2 0.2]);

%Tomar este script como modelo para futuros graficos y programas

