function a=xallax(y) % Calcola la funzione inversa di x^x con un errore di 10^-3. % In altre parole, dato y, calcola x tale che x^x=y. % Esempio: % >> xallax(3) % 1.825 % >> xallax(10) % 2.505 % Usa l'algoritmo di bisezione applicato alla funzione % g(x) = x^x-y e=1e-3; if y < 1 disp('Il dato di ingresso deve essere maggiore di 1'); return end % Per scegliere i punti iniziali, usiamo il fatto che (dato che y>1) % 1 < x < x^x=y. a=1; b=y; ga=a^a-y; gb=b^b-y; while b-a>e c=(a+b)/2; gc=c^c-y; if ga*gc <= 0 b=c; gb=gc; else a=c; ga=gc; end end