function demo_newton_mod

% default
toll=10^(-14);
nmax=1000;
esempio=1;

% esempi.
switch esempio
    case 1 
        f=inline('sin(x)-x'); 
        f1=inline('cos(x)-1'); 
        x0=1;
        sol=0;
        m=3;
end

% newton modificato
[xv,step,flag] = newtonfun_mod (f,f1,m,x0,toll,nmax);

% statistiche
fprintf('\n \t soluzione : %1.15e',xv(end));
fprintf('\n \t tolleranza: %1.15e',toll);

% il numero di iterazioni e' pari alla lunghezza di 
% xv meno 1.
fprintf('\n \t numero it.: %4d',length(xv)-1);

switch flag 
    case 0
    fprintf('\n \t La procedura e'' terminata correttamente');
    case 3
    fprintf('\n \t Probabile valutazione derivata in radice multipla');
    otherwise
    fprintf('\n \t La procedura non e'' terminata correttamente');
end
fprintf('\n \n');

% ---------------------- plot ----------------------

indici=(1:length(step))';

% grafico risultati
clf; 
semilogy(indici,step);
hold on;
title('Step Newton'); % titolo
xlabel('Indice'); % etichetta asse x
ylabel('Modulo dello step'); % etichetta asse y
% nome del file da salvare che vari con l'esempio,
% ottenuto concatenando 3 stringhe
nomefile_pdf=strcat('newton_esempio',num2str(esempio),'.pdf');
% salva figura come pdf.
print(nomefile_pdf,'-dpdf');
hold off;

% ---------- salvataggio risultati su file ----------

% nome file variabile con l'esempio.
nomefile_txt=strcat('newton_esempio',num2str(esempio),'.txt');
% creazione del file con facolta' di scrittura.
fid=fopen(nomefile_txt,'w');
% dati immagazzinati nella matrice A
A=[(1:length(xv)); xv; step];
% scrittura dei dati su file.
fprintf(fid,'\n %3.0f  %1.15e  %1.2e',A);
% chiusura file
fclose(fid);
