// // studio dell'errore nel calcolo della derivata prima // con le differenze in avanti e le differenze centrali // function [df_1,df_2]=derivata(x) h = logspace(-16,0,1000)'; // approssimazione della derivata del primo ordine df_1 = (exp(x+h)-exp(x))./h; // approssimazione della derivata del secondo ordine df_2 = (exp(x+h)-exp(x-h))./(2*h); // grafico dell'errore plot2d(h,[abs(exp(x)-df_1)/abs(exp(x)), abs(exp(x)-df_2)/abs(exp(x)) ],logflag='ll',style=[2 3]) a=gca(); xtitle("Differenze in avanti e centrali","h","df_1,df_2") t=a.title; t.font_size=3; x_label=a.x_label; x_label.font_size=3; y_label=a.y_label; y_label.font_size=3; polyi1=a.children(1).children(1); polyi1.thickness=4; polyi2=a.children(1).children(2); polyi2.thickness=4; endfunction