Metodo del punto fisso
Inserisco un'equazione \(f(x)=0\), scelgo un punto iniziale e osservo come la successione \(x_{n+1}=g(x_n)\) si avvicina alla soluzione, oppure perché non converge.
1. Imposta l'equazione
Esempi: x^2+x-2 · cos(x)-x · x^3-x-2 · exp(-x)-x · ln(x)+x-2 · x^6-x-2. Usa * per moltiplicare; sono accettati anche 2x e f(x)=0. L'intervallo deve contenere \(x_0\).
2. Scegli una trasformazione \(x=g(x)\)
Il programma propone diverse riscritture di \(f(x)=0\). Una trasformazione può essere equivalente all'equazione, ma non necessariamente convergente.
Seleziona una delle formule proposte: le iterazioni e il grafico si aggiornano in base alla funzione \(g(x)\) scelta.
Scrivi soltanto l'espressione, oppure g(x)=2/(x+1). Per una funzione personalizzata il programma controlla le iterazioni e il residuo, ma non garantisce che l'equazione \(x=g(x)\) sia equivalente a \(f(x)=0\).
Equazione e trasformazione
Analisi della convergenza
Come ottengo la trasformazione?
L'analisi usa la derivata simbolica del modulo Derivate e stime numeriche per intervalli. Le stime sugli intervalli e sulla derivata sono numeriche e indicative, non una dimostrazione formale. I rami delle funzioni inverse possono escludere altre soluzioni.
3. Diagramma a ragnatela
Iterazione visualizzata
Calcolo spiegato
4. Tabella delle iterazioni
| n | \(x_n\) | \(f(x_n)\) | \(x_{n+1}\) | \(|x_{n+1}-x_n|\) | \(|f(x_{n+1})|\) |
|---|
Come funziona il metodo del punto fisso?
Parto da un'equazione \(f(x)=0\) e la riscrivo nella forma \(x=g(x)\). Scelgo un valore iniziale \(x_0\) e costruisco una successione applicando la regola
Se la successione converge e la funzione \(g\) è continua nel limite, il valore raggiunto soddisfa \(\alpha=g(\alpha)\). In questo caso \(\alpha\) è un punto fisso. Nel grafico ogni iterazione è rappresentata da un segmento verticale fino alla curva \(y=g(x)\), seguito da un segmento orizzontale fino alla retta \(y=x\).
Come interpreto le radici mostrate?
La ricerca degli zeri è esplorativa: considera campionamenti, cambi di segno e alcuni punti stazionari. Non dimostra che siano state individuate tutte le radici. La scelta automatica tiene conto della radice raggiunta dal punto iniziale, ma non garantisce che sia la radice matematicamente più vicina.
Come stabilisco se il metodo converge?
Se \(g\) è definita e derivabile su un intervallo chiuso \(I=[a,b]\), se \(g(I)\subseteq I\) e se esiste una costante \(k<1\) per cui \(|g'(x)|\leq k\) per ogni \(x\in I\), la successione converge all'unico punto fisso di \(I\), per ogni \(x_0\in I\). Queste sono condizioni sufficienti, non necessarie.
Perché devo controllare l'equivalenza?
Un punto fisso di \(g\) non è necessariamente uno zero di \(f\). Ad esempio, elevare al quadrato un'equazione può produrre soluzioni estranee; utilizzare un ramo di una funzione inversa può escludere altre soluzioni. Il programma confronta numericamente i punti individuati, senza pretendere di trovarli tutti. Per una radice quadrata isolata, il membro opposto deve inoltre essere non negativo: nel caso \(\sqrt{x}=2-x\) serve \(x\leq2\).
Ad esempio, per \(f(x)=\sqrt{x}+x-2\) la riscrittura \(g(x)=(2-x)^2\) ha un punto fisso in \(x=4\), che però non annulla \(f\): \(f(4)=4\). Il simulatore segnala questa differenza anche quando l’iterazione rimane ferma.
E se nessuna trasformazione funziona?
Quando nessuna delle trasformazioni provate raggiunge il residuo richiesto dal valore iniziale, il simulatore lo segnala senza raccomandarne una. L’utente può comunque esplorare le trasformazioni, cambiare il punto iniziale o inserire una funzione personale. Il risultato dipende dal metodo, dalla tolleranza e dal numero massimo di passi.
Che cosa succede se un’iterazione esce dall’intervallo?
L’intervallo [a,b] è quello usato per l’analisi delle condizioni sufficienti. Se un’iterazione ne esce, queste condizioni non giustificano più l’intero percorso; tuttavia il calcolo può proseguire se la funzione rimane definita. Uscire dall’intervallo non equivale necessariamente a divergere: per questo il simulatore segnala il fatto, senza confonderlo con l’esito finale.
Quale criterio di arresto utilizzo?
Controllo il residuo \(|f(x_n)|\) rispetto alla tolleranza scelta e verifico separatamente che lo scarto \(|g(x_n)-x_n|\) sia sufficientemente piccolo secondo la precisione numerica. Entrambe le condizioni sono necessarie per dichiarare la convergenza a una radice mediante la trasformazione selezionata. Mostro anche la differenza \(|x_{n+1}-x_n|\), che da sola non garantisce la precisione della radice. Se il metodo diverge o incontra un punto non definito, il programma segnala il problema.