//
// test newton1d
//
function y = f_test(x)
    //y = sin(x).^2 - 3*sin(x) - cos(x).^2 + 2
    //y = x.^3 - 3*x - 2  // Scegliere x0 > 2. In questo caso l'ordine di
                        // convergenza è due.
                        // Scegliere x0 = -4, poi incrementare kmax a 30
                        // Lo zero z = -1 ha molteplicità due. In questo
                        // caso l'ordine di convergenza del metodo è uno.
    //y = (x - 2).^13   // Scegliere x0 = -4, poi incrementare kmax a 200
                      // Lo zero z = 2 ha molteplicità tredici. In questo
                      // caso l'ordine di convergenza del metodo è uno.
endfunction
//
function j = Jf_test(x)
    //j = 4*sin(x).*cos(x) - 3*cos(x)
    //j = 3*x.^2 - 3
    //j = 13*(x - 2).^12
endfunction
//
clf();
xx = linspace(-5,5,200);
plot(xx,f_test(xx),"b");
xgrid();
//
printf("\n");
x0 = input('Scelta dell''utilizzatore: x0=');
printf("\n");
//
Percorso = "/home/ciampa/Lavoro/Scilab/Lavoro/Zeri/Metodi/";
exec(Percorso + "newton1d.sci");
//
E_newt = 1d-7;
kmax = 20;
//
[z,v,info,XX] = newton1d(f_test,x0,Jf_test,E_newt,kmax,"loquace");
//
printf("z = "); disp(z);
printf("v = "); disp(v);
printf("info = "); disp(info);
//
plot(z,v,"ro");