Quando si studia matematica, si viene abituati all’idea che ogni problema abbia una soluzione pulita. Ti danno un’equazione, applichi una regola e trovi la tua x. Ma nella realtà ingegneristica, fisica o informatica, la stragrande maggioranza delle equazioni semplicemente non si lascia risolvere con carta, penna e algebra. Non esistono formule magiche per isolare l’incognita.
Come se ne esce?
Se l’algebra classica è un bisturi affilato che taglia con precisione chirurgica, l’analisi numerica è un radar: non ci dice esattamente dove si trova il bersaglio con una formula chiusa, ma restringe il campo di ricerca finché l’errore non diventa totalmente trascurabile. Ecco come funzionano i due “pilastri” per domare le funzioni irrisolvibili.
1. Il Metodo di Bisezione: La “Forza Bruta” Intelligente
Il metodo di bisezione è l’applicazione pratica del Teorema degli Zeri (o di Bolzano). È un metodo estremamente robusto: se la funzione è continua e hai trovato un intervallo in cui cambia segno, la soluzione deve essere lì in mezzo.
Come funziona: Prendi un intervallo [math][a, b][/math] dove [math]f(a)[/math] e [math]f(b)[/math] hanno segni opposti. Calcoli il punto medio [math]c = \frac{a+b}{2}[/math]. Se [math]f(c)[/math] ha lo stesso segno di [math]f(a)[/math], la radice è tra [math]c[/math] e [math]b[/math]. Altrimenti, è tra [math]a[/math] e [math]c[/math].
- Il vantaggio: Non fallisce mai. È “lento ma inesorabile”.
- Lo svantaggio: Richiede molti passaggi (iterazioni) per ottenere molte cifre decimali.
2. Il Metodo di Newton-Raphson: L’Inseguimento della Tangente
Mentre la bisezione ignora la “forma” della curva e guarda solo i segni, Newton usa la pendenza (la derivata) per capire in che direzione correre verso lo zero.
L’idea: Parti da un punto [math]x_0[/math] vicino alla soluzione. Tracci la retta tangente alla curva in quel punto. Il punto in cui la tangente tocca l’asse [math]x[/math] sarà la tua nuova approssimazione [math]x_1[/math].
La formula magica:
[math]\displaystyle x_{n+1} = x_n – \frac{f(x_n)}{f'(x_n)}[/math]
- Il vantaggio: È incredibilmente veloce. Se sei vicino alla soluzione, il numero di cifre decimali corrette raddoppia quasi a ogni passaggio.
- Il rischio: Se scegli un punto di partenza sbagliato (ad esempio dove la derivata è quasi zero), il metodo può “impazzire” e spararti lontano dal bersaglio.
Quale scegliere?
| Caratteristica | Bisezione | Newton-Raphson |
|---|---|---|
| Velocità | Lineare (lenta) | Quadratica (velocissima) |
| Affidabilità | Garantita (se [math]f(a)f(b) < 0[/math]) | Dipende dal punto di partenza |
| Requisiti | Solo continuità | Serve conoscere la derivata [math]f'(x)[/math] |
| Uso ideale | Per “avvicinarsi” alla zona giusta | Per “rifinire” il risultato con precisione |
Curiosità applicativa: Quando usi una calcolatrice scientifica per risolvere un’equazione complessa o Excel per la funzione “Ricerca Obiettivo”, dietro le quinte sta quasi sicuramente lavorando un algoritmo basato su Newton o su una sua variante ibrida moderna (come il metodo di Brent, che unisce la sicurezza della bisezione alla velocità di metodi più avanzati).
Esercizio 1 (Difficoltà media) –Metodo di Bisezione – Galleggiamento di una sfera
Testo
Un serbatoio cilindrico contiene acqua. Una sfera omogenea di raggio [math]R=1\,m[/math] e densità [math]\rho_s=0.6\,g/cm^3[/math] viene lasciata galleggiare. Per il principio di Archimede, la profondità di immersione [math]x[/math] (distanza dal punto più basso della sfera alla superficie libera, in metri) soddisfa l’equazione:
[math]\displaystyle x^3 – 3x^2 + \frac{4\rho_s}{\rho_{acqua}} = 0,[/math]
dove [math]\rho_{acqua}=1\,g/cm^3[/math]. Determina [math]x[/math] con un errore assoluto inferiore a [math]10^{-3}[/math] usando il metodo di bisezione. Scegli opportunamente l’intervallo iniziale e giustifica la scelta.
Soluzione
1. Impostazione della funzione
Definiamo la funzione di cui cercare lo zero:
[math]f(x) = x^3 – 3x^2 + 2.4 \quad (\text{poiché } 4 \cdot 0.6 = 2.4)[/math]
La funzione è un polinomio, quindi continua su tutto [math]\mathbb{R}[/math].
2. Ricerca dell’intervallo di partenza
Fisicamente, la profondità [math]x[/math] può variare da [math]0[/math] (appena tocca l’acqua) a [math]2R = 2\,m[/math] (completamente immersa). Valutiamo [math]f[/math] agli estremi:
- [math]f(0) = 0 – 0 + 2.4 = 2.4 > 0[/math]
- [math]f(2) = 8 – 12 + 2.4 = -1.6 < 0[/math]
Poiché [math]f(0) \cdot f(2) < 0[/math] e la funzione è continua, per il Teorema degli Zeri esiste almeno una radice nell’intervallo [math](0, 2)[/math].
3. Applicazione del metodo di bisezione
Eseguiamo le iterazioni calcolando il punto medio [math]c = (a+b)/2[/math]. Ci fermiamo quando l’ampiezza dell’intervallo [math](b-a)[/math] diventa minore di [math]2 \times 10^{-3}[/math] per garantire l’errore richiesto.
| Iter. | a | b | c | f(c) | Segno f(a)·f(c) |
|---|---|---|---|---|---|
| 1 | 0 | 2 | 1.0 | +0.4 | + → a=c |
| 2 | 1.0 | 2 | 1.5 | -0.975 | – → b=c |
| 3 | 1.0 | 1.5 | 1.25 | -0.334 | – → b=c |
| 4 | 1.0 | 1.25 | 1.125 | +0.027 | + → a=c |
| 5 | 1.125 | 1.25 | 1.1875 | -0.156 | – → b=c |
| 6 | 1.125 | 1.1875 | 1.15625 | -0.063 | – → b=c |
| 7 | 1.125 | 1.15625 | 1.140625 | -0.019 | – → b=c |
| 8 | 1.125 | 1.140625 | 1.1328125 | +0.004 | + → a=c |
| 9 | 1.1328125 | 1.140625 | 1.136719 | -0.007 | – → b=c |
Dopo 9 iterazioni, l’intervallo è [math][1.1328, 1.1367][/math]. Il punto medio è [math]c_9 \approx 1.1348[/math].
Radice approssimata: [math]x \approx 1.135 \, m[/math]

💡 Osservazione: Il metodo di bisezione è lento ma inesorabile. Per dimezzare l’errore serve sempre un’iterazione in più. Per ottenere una precisione di [math]10^{-3}[/math] partendo da un intervallo di ampiezza [math]2[/math], teoricamente servono [math]\log_2(2/10^{-3}) \approx 11[/math] iterazioni.
Domanda di riflessione
Perché abbiamo scelto l’intervallo [math][0,2][/math] e non, ad esempio, [math][0.5,1.5][/math]? Quale proprietà fondamentale del metodo di bisezione garantisce la convergenza anche partendo da un intervallo molto ampio?
Risposta
Abbiamo scelto [math][0,2][/math] perché rappresenta l’intervallo fisicamente possibile per la profondità di immersione: [math]0[/math] indica la sfera appena a contatto con l’acqua, mentre [math]2[/math] indica la sfera completamente sommersa (essendo il diametro [math]2R[/math]).
Inoltre, [math]f(0)[/math] e [math]f(2)[/math] hanno segno opposto, il che soddisfa l’ipotesi necessaria per iniziare l’algoritmo. Un intervallo più stretto come [math][0.5, 1.5][/math] sarebbe stato comunque valido poiché:
- [math]f(0.5) = 0.5^3 – 3 \cdot 0.5^2 + 2.4 = 1.775 > 0[/math]
- [math]f(1.5) = -0.975 < 0[/math]
Tuttavia, scegliere [math][0, 2][/math] è più logico in fase di analisi iniziale perché non richiede una conoscenza preliminare di dove si trovi esattamente la radice, ma si affida solo ai limiti fisici del problema.
La proprietà fondamentale: Il Teorema degli Zeri
La proprietà che garantisce la convergenza è il Teorema degli Zeri (o di Bolzano):
“Se una funzione [math]f(x)[/math] è continua in un intervallo chiuso [math][a, b][/math] e assume segni opposti agli estremi ([math]f(a) \cdot f(b) < 0[/math]), allora esiste almeno un punto [math]c \in (a, b)[/math] tale che [math]f(c) = 0[/math].”
Il metodo di bisezione è infallibile perché restringe sistematicamente l’intervallo dimezzandolo ad ogni passo, ma mantenendo sempre attiva la proprietà del cambio di segno. Per quanto l’intervallo iniziale possa essere ampio, l’errore diminuisce secondo una progressione geometrica ([math]1/2^n[/math]), forzando la successione dei punti medi a convergere verso la radice desiderata.
Esercizio 2 (Difficoltà alta)–Metodo di Bisezione – Oscillatore smorzato e soglia di sensibilità
Testo
In un sistema meccanico smorzato, la posizione [math]y(t)[/math] di una massa segue l’andamento [math]y(t) = e^{-t/2} \cos(2t)[/math]. Un sensore rileva il passaggio della massa quando la sua posizione è inferiore a [math]0.05[/math] in valore assoluto.
Determinare il primo istante [math]t > 0[/math] in cui [math]y(t) = 0.05[/math] con una precisione di [math]10^{-4}[/math] secondi.
Impostare l’equazione [math]f(t) = 0[/math] e applicare il metodo di bisezione sull’intervallo appropriato.
Attenzione: la funzione non è monotona; discutere con cura la scelta dell’intervallo iniziale.
Soluzione
1. Formulazione del problema
Cerchiamo il valore [math]t[/math] tale che [math]e^{-t/2} \cos(2t) = 0.05[/math]. Definiamo la funzione:
[math]f(t) = e^{-t/2} \cos(2t) – 0.05[/math]
Dobbiamo trovare la più piccola radice positiva di [math]f(t) = 0[/math]. La funzione è continua in quanto composizione di funzioni elementari continue.
2. Analisi preliminare e scelta dell’intervallo
- Al tempo iniziale: [math]f(0) = e^{0} \cos(0) – 0.05 = 1 – 0.05 = 0.95 > 0[/math].
- Il coseno si annulla per la prima volta in [math]2t = \pi/2 \implies t = \pi/4 \approx 0.7854[/math].
- Valutiamo in quel punto: [math]f(\pi/4) = e^{-\pi/8} \cdot 0 – 0.05 = -0.05 < 0[/math].
Poiché [math]f(0)[/math] è positivo e [math]f(\pi/4)[/math] è negativo, per il Teorema degli Zeri esiste almeno una radice in [math][0, \pi/4][/math]. Essendo la funzione decrescente in questo primo tratto (l’esponenziale cala e il coseno scende da 1 a 0), la radice trovata sarà la prima in assoluto.
Intervallo iniziale: [math][a, b] = [0, 0.785398][/math]
3. Iterazioni di bisezione (Sintesi)
Eseguiamo i calcoli dimezzando l’intervallo finché [math](b-a)/2 < 10^{-4}[/math].
| Iter. | a | b | c (punto medio) | f(c) | Nuovo Estremo |
|---|---|---|---|---|---|
| 1 | 0 | 0.785398 | 0.392699 | +0.530 | a = c |
| 2 | 0.392699 | 0.785398 | 0.589049 | +0.235 | a = c |
| 3 | 0.589049 | 0.785398 | 0.687223 | +0.091 | a = c |
| 4 | 0.687223 | 0.785398 | 0.736311 | +0.014 | a = c |
| 5 | 0.736311 | 0.785398 | 0.760854 | -0.022 | b = c |
| 6 | 0.736311 | 0.760854 | 0.748583 | -0.001 | b = c |
Proseguendo le iterazioni (ne servono circa 13-14 per la precisione richiesta), si ottiene:
Radice approssimata: [math]t \approx 0.7482 \, s[/math]

💡 Osservazione: La funzione oscilla. Il metodo di bisezione convergerà sempre a una radice se i segni agli estremi sono opposti. Tuttavia, se l’intervallo fosse stato più ampio (es. [math][0, 5][/math]), il metodo avrebbe potuto convergere verso una radice successiva, “saltando” il primo istante di rilevamento del sensore. Ecco perché lo studio della funzione è cruciale prima del calcolo numerico.
Domanda di riflessione
Cosa accadrebbe se scegliessimo l’intervallo [math][0,2][/math] invece di [math][0,\pi/4][/math]? Il metodo di bisezione potrebbe ancora funzionare? E se la funzione avesse tre radici nell’intervallo scelto, quante ne troveremmo?
Risposta
Scegliendo l’intervallo [math][0,2][/math], avremmo ancora un cambio di segno poiché [math]f(0) = 0.95 > 0[/math] e [math]f(2) \approx -0.290 < 0[/math]. Il metodo di bisezione convergerebbe comunque a una radice, ma non avremmo la garanzia che sia la prima istanza cercata dal sensore.
In [math][0,2][/math], la funzione dell’oscillatore attraversa l’asse [math]x[/math] in due punti diversi. Poiché il metodo di bisezione si basa esclusivamente sul segno del punto medio, potrebbe essere “attirato” dalla seconda radice (quella vicino a [math]t \approx 1.6[/math]) a seconda del percorso dei calcoli, ignorando completamente la prima.
Comportamento con radici multiple
Il comportamento del metodo dipende strettamente dal numero di soluzioni presenti nell’intervallo scelto:
- Numero dispari di radici (es. 1 o 3): Il metodo ne troverà sicuramente una, ma non è possibile prevedere quale senza un’analisi più approfondita.
- Numero pari di radici (es. 2 o 4): Il metodo solitamente fallisce in partenza, perché agli estremi dell’intervallo la funzione avrebbe lo stesso segno (es. entrambi positivi), violando l’ipotesi del Teorema degli Zeri.
Conclusione: Per problemi ingegneristici dove l’ordine temporale è fondamentale (come il “primo istante” di attivazione di un sensore), non basta far girare l’algoritmo. È essenziale isolare la radice restringendo l’intervallo tramite lo studio della funzione, assicurandosi che al suo interno la soluzione sia unica.
💡 Dietro le Quinte degli Esercizi: Perché sono interessanti?
Il caso del Galleggiamento (Esercizio 1): La matematica delimitata dalla realtà
Questo non è un semplice esercizio sui polinomi di terzo grado, ma un classico problema di architettura navale e ingegneria civile.
La particolarità sta nel come la realtà fisica “salvi” la matematica: un’equazione di terzo grado ha da 1 a 3 radici reali, e cercare quella giusta alla cieca potrebbe essere frustrante. Invece, i limiti strutturali del problema (la sfera non può emergere per meno di 0 metri e non può affondare per più del suo diametro, 2 metri) ci regalano l’intervallo perfetto [math][0, 2][/math] per avviare il calcolo su un piatto d’argento.
Il caso del Sensore (Esercizio 2): Il pericolo della cecità algoritmica
Questo è un problema subdolo e fondamentale nel controllo dei sistemi automatizzati. Il decadimento di un oscillatore genera una curva che passa per lo zero più e più volte.
La peculiarità qui è che non stiamo cercando una radice qualsiasi, ma la prima in senso temporale. Questo esercizio dimostra che non si può mai “spegnere il cervello” e delegare tutto al computer: l’algoritmo di bisezione è cieco, e se gli avessimo dato in pasto l’intervallo [math][0, 5][/math], avrebbe potuto agganciare il secondo o il terzo passaggio del sensore, causando un disastro nella calibrazione di un sistema reale.
Lo studio della derivata prima (fisicamente, la velocità del sistema) è imprescindibile prima di premere “Enter” sul codice numerico.
Il limite della bisezione e il passaggio a Newton
Come abbiamo visto, il metodo di bisezione è un carrarmato: lento, richiede decine di passaggi, ma arriva sempre a destinazione.
Ma cosa succede se abbiamo bisogno di calcolare quella stessa profondità della sfera o il tempo del sensore in tempo reale, in soli 3 o 4 passaggi? In ingegneria il tempo di calcolo ha un costo.
Per fare il salto di qualità dobbiamo usare la derivata e passare al Metodo di Newton-Raphson.
🛑 Cecità Algoritmica: 3 Mosse per Fallire (e come evitarlo)
Affidarsi ciecamente a un algoritmo senza un’analisi preliminare è il modo più rapido per ottenere risultati fisicamente impossibili. Ecco i tre errori “da manuale” che potresti incontrare.
1. Il Paradosso del Segno (L’intervallo “muto”)
Il metodo di bisezione ha un unico, grande requisito: [math]f(a) \cdot f(b) < 0[/math].
- L’errore: Scegliere un intervallo dove la funzione tocca l’asse [math]x[/math] ma non lo attraversa (come in [math]f(x) = x^2[/math] vicino allo zero), oppure un intervallo che contiene un numero pari di radici.
- Il risultato: La bisezione non partirà nemmeno, o peggio, ti dirà che non esistono soluzioni quando invece ce ne sono due vicinissime.
- La soluzione: Fai sempre un rapido schizzo del grafico. Se i segni sono concordi, la bisezione è “cieca” rispetto a ciò che accade all’interno.
2. Il “Salto” della Radice (L’effetto tunnel)
Questo è il rischio maggiore nell’Esercizio 2 (l’oscillatore smorzato).
- L’errore: Usare un intervallo troppo ampio sperando che l’algoritmo “trovi qualcosa”.
- Il risultato: Se l’equazione descrive un fenomeno fisico temporale, a te serve la prima radice. Un intervallo troppo grande potrebbe far sì che il metodo scarti la prima metà dell’intervallo e converga su una radice successiva.
- La soluzione: Restringi il campo usando i limiti fisici. Se cerchi un tempo di reazione, non iniziare da un intervallo che copre anni di oscillazioni.
3. La Trappola della Tangente Orizzontale (Solo per Newton)
Sebbene approfondiremo Newton prossimamente, è bene conoscere il suo “tallone d’Achille”.
- L’errore: Scegliere un punto di partenza [math]x_0[/math] dove la pendenza della funzione è quasi nulla ([math]f'(x) \approx 0[/math]).
- Il risultato: La formula [math]x_{n+1} = x_n – \frac{f(x_n)}{f'(x_n)}[/math] prevede una divisione per la derivata. Se questa è vicina a zero, il valore di [math]x_{n+1}[/math] schizzerà verso l’infinito. L’algoritmo “scivola” lontano dal bersaglio.
- La soluzione: Assicurati che nell’intorno della tua scelta iniziale la funzione sia decisamente crescente o decrescente.
Promemoria: L’analisi numerica non sostituisce lo studio di funzione; lo completa. Prima la matita, poi il calcolatore!
Limiti, continuità e ricerca degli zeri
Dalla teoria dell’analisi matematica fino agli algoritmi numerici: un percorso completo per capire (e trovare) le radici delle funzioni.
-
-
Step 1: Comprendi continuità e limiti
👉Continuità, limiti e teorema degli zeri (con esercizi)
Senza continuità non esistono garanzie: qui costruisci le fondamenta teoriche.
-
-
-
Step 2: Capisci quando esistono gli zeri
👉Teorema degli zeri (Bolzano)
Non trovi le soluzioni “a caso”: questo teorema ti dice quando esistono davvero.
-
-
-
Step 3: Rafforza con teoremi sui limiti
👉Teorema di esistenza del limite (funzioni monotone)
Capisci perché i limiti esistono: passaggio chiave per analisi rigorosa e completa.
-
-
Step 4: Trova gli zeri con metodi numerici
👉Metodo di Newton-Raphson con Python
Dalla teoria alla pratica: calcola le radici quando non puoi risolvere analiticamente.
💡 Insight chiave: Bolzano ti dice che una soluzione esiste, Newton-Raphson ti permette di trovarla davvero.
(87)
Altri articoli nella categoria "Studio di funzione"
- Funzioni Suriettive: Definizione, Calcolo Combinatorio ed Esercizi Svolti
- Derivate laterali: derivata destra e sinistra, punti angolosi ed esercizi svolti
- Punti Angolosi e Non Derivabilità: Esercizi Svolti e Applicazioni Pratiche
- Studio di Funzioni Razionali Fratte: 6 Esercizi Svolti dal Dominio al Grafico
- Discontinuità di una funzione: come riconoscerle, classificarle e interpretarle con 7 problemi
- Asintoti Verticali, Orizzontali e Obliqui: Come Trovarli con Limiti ed Esercizi Svolti
- Risolvere Funzioni Ricorsive a Tratti: Il Metodo del Punto di Raccordo
- Teorema di Lagrange: 6 Esercizi Svolti (dal Facile a Esperto) con Spiegazioni
- Test di Analisi: Esercizi Svolti su Concavità, Convessità e Punti di Flesso
- Trasformazioni delle Funzioni: Guida Completa a Traslazioni, Dilatazioni, Compressioni ed Errori Tipici (con Esempi e Laboratorio Python)