% Funzioni anonime per f, derivata prima e seconda f = @(x) x+1 + 2./(x-1) ; df = @(x) 1 - 2./(x-1).^2 ; ddf = @(x) 4./(x-1).^3 ; % Sottointervalli x ab = [-8 10] ; x_verticale = 1 ; x_intervalli = [ ab(1) x_verticale ; ... x_verticale ab(2) ] ; % Ciclo for su ciascun sottointervallo n_intervalli = size( x_intervalli , 1 ) ; zeri_df_vettore = [] ; for intervallo = 1 : n_intervalli x1 = x_intervalli( intervallo , 1 ) ; x2 = x_intervalli( intervallo , 2 ) ; x = linspace(x1, x2, 1000) ; plot( x , f(x) , 'k' , 'LineWidth' , 1 ) ; % linea nera spessore 1 hold on ; zeri_df = zeri_completi( df , [x1 x2] ) ; plot( zeri_df , f(zeri_df) , 'or' ) ; % cerchi rossi zeri_df_vettore = [ zeri_df_vettore zeri_df ] ; end % Asintoti mx+q a +-Infinito m_sx = limite_meno_inf( @(x) f(x) ./ x , 1e-15 ) ; q_sx = limite_meno_inf( @(x) f(x)-m_sx*x , 1e-6 ) ; m_dx = limite_piu_inf( @(x) f(x) ./ x , 1e-15 ) ; q_dx = limite_piu_inf( @(x) f(x)-m_dx*x , 1e-6 ) ; % Calcolo m asintoti mediante derivate m_sx = limite_meno_inf( df , 1e-15 ) ; m_dx = limite_piu_inf( df , 1e-15 ) ; % Plot asintoti % Asintoto verticale in x=1 plot( [x_verticale x_verticale] , [-1000 1000] , '--k' ) ; % Asintoto obliquo verso -infinito x_med = ( ab(1) + x_verticale ) / 2 ; x_sx = linspace( ab(1) , x_med , 1000 ) ; plot( x_sx , m_sx*x_sx+q_sx , '--k' ) ; % Asintoto obliquo verso +infinito x_med = ( x_verticale + ab(2) ) / 2 ; x_dx = linspace( x_med , ab(2) , 1000 ) ; plot( x_dx , m_dx*x_dx+q_dx , '--k' ) ; % Limiti assi xlim(ab) ; ylim([-8 12]) ; % Abbellimenti grafici xlabel( '$x$' , 'Interpreter' , 'latex') ; ylabel( '$y$' , 'Interpreter' , 'latex') ; title( '$f(x)=(x^2+1)/(x-1)$' , 'Interpreter' , 'latex') ; assi = gca ; assi.TickLabelInterpreter = 'latex' ; assi.FontSize = 15 ; grid on ; exportgraphics( assi , 'plot.pdf' ) ;