eXTReMe Tracker
Tweet

Calcoli numerici e grafici.

I metodi numerici o grafici di calcolo hanno per scopo la messa a punto di tecniche che consentano la risoluzione di problemi analiticamente assai complessi (e quindi non risolubili in forma esatta) oppure una risoluzione molto più agevole di quella esatta o una risoluzione più adatta per i calcoli ad esempio con le macchine elettroniche. La ragione della loro esistenza - e la giustificazione del grandissimo lavoro compiuto in questo campo da illustri matematici dall'antichità fino ai nostri giorni - deriva immediatamente dal fatto che la matematica - scienza teorica per eccellenza - è un insostituibile strumento pratico di lavoro in tutti i campi, dalla fisica all'ingegneria alla medicina, ecc. In tutti i problemi pratici che possono essere tradotti in forma matematica, cioè sotto forma di una o più equazioni di vario tipo, non interessa però il valore esatto delle incognite bensì un valore approssimato più o meno vicino al valore reale secondo i casi. Così il rapporto fra la lunghezza di una circonferenza ed il suo diametro è espresso per i matematici dalla quantità π, che però in pratica si traduce nel valore 3,14 ovvero 3,141 ovvero 3,141592654... e così via secondo le diverse esigenze del problema, cioè secondo la precisione richiesta dal particolare calcolo in questione. Nasce però l'esigenza di sapere di quanto si sbaglia nell'usare un certo valore che approssima solo in una certa misura quello reale. Detto a il valore reale ed a* quello approssimato, l'errore E è dato dalla formula:

CALCOLAT01.png


Si definisce anche un errore relativo Er secondo la formula:

CALCOLAT02.png


La teoria degli errori permette poi di stabilire quanto i singoli errori influenzino il risultato finale delle calcolazioni. Viceversa, nota la precisione con la quale si vuole avere un certo risultato (cioè l'errore massimo ammesso su di esso) la teoria degli errori insegna fino a che punto devono essere approssimate le singole calcolazioni. Quasi tutti i matematici più illustri portarono il loro contributo - in varia misura - al c.n. e g.: da Eulero a G. Galilei a Gauss, a Cauchy a Borel. Nei nostri giorni poi il lavoro fatto in questo campo è forse maggiore di quello fatto negli altri campi della matematica in quanto i nuovi strumenti di calcolo e in particolare i calcolatori (elettronici) numerici (V.) sono in grado di svolgere i calcoli solo basandosi su metodi numerici. Di conseguenza anche certe operazioni relativamente semplici (come il calcolo di una radice quadrata) devono essere risolte con metodi numerici. Così la radice quadrata di 4 calcolata con un calcolo non sarà 2 bensì 1,9999999... approssimata quasi fin che si vuole, ma non mai esatta. In questo caso si parla di un errore di troncatura; il calcolo della radice è infatti effettuato per serie, tenendo conto di un numero di termini più o meno grande secondo la precisione voluta, ma non mai degli infiniti termini della serie (altrimenti il calcolo non terminerebbe più). Nel caso sopra citato del valore π approssimato con 3,14 si commette un errore di arrotondamento in quanto rappresentiamo con due cifre decimali un numero trascendente, che ne richiederebbe infinite. Lo stesso tipo di errore si commette quando si scrive ad esempio 10:3 = 3,33 oppure 29/4 = 7,2 (anziché 7,25). Gli errori ereditati sono quelli presentati ad un certo stadio delle calcolazioni ma dovuti ad approssimazioni fatte in precedenza. Evidentemente nel c.n. e g. si presume che non esistano errori materiali, dovuti ad uno sbaglio della persona o macchina che esegue i calcoli, in quanto questi - almeno in linea di principio - sono evitabili. Naturalmente questo richiede uno svolgimento attento dei calcoli ed un frequente controllo degli stessi (ad esempio sui risultati intermedi). Esistono dei sistemi di numerazione diversi dal decimale (usati in certi calcolatori elettronici numerici) che permettono un rapido e continuo controllo dell'esattezza (formale) dei risultati e che evitano quindi che i risultati stessi possano essere inquinati da errori di questo genere. Per dare l'idea di come si usino dei metodi numerici, si immagini di voler calcolare la radice quadrata di un numero, ad esempio 20, con l'uso di una comune calcolatrice (V.) in grado di fare solo le quattro operazioni elementari. Si comincia con il dire che il valore cercato è compreso fra 4 e 5 dato che 42 = 16 (minore di 20) e 52 = 25 (maggiore di 20). Il nostro valore sarà quindi 4,.... Si può ora cominciare ad esaminare 4,12 4,22, ecc. fino a trovare un valore maggiore di 20. In questo caso si trova 4,42 = 19,36 mentre 4,52 = 20,25; il numero cercato è quindi 4,4..... Così proseguendo si vede ancora che 20 è compreso fra 4,472 e 4,482; pertanto la radice cercata sarà, 4,47..... Si può proseguire in questo modo per successive approssimazioni finché si vuole (salvo che aumenta la complessità dei calcoli) fino ad ottenere il numero di decimali voluto; l'errore che si commette dipende appunto da tale numero di decimali, ed è un errore di troncatura. Naturalmente esistono dei metodi che permettono di ridurre il numero dei tentativi, ma le cose concettualmente non cambiano. Esistono dei calcolatori elettronici che calcolano le radici proprio in questo modo. Esaminiamo ora un altro caso semplice, ma che si presenta molte volte in pratica: la ricerca delle radici (o zeri) di un polinomio in una variabile cioè la ricerca dei valori della variabile x per cui il polinomio f(x) assume valore zero. La cosa è abbastanza semplice se il polinomio è di grado non superiore al terzo; in caso contrario i calcoli sono complessi e non sempre possibili. Si può allora procedere convenientemente per via grafica. Si riporta in un piano (ad esempio su un foglio di carta millimetrata) la funzione y = f(x) come è abitudine nella geometria analitica. Si può procedere ad esempio per punti. Si trovano così un certo numero di punti in cui la funzione attraversa l'asse delle ascisse; si leggono sul foglio i valori x'1, x'2 .... di prima approssimazione degli zeri del polinomio. Si costruiscono poi degli altri grafici, espandendo la scala delle x, cioè riportando solo un intorno di x'1, x'2.... ecc. Si ricavano così dei valori x''1, x''2, ... di seconda approssimazione delle radici. Si può procedere in questo modo fino alla precisione necessaria per il problema in esame. Si può anche procedere in un modo simile a quello fatto per la radice. Si individuano dal primo grafico approssimato due valori contigui ed abbastanza vicini ad uno zero: siano ad esempio 4,5 e 4,6 prossimi alla radice x1. Dalla continuità della funzione si sa che per uno di questi valori essa ha un valore positivo mentre per l'altro lo ha negativo (come si vede dal grafico). Si calcola allora la funzione dando alla x successivamente i valori 4,51, 4,52, ecc. fino a trovare due valori contigui (ad esempio 4,58 e 4,59) tali che la funzione è positiva per uno di essi e negativa per l'altro. A questo punto si sa che x1 è compreso fra 4,58 e 4,59, cioè vale 4,58..... Si procede poi considerando i valori 4,581, 4,582, ecc. col solito metodo. Esistono però anche dei metodi più veloci, uno dei quali è il metodo di Newton. Da un grafico approssimato si ricava il valore x' di prima approssimazione della radice x1. Il valore di seconda approssimazione x" si calcola con la seguente formula:

CALCOLAT03.png


dove f(x') e f'(x') sono i valori della funzione e della sua derivata prima calcolati per x = x'. Il valore di terza approssimazione si ricava dalla:

CALCOLAT04.png


e così via per le approssimazioni successive. Questo metodo è applicabile a tutte le funzioni derivabili. Un altro metodo da usare nello stesso caso e che dà pure dei buoni risultati è quello delle iterazioni successive, adottabile allorché il polinomio f(x) può essere scritto nella forma x = g(x). Sia x' una prima grossolana approssimazione della radice x1, calcolata dal grafico detto o posta "ad occhio". Il valore di seconda approssimazione x" è dato da:

CALCOLAT05.png


quello di terza approssimazione è dato da:

CALCOLAT06.png


e così via. Si può vedere che le successive approssimazioni si avvicinano sempre di più al vero valore di x1. Generalmente si interrompono le approssimazioni dopo m tentativi, allorché la differenza fra il risultato dell'm- esima e quello dell'(m - 1)-esima non è più significativo per il problema in esame. Un altro metodo è quello della posizione falsa o regula falsi, che approssima la funzione nell'intorno dello zero con una corda. Se a e b sono due valori di x che giacciono da parti opposte rispetto alla radice x1 (e abbastanza vicini ad essa), scelti ad esempio con un grafico grossolano, il valore di prima approssimazione della radice è dato dalla formula:

CALCOLAT07.png


Si calcola poi una seconda approssimazione, assumendo il valore x' al posto di a o b secondo che la radice sia nell'intervallo (x', b) o (a, x'). Ad esempio il polinomio

CALCOLAT08.png


ammette una radice vicino ad x = 1, e precisamente nell'intervallo (0,5; 1). Con la formula vista, posto a = 0,5 e b = 1 si ha f(1) = 1 e f(0,5) = -0,375 onde:

CALCOLAT09.png


In questo caso f(0,64) = -0,0979 (negativo) e quindi nel prossimo tentativo i due valori che si assumeranno come estremi dell'intervallo nel quale si trova la radice saranno a' = 0,64 e b = 1. Questo metodo richiede rispetto ai precedenti dei calcoli più pesanti, ma la convergenza (cioè l'avvicinarsi del valore approssimato a quello reale) è più rapida. Naturalmente esistono dei metodi più complessi o adatti alla risoluzione di equazioni, sui quali non insistiamo. Occorre però ricordare che non è possibile dare delle regole generali su quando si deve applicare un metodo e quando un altro per ottenere la migliore approssimazione con la minor mole di calcoli: solo l'esperienza può indicare a priori ad un esperto in c.n. e g. quale è la via più conveniente per il singolo caso. ║ Integrazione approssimata: è uno dei capitoli base del c.n. e g. Sovente nella tecnica (soprattutto nell'ingegneria e nella fisica) capita di dover valutare degli integrali del tipo:

CALCOLAT10.png


la cui risoluzione è molto difficile (o addirittura ignota) e che non si trovano quindi sulle comuni tavole di integrali risolti. In tal caso si dovrebbe risolverli o in campo complesso o con le serie di potenze o con l'espansione asintotica o con altri metodi poco accessibili. D'altronde spesso è richiesta solo una valutazione approssimata (con errore dello 0,1 per cento o addirittura dell'1%) e quindi non è giustificata una tale mole di calcolo. Si ricorre in questo caso ad uno dei metodi che descriveremo. Il più semplice di questi consiste nel disegnare la funzione in scala opportuna su un foglio di carta millimetrata e di contare i quadretti compresi fra la curva che rappresenta la funzione, l'asse delle ascisse e le verticali a quest'asse passanti per i limiti d'integrazione (i metodi numerici e grafici valgono in generale solo per integrali definiti). Il numero di quadretti vale circa il valore dell'integrale, nella scala prodotto della scala usata per le ascisse per quella usata per le ordinate. Risultati molto più accurati si ottengono con un apposito strumento, il planimetro o integrafo, costruito appunto per misurare l'area delle figure piane. Un metodo grafico molto in uso (nella statica grafica, nella scienza delle costruzioni e in costruzioni di macchine) consiste nel suddividere il campo di integrazione in tanti intervalli; l'area di ognuno dei trapezoidi delimitati dagli estremi degli intervalli, l'asse delle ascisse e la funzione è approssimata con un rettangolo di altezza opportuna (scelta ad occhio). La costruzione è interamente grafica e richiede l'uso della sola riga. Consideriamo ora alcuni semplici metodi di integrazione numerica. Si voglia eseguire il generico integrale

CALCOLAT11.png


fra gli estremi dell'intervallo (a, b). Un primo metodo consiste nel suddividere l'intervallo b - a in n parti uguali di lunghezza Δ x = (b - a)/n. Siano x1, x2, x3,..... xn i punti medi degli n intervalli. Si può allora scrivere che:

CALCOLAT12.png


L'approssimazione è tanto migliore quanto più grande è n; questo metodo si chiama regola dei rettangoli in quanto si sostituiscono agli n trapezoidi in cui è stata suddivisa l'area da integrare altrettanti rettangoli. Con un altro metodo - detto regola dei trapezi - si opera la stessa suddivisione, ma si sostituiscono ai trapezoidi altrettanti trapezi. In tal caso l'espressione analitica è però diversa. Diremo in questo caso x1, x2,..... xn-1, b codeste suddivisioni; gli intervalli saranno ancora n e la loro lunghezza sarà ancora Δ x. Varrà allora l'uguaglianza approssimata:

CALCOLAT13.png


Questo metodo è un poco più laborioso del precedente, ma dà un'approssimazione migliore. Un'approssimazione ancora migliore si ottiene applicando la regola di Simpson. L'intervallo d'integrazione viene suddiviso in un numero qualsiasi di sottointervalli; sia ad esempio 2n questo numero (che deve essere pari). La loro lunghezza sarà evidentemente Δ x = (b - a)/2n. Gli intervalli saranno delimitati dai punti x0 (≡a), x1, x2,..... x2n (≡b). Su ognuno dei sottointervalli la funzione è approssimata con un arco di parabola passante per i due punti di intersezione della curva con le verticali per gli estremi dell'intervallo. In questo caso ai 2n trapezoidi qualsiasi se ne sostituiscono altrettanti aventi il lato curvo parabolico. Analiticamente il calcolo viene svolto con la seguente formula:

CALCOLAT14.png


Scrivendo la stessa formula nella forma:

CALCOLAT15.png


dove Es è l'errore dell'approssimazione, si può mostrare che Es soddisfa alla seguente disuguaglianza:

CALCOLAT16.png


essendo M4 ed M'4 rispettivamente il minimo ed il massimo valore della derivata quarta di f(x) sull'intervallo (a, b). D'altra parte il parametro C vale:

CALCOLAT17.png


Si può quindi vedere che la regola di Simpson dà dei risultati esatti per polinomi fino al terzo grado; per quelli di grado superiore l'approssimazione è molto buona. Senza dubbio è uno dei metodi più convenienti. Qualora si volesse una migliore approssimazione si può ricorrere alla regola di Weddle che approssima ognuno dei tratti di funzione nei sottointervalli con un polinomio di sesto grado. In questo caso si suddivide l'intervallo in n/6 parti uguali (essendo n un numero intero multiplo di 6) lunghe 6h, con h = circa (b -a)/n. Con le solite notazioni per i punti di divisione si ha l'espressione analitica:

CALCOLAT18.png


Si noti che i coefficienti delle f(xj) si succedono nell'ordine 1, 5, 1, 6, 1, 5, 2, 5, 1, 6, 1, 5, 2, 5,..... Tralasciamo le formule per integrali doppi o tripli, data la loro complessità; si trovano comunque sui testi specializzati. ║ Derivazione approssimata: oltre ad essere più complessa dell'integrazione approssimata, questa operazione è generalmente causa di errori molto maggiori, onde, in linea di massima, va evitata il più possibile. D'altronde il calcolo della funzione derivata di una funzione data non offre che assai di rado delle difficoltà insormontabili. Si ricorre abbastanza spesso nella tecnica alla derivazione grafica di una certa funzione allorché se ne ha la rappresentazione geometrica ma non se ne conosce l'espressione analitica. Questa operazione si compie con una serie di operazioni che sono esattamente l'inverso del processo usato per l'integrazione grafica di cui si è detto sopra: ciò rispecchia il fatto che integrazione e derivazione sono operazioni inverse. ║ Integrazione approssimata di equazioni differenziali. La risoluzione esatta di un'equazione differenziale non è sempre possibile o agevole anche per quelle di primo ordine (non lineari). I metodi numerici e grafici sono quindi largamente impiegati. Vediamo qui di seguito alcuni metodi per l'equazione del primo ordine. ║ Metodo iterativo di Picard: sia assegnata l'equazione differenziale

CALCOLAT19.png

con la condizione iniziale y(x0) = y0. La sua integrazione porterebbe alla formula:

CALCOLAT20.png

(avendo indicato con t la variabile di integrazione) come è facile verificare. L'integrale di prima approssimazione y1(x) si calcola sostituendo alla y la prima rozza approssimazione:

CALCOLAT21.png


Si calcola quindi:

CALCOLAT22.png


Nello stesso modo si calcola la seconda approssimazione y2(x) assumendo y = y1(x), e cioè:

CALCOLAT23.png


All'ennesimo stadio d'interazione si avrà:

CALCOLAT24.png

Si ottiene quindi una successione di integrali:

CALCOLAT25.png
CALCOLAT26.png
CALCOLAT27.png
CALCOLAT28.png


che approssimano sempre di più l'integrale esatto. Questo metodo è approssimato ma non è un vero e proprio metodo numerico, nel senso che non è ad esempio adottabile sulle macchine da calcolo. Lo sono invece i metodi che seguono. Essi partono tutti dal valore y = y0 (condizione iniziale) e procedono passo passo, approssimando la curva vera con archi di retta e di curva opportuna (più semplice di quella cercata). Nel metodo di Eulero-Cauchy il campo d'integrazione viene suddiviso in tratti di lunghezza h opportunamente piccola (ad esempio: 1 o 0,1 o 0,02, ecc. secondo la precisione voluta) mediante i punti x1, x2, xn... con x1 = x0 + h; x2 = x0 + 2 h; ecc. Sviluppando in serie di Taylor si ha che:

CALCOLAT29.png


Ma, come è noto, y'(x) = f(x, y); y"(x) = f'(x, y); ecc. La serie di Taylor diventa quindi:

CALCOLAT30.png


Allorché il valore di h è sufficientemente piccolo, si possono trascurare in termini in h², h3, ecc. onde possiamo scrivere:

CALCOLAT31.png


Si può allora procedere per via grafica facendo uscire dal punto (x0, y0) una retta con pendenza data dalla f1(x0, y0) fino ad intersecare la verticale passante per x1 nel punto (x1y1) essendo y1 = y(x) per x = x1. Da questo punto si farà uscire una seconda retta avente inclinazione pari alla f(x, y), cioè alla y'(x) in quel punto e così via. Ciò equivale a muoversi sulla tangente anziché sulla curva, ma gli errori si sommano ad ogni passo. Analiticamente, usando i simboli noti, si può scrivere:

CALCOLAT32.png


indi

CALCOLAT33.png


e genericamente:

CALCOLAT34.png


Data la derivazione di questo metodo dallo sviluppo in serie visto, l'errore (di troncatura) che si commette è nell'ordine di h2 Per rendersi conto dell'entità dell'errore commesso si può ripetere il calcolo usando una suddivisione di h/2 in h/2 e confrontare i risultati. Un metodo usato molto di frequente è detto metodo di Eulero migliorato e consiste nel seguire la tangente alla curva nel punto iniziale di un intervallo per uno spazio h/2; per il rimanente h/2, si segue invece all'incirca la tangente alla curva nel punto finale dell'intervallino. Analiticamente si deve calcolare volta per volta la quantità ausiliaria:

CALCOLAT35.png


dopo di che si calcola il nuovo valore volta per volta con la formula:

CALCOLAT36.png


L'errore in questo caso è dell'ordine di h3; si tratta quindi di un metodo - come si sul dire - del secondo ordine. Un altro metodo ancora migliore e di uso vastissimo è quello di Runge-Kutta che è una versione più sofisticata dei precedenti. Si opera la solita suddivisione, indi si calcolano le quantità ausiliarie:

CALCOLAT37.png

CALCOLAT38.png

CALCOLAT39.png

CALCOLAT40.png


Il nuovo valore viene calcolato con la seguente formula:

CALCOLAT41.png


Si può dimostrare che l'errore in questo caso è dell'ordine di h5, onde si tratta di un metodo del quart'ordine. Si può anche vedere che se f(x, y) è una funzione della sola x ci si riduce alla semplice regola di Simpson per l'integrazione. Naturalmente si hanno anche metodi per la risoluzione di equazioni differenziali e di sistemi di equazioni come anche per la risoluzione di equazioni integrali e differenziali alle derivate parziali, ma la loro complessità non ne permette neanche un breve cenno in questa sede. Si rimanda quindi ai testi specializzati. Nella presente trattazione si è poi volutamente trascurata una parte grandissima del c.n. e g. quali tutte le costruzioni geometriche e i metodi di interpolazione ed estrapolazione. Ciò non è evidentemente dovuto ad una minore importanza di questi calcoli, ma al fatto che il c.n. e g. costituisce un ramo della matematica (e della geometria) estremamente vasto che - seppure per molti secoli considerato poco importante - si rivela col progresso della tecnica uno strumento formidabile quanto la stessa analisi matematica.