

function esercizio3

clear all;

warning off;

esempio=5;

d=[-1,1];
switch esempio
    case 1
        ff=@(x) abs(x-0.3); f=chebfun(ff,d,'splitting','on');
    case 2
        ff=@(x) exp(-x.^2); f=chebfun(ff,d);
    case 3
        ff=@(x) exp(x); f=chebfun(ff,d);
    case 4
        ff=@(x) sin(x); f=chebfun(ff,d);
    case 5
        % METODO 1:
        % trucco nel denominatore: se x=0 allora ff(0)=1, altrimenti vale
        % sin(pi*x)./(pi*x)
        ff=@(x) sin(pi*x)./(pi*x+(x == 0))+(x == 0); f=chebfun(ff,d);
        
        % METODO 2:
        % utilizzo della funzione predefinita chebfun, tenendo conto che
        % e' implementata come sinc(x)=sin(x)/x
        % f=sinc(chebfun('pi*x'));
end

for n=10:10:50
    p=minimax(f,n);
    fc=chebfun(f,n+1);
    erem=norm(f-p,inf);
    echeb=norm(f-fc,inf);
    fprintf('\n \t n: %3.0f remez: %1.5e  cheb: %1.5e',n,erem,echeb)
end

fprintf('\n \n');




% RISULTATI:
%
% switch esempio
%     case 1
%          in questo caso non ha molto senso usare minimax per fare un
%          paragone, visto che un intervallo, quello di minimax viene
%          suddiviso, mentre quello dell'interpolazione in nodi Chebyshev
%          risulta quello originario
%     case 2
%          in questo caso vi e' una stranezza a grado 20 (minimax dovrebbe
%          fornire risultati migliori dell'interpolante in nodi di Chebyshev!
%           	 n:  10 remez: 4.15546e-07  cheb: 8.29191e-07
%           	 n:  20 remez: 1.49028e-14  cheb: 1.44960e-14
%           	 n:  30 remez: 5.11551e-16  cheb: 3.73111e-16
%           	 n:  40 remez: 5.04825e-16  cheb: 3.54284e-16
%           	 n:  50 remez: 3.62494e-16  cheb: 3.24118e-16
%     case 3
%                n:  10 remez: 2.50234e-11  cheb: 4.99148e-11
%           	 n:  20 remez: 2.20524e-15  cheb: 7.06397e-16
%           	 n:  30 remez: 8.71606e-16  cheb: 7.18837e-16
%           	 n:  40 remez: 2.21540e-15  cheb: 7.64319e-16
%           	 n:  50 remez: 1.02045e-15  cheb: 7.59183e-16
%     case 4
%                n:  10 remez: 2.50234e-11  cheb: 4.99148e-11
%           	 n:  20 remez: 2.20524e-15  cheb: 7.06397e-16
%           	 n:  30 remez: 8.71606e-16  cheb: 7.18837e-16
%           	 n:  40 remez: 2.21540e-15  cheb: 7.64319e-16
%           	 n:  50 remez: 1.02045e-15  cheb: 7.59183e-16
%     case 5
%         
%          NOTA:
%                  UTILIZZANDO METODO 1:
%         
%                  n:  10 remez: 6.14452e-08  cheb: 1.22861e-07
%                  n:  20 remez: 8.15769e-16  cheb: 2.22445e-16
%                  n:  30 remez: 7.08345e-16  cheb: 2.58657e-16
%                  n:  40 remez: 6.59252e-16  cheb: 2.75775e-16
%                  n:  50 remez: 5.71075e-16  cheb: 2.81075e-16
%         
%                  UTILIZZANDO METODO 2:
%         
%                  n:  10 remez: 6.14452e-08  cheb: 1.22861e-07
%                  n:  20 remez: 1.05512e-15  cheb: 1.16723e-16
%                  n:  30 remez: 6.49135e-16  cheb: 1.41734e-16
%                  n:  40 remez: 7.02624e-16  cheb: 2.60052e-16
%                  n:  50 remez: 6.33675e-16  cheb: 3.53144e-16
%         
% end