Il metodo delle secanti classico

Il metodo delle secanti è un metodo numerico iterativo che utilizzo per approssimare una radice dell'equazione \(f(x)=0\).

Il metodo consiste nel sostituire un tratto del grafico della funzione con una retta secante e nel considerare la sua intersezione con l'asse delle ascisse come una nuova approssimazione della radice.

A differenza della regula falsi, non devo mantenere un intervallo in cui la funzione assume valori di segno opposto agli estremi.

Come funziona il metodo delle secanti?

Per applicare il metodo scelgo due valori iniziali \(x_0\) e \(x_1\), preferibilmente vicini alla radice che voglio trovare.

Considero i due punti del grafico della funzione:

$$A(x_0,f(x_0)) \qquad B(x_1,f(x_1))$$

Traccio la retta secante che passa per questi punti e individuo la sua intersezione con l'asse delle ascisse.

Indico con \(x_2\) l'ascissa del punto di intersezione. Questo valore rappresenta una nuova approssimazione della radice.

Per calcolarlo utilizzo l'equazione della retta passante per due punti:

$$\frac{y-f(x_1)}{f(x_1)-f(x_0)}=\frac{x-x_1}{x_1-x_0}$$

Pongo \(y=0\), perché cerco l'intersezione con l'asse delle ascisse, e ricavo:

$$\boxed{x_2=x_1-\frac{f(x_1)(x_1-x_0)}{f(x_1)-f(x_0)}}$$

A questo punto ho ottenuto una nuova approssimazione della radice. Devo però verificare se è esatta oppure se posso migliorarla.

Come calcolo le approssimazioni successive?

Calcolo il valore \(f(x_2)\).

Distinguo due casi:

  • Se \(f(x_2)=0\), ho trovato la radice esatta dell'equazione e il procedimento termina.
  • Se \(f(x_2)\ne0\), ripeto il procedimento utilizzando le ultime due approssimazioni \(x_1\) e \(x_2\), senza considerare più il valore iniziale \(x_0\).

Traccio quindi una nuova retta secante passante per i punti:

$$A(x_1,f(x_1)) \qquad B(x_2,f(x_2))$$

La sua intersezione con l'asse delle ascisse mi permette di ottenere una terza approssimazione \(x_3\).

Continuando nello stesso modo costruisco una successione di approssimazioni:

$$x_0,x_1,x_2,x_3,\ldots,x_n$$

A ogni iterazione utilizzo la formula generale di ricorrenza:

$$\boxed{x_{n+1}=x_n-\frac{f(x_n)(x_n-x_{n-1})}{f(x_n)-f(x_{n-1})}}$$

dove \(x_n\) e \(x_{n-1}\) sono le ultime due approssimazioni calcolate.

Per applicare la formula devo verificare che \(f(x_n)\ne f(x_{n-1})\), altrimenti il denominatore si annulla e non posso calcolare la nuova approssimazione.

Quando interrompo il procedimento?

Continuo a calcolare nuove approssimazioni fino a raggiungere la precisione desiderata.

Per stabilire quando interrompere il procedimento, fisso una tolleranza \(\varepsilon>0\).

Un criterio pratico consiste nel verificare che la differenza tra due approssimazioni successive sia inferiore alla tolleranza:

$$ |x_{n+1}-x_n|<\varepsilon $$

Questa condizione indica che le approssimazioni successive sono molto vicine, ma non mi garantisce da sola che l'errore rispetto alla radice esatta sia inferiore a \(\varepsilon\). Infatti, due approssimazioni possono essere molto vicine tra loro, ma ancora lontane dalla soluzione.

Posso controllare anche il valore della funzione nell'approssimazione ottenuta rispetto a una tolleranza \(\delta>0\) che scelgo per il residuo dell'equazione.

$$|f(x_{n+1})|<\delta$$

Tuttavia, anche un residuo molto piccolo non garantisce da solo un errore altrettanto piccolo sulla radice.

Per questo motivo è preferibile utilizzare entrambi i criteri e fissare un numero massimo di iterazioni, per evitare che il procedimento continui indefinitamente (loop infinito).

Un esempio pratico

Voglio approssimare una radice dell'equazione seguente utilizzando il metodo delle secanti classico:

$$x^3-x-2=0$$

Considero la funzione:

$$f(x)=x^3-x-2$$

Scelgo come valori iniziali:

$$x_0=1 \qquad x_1=2$$

Calcolo i valori della funzione:

$$f(1)=1^3-1-2=-2$$

$$f(2)=2^3-2-2=4$$

Quindi, la prima retta deve passare tra i punti \( A (1,-2) \) e \( B (2, 4) \).

l'inizializzazione

Prima iterazione

Applico la formula delle secanti:

$$x_2=x_1-\frac{f(x_1)(x_1-x_0)}{f(x_1)-f(x_0)}$$

Sostituisco i valori:

$$x_2=2-\frac{4(2-1)}{4-(-2)}$$

Ottengo:

$$\boxed{x_2=\frac43\approx1{,}333333}$$

Questo punto $ x_2 $ è l'intersezione della retta $ \overline{AB} $ sull'asse dell'ascisse.

la prima iterazione

Calcolo il valore della funzione:

$$f(x_2)=\left(\frac43\right)^3-\frac43-2$$

$$ f(x_2)=-\frac{26}{27}\approx-0{,}962963 $$

Poiché \(f(x_2)\ne0\), devo continuare il procedimento.

Seconda iterazione

Utilizzo le ultime due approssimazioni:

$$x_1=2 \qquad x_2=\frac43$$

Applico nuovamente la formula:

$$x_3=x_2-\frac{f(x_2)(x_2-x_1)}{f(x_2)-f(x_1)}$$

Sostituisco i valori:

$$x_3=\frac43-\frac{\left(-\frac{26}{27}\right)\left(\frac43-2\right)}{-\frac{26}{27}-4}$$

Ottengo:

$$\boxed{x_3=\frac{98}{67}\approx1{,}462687}$$

Calcolo il valore della funzione:

$$f(x_3)\approx-0{,}333339$$

Poiché \(f(x_3)\ne0\), ripeto il procedimento utilizzando \(x_2\) e \(x_3\).

Osservo che questi due valori si trovano entrambi a sinistra della radice. Questo non impedisce al metodo di proseguire, perché non devo mantenere valori della funzione di segno opposto.

la seconda iterazione

Terza iterazione

Utilizzo le ultime due approssimazioni:

$$x_2=\frac43\approx1{,}333333 \qquad x_3=\frac{98}{67}\approx1{,}462687$$

Applico nuovamente la formula:

$$x_4=x_3-\frac{f(x_3)(x_3-x_2)}{f(x_3)-f(x_2)}$$

Sostituisco i valori approssimati:

$$x_4\approx1{,}462687-\frac{(-0{,}333339)(1{,}462687-1{,}333333)}{-0{,}333339-(-0{,}962963)}$$

Ottengo:

$$ \boxed{x_4\approx1{,}531169} $$

Calcolo il valore della funzione:

$$f(x_4)=x_4^3-x_4-2$$

$$ f(x_4)\approx0{,}058626 $$

Poiché \(f(x_4)\ne0\), ripeto il procedimento utilizzando \(x_3\) e \(x_4\).

Osservo che il valore della funzione è diventato positivo. Quindi la nuova approssimazione si trova a destra della radice, mentre quella precedente si trovava a sinistra.

esempio

Quarta iterazione

Utilizzo le ultime due approssimazioni:

$$x_3\approx1{,}462687 \qquad x_4\approx1{,}531169$$

Applico nuovamente la formula:

$$x_5=x_4-\frac{f(x_4)(x_4-x_3)}{f(x_4)-f(x_3)}$$

Sostituisco i valori approssimati:

$$x_5\approx1{,}531169-\frac{(0{,}058626)(1{,}531169-1{,}462687)}{0{,}058626-(-0{,}333339)}$$

Ottengo:

$$\boxed{x_5\approx1{,}520926}$$

Calcolo il valore della funzione:

$$f(x_5)=x_5^3-x_5-2$$

$$ f(x_5)\approx-0{,}002693$$

Poiché \(f(x_5)\ne0\), ripeto il procedimento utilizzando \(x_4\) e \(x_5\).

Osservo che il valore della funzione è tornato negativo. La nuova approssimazione si trova quindi a sinistra della radice.

Inoltre, il valore assoluto della funzione è diminuito:

$$|f(x_5)|\approx0{,}002693$$

Questo indica che la nuova approssimazione soddisfa l'equazione con un residuo più piccolo rispetto alla precedente.

esempio

Iterazioni successive

Continuo ad applicare la formula, utilizzando ogni volta le ultime due approssimazioni.

  • Iterazione 1: \(x_2\approx1{,}333333\), \(f(x_2)\approx-0{,}962963\)
  • Iterazione 2: \(x_3\approx1{,}462687\), \(f(x_3)\approx-0{,}333339\)
  • Iterazione 3: \(x_4\approx1{,}531169\), \(f(x_4)\approx0{,}058626\)
  • Iterazione 4: \(x_5\approx1{,}520926\), \(f(x_5)\approx-0{,}002693\)
  • Iterazione 5: \(x_6\approx1{,}521376\), \(f(x_6)\approx-0{,}000020\)
  • Iterazione 6: \(x_7\approx1{,}521380\), \(f(x_7)\approx0\)

Osservo che le approssimazioni non sono necessariamente crescenti o decrescenti. Possono trovarsi alternativamente a sinistra e a destra della radice.

Dopo alcune iterazioni ottengo:

$$\boxed{x\approx1{,}521380}$$

che rappresenta la radice dell'equazione arrotondata a sei cifre decimali.

Quali sono i vantaggi e i limiti del metodo delle secanti?

Il metodo delle secanti classico può convergere rapidamente alla radice senza richiedere il calcolo della derivata della funzione, a differenza del metodo di Newton.

Se la funzione è sufficientemente regolare, la radice è semplice e scelgo due approssimazioni iniziali abbastanza vicine alla soluzione, il metodo converge generalmente con ordine circa \(1{,}618\), superiore alla convergenza lineare.

Tuttavia, il metodo non garantisce la convergenza per qualsiasi scelta dei valori iniziali. Le approssimazioni possono allontanarsi dalla radice, convergere a una radice diversa oppure rendere impossibile il calcolo quando il denominatore della formula si annulla.

Rispetto alla regula falsi, il metodo delle secanti classico può quindi essere più rapido, ma è meno affidabile perché non mantiene necessariamente un intervallo contenente la radice.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Calcolo numerico

Le radici di una funzione 

Tool