
function [xbar,flag]=interpolazione_inversa(x,y)

% Oggetto:
% Routine che implementa la interpolazione inversa di una funzione 
% invertibile e continua "f" in un intorno  del suo zero x*.
%
% Input:
% x: vettore di ascisse a due a due distinte;
% y: valori assunti da "f" nelle componenti di "x";
% 
% Output:
% xbar: approssimazione dello zero di "f", pari al vettore nullo se "flag=1".
% flag: se vale 0 il processo e' andato a buon fine, 1 altrimenti.

flag=0;
[a,ia]=min(x);
[b,ib]=max(x);

if y(ia)*y(ib) > 0
    flag=1; xbar=[];
else
    p=polyfit(y,x,length(y)-1);
    xbar=polyval(p,0);
end