- Definizione della funzione e della sua derivata:
Le funzionif(x)
edf(x)
definiscono la funzione e la sua derivata, rispettivamente, che vogliamo risolvere con il metodo di Newton-Raphson. In questo caso, stiamo cercando di approssimare la radice quadrata di 2, quindif(x)
èx**2 - 2
e la sua derivatadf(x)
è2*x
. - Implementazione del metodo di Newton-Raphson:
Il metodo di Newton-Raphson è un algoritmo per trovare approssimativamente le radici di una funzione reale. Parte da un’ipotesi inizialex0
e itera il processox = x - f(x) / df(x)
, che approssima progressivamente la radice della funzione. L’iterazione si arresta quando la differenza tra due iterazioni successive è inferiore a un certoepsilon
o quando si raggiunge il numero massimo di iterazionimax_iter
. Questo metodo restituisce una lista di tutte le approssimazioni calcolate. - Creazione dei plot:
La funzionecreate_plots
genera una serie di immagini che mostrano l’evoluzione delle approssimazioni calcolate dal metodo di Newton-Raphson. Per ogni approssimazione, genera un grafico che mostra la funzionef(x)
, il punto corrente calcolato dal metodo di Newton-Raphson, e un altro grafico che mostra l’approssimazione corrente della radice quadrata di 2. Ogni immagine viene salvata come un file temporaneo. - Creazione della GIF:
La funzionecreate_gif
prende una lista di immagini e crea una GIF. Utilizza la funzionesave
della classeImage
del modulo PIL (Python Imaging Library) per creare la GIF. La GIF viene salvata con un ritardo di 1 secondo (duration=1000
millisecondi) tra ciascun frame. - Pulizia dei file temporanei:
Infine, il codice rimuove i file immagine temporanei che sono stati creati per generare la GIF.
Il codice utilizza il metodo di Newton-Raphson per calcolare una serie di approssimazioni della radice quadrata di 2, genera un’immagine per ciascuna approssimazione che mostra l’evoluzione dell’approssimazione, e poi combina tutte queste immagini in una GIF. Questo permette di visualizzare visivamente come l’approssimazione si avvicina al valore vero man mano che il metodo di Newton-Raphson itera.