Analisi Numerica
e Integrazione Numerica
IIS «B. CASTELLI» - BRESCIA
B È G A B R I E L E – H A R PA L S I N G H
Analisi numerica
L'analisi numerica (detta anche calcolo
numerico o calcolo scientifico) è una branca
della matematica applicata che risolve i modelli
prodotti dall'analisi matematica, riducendoli alle
scomposizioni finite normalmente praticabili
tramite l’utilizzo di calcolatori, coinvolgendo il
concetto di approssimazione. I suoi strumenti
sono detti algoritmi.
Modello matematico
PER ESEGUIRE LO STUDIO DI UN FENOMENO NATURALE, SI PROCEDE
GENERALMENTE SECONDO I SEGUENTI PUNTI:
•Una prima fase di modellizzazione del
fenomeno in esame, tramite la quale si associa
al problema reale un modello matematico che
ne approssimi l’evoluzione;
•Analisi qualitativa del modello matematico;
•Individuazione di metodi e algoritmi di
risoluzione del modello in esame ed analisi
dell’efficienza degli stessi;
•Implementazione dei metodi di risoluzione
precedentemente trovati.
Campi di studio
dell’analisi numerica
•Analisi dell’errore;
•Determinazione degli zeri di una funzione
polinomiale;
•Risoluzione di funzioni non lineari;
•Approssimazione di funzioni non lineari con
funzioni lineari;
•Metodi di risoluzione di sistemi lineari;
•Interpolazione ed estrapolazione di funzioni;
•Calcolo numerico di derivate di funzioni
assegnate;
•Integrazione numerica.
Analisi dell’errore
Gli errori che si producono durante la risoluzione sono
principalmente dovuti al fatto che il calcolatore opera su dati
numerici rappresentati per mezzo di una sequenza finita di
cifre, data dalla particolare rappresentazione di dati in
memoria adottata: è detto errore di rappresentazione, e si
presenta quando si inseriscono i dati, quindi ancora prima di
eseguire qualunque operazione.
Determinazione degli zeri
di una funzione
I metodi dell’analisi numerica permettono di
determinare la risoluzione di una funzione,
quindi la determinazione degli zeri della stessa,
in un numero di iterazioni dell’algoritmo tali da
ottenere l’approssimazione richiesta dal
problema in esame: infatti, tutti i metodi
utilizzati, devono convergere alla soluzione
esatta quando il numero di iterazioni tendere ad
infinito: in tali situazioni, l’algoritmo di dice
convergente.
Approssimazione di funzioni
Un problema che frequentemente si
presenta in matematica applicata è
quello dell'approssimazione di funzioni,
che consiste nel determinare una
funzione g(x), appartenente ad una
classe prescelta di funzioni, che meglio
approssima una funzione data f(x).
Interpolazione ed estrapolazione
di funzioni
I metodi di interpolazione stimano il
valore di una funzione incognita dato il
valore della funzione stessa in alcuni
punti.
L'estrapolazione, a differenza
dall'interpolazione, stima la funzione in
punti esterni ai punti per cui la funzione è
nota.
Calcolo numerico
di derivate
Il calcolo della derivata puntuale di una
funzione può essere approssimato dal
suo rapporto incrementale, scegliendo
un opportuno valore del passo di
incremento, tale da avere un errore
minore di quello voluto e avere un
tempo di risoluzione, quindi un numero
di calcoli, adeguato al problema in
esame.
Integrazione numerica
L’integrazione numerica si applica solo
ad integrali definiti e permette sempre
di giungere ad una soluzione, seppur
approssimata, del problema; tali
risoluzioni si prestano bene ad essere
rappresentate come algoritmi, e quindi
ad essere eseguite mediante calcolatori.
Metodi dell’integrazione numerica
oMetodo dei rettangoli;
oMetodo dei trapezi o di Bézout;
oMetodo delle parabole o di Cavalieri – Simpson;
Se la dimensione del dominio di integrazione diventa elevata, questi metodi
diventano proibitivamente costosi in termini di calcolo computazione, quindi di
tempi di esecuzione dell’algoritmo al calcolatore. In questa situazione si può usare
un metodo Monte Carlo.
Metodi dell’integrazione numerica
Per tutti i metodi di integrazione descritti nel seguito si considerano valide le seguenti ipotesi:
Funzione f(x) continua nell’intervallo di integrazione [a; b];
f(x) positivo in [a; b], anche se valgono le stesse condizioni nel caso la funzione fosse negativa.
Si procede dividendo l’intervallo di integrazione [a; b] in n parti di uguale ampiezza, data da:
𝑏−π‘Ž
β„Ž=
𝑛
Dove b-a è l’ampiezza dell’intervallo h e n il numero di divisioni dello stesso.
Si determinano quindi n+1 punti di ascisse di coordinate:
π‘₯0 = π‘Ž, π‘₯1 = π‘Ž + β„Ž, π‘₯2 = π‘Ž + 2β„Ž, … π‘₯𝑛 = π‘Ž + 𝑛 β„Ž
Metodo dei rettangoli
Alle ascisse precedentemente calcolate, si fanno corrispondere i
seguenti valori della funzione:
𝑦0 = 𝑓(π‘Ž), 𝑦1 = 𝑓(π‘₯1 ), 𝑦2 = 𝑓(π‘₯2 ), … 𝑦𝑛−1 = 𝑓 π‘₯𝑛−1 , 𝑦𝑛 =
𝑓(𝑏)
𝑆𝑛′
𝑏−π‘Ž
𝑏−π‘Ž
=
𝑓 π‘Ž + 𝑦1 + 𝑦2 + β‹― + 𝑦𝑛−1 =
𝑛
𝑛
𝑆𝑛′ =
𝑏−π‘Ž
𝑦1 + 𝑦2 + β‹― + 𝑦𝑛−1 + 𝑓 𝑏
𝑛
=
𝑏−π‘Ž
𝑛
𝑛−1
𝑓 π‘₯𝑖
𝑖=0
𝑛
𝑓 π‘₯𝑖
𝑖=1
Si può dimostrare che, se la funzione ammette derivata prima continua, l’errore connesso alla determinazione
dell’integrale è minore od uguale alla quantità: πœ€π‘› =
𝑏−π‘Ž 2
2𝑛
𝑀 Dove M è pari a: 𝑀 = max 𝑓 ′ π‘₯ .
π‘Ž≤π‘₯≤𝑏
Metodo dei trapezi
o di Bézout
𝑏
π‘Ž
𝑓 π‘Ž + 𝑦1
𝑦1 + 𝑦2
𝑦𝑛−1 + 𝑓 𝑏
𝑓(π‘₯) 𝑑π‘₯ ≅ β„Ž
+β„Ž
+ β‹―+ β„Ž
2
2
2
=
𝑏 − π‘Ž 𝑓 π‘Ž − 𝑓(𝑏)
=
+ 𝑦1 + 𝑦2 + β‹― + 𝑦𝑛−1
𝑛
2
Se la funzione ammette derivata seconda continua, si dimostra
che l’errore connesso al metodo numerico in esame, è minore od
𝑏−π‘Ž 3
uguale alla quantità: πœ€π‘› =
𝑀
12𝑛2
Dove M è pari a: 𝑀 = max 𝑓 ′′ π‘₯
π‘Ž≤π‘₯≤𝑏
Metodo delle parabole
o di Cavalieri – Simpson
Si può dimostrare (teorema) che, l’area S di un trapezoide
avente come base l’intervallo π‘₯0 ; π‘₯2 e delimitato dal
grafico di una parabola passante per i punti
π‘₯0 ; 𝑦0 , π‘₯1 ; 𝑦1 , π‘₯2 ; 𝑦2 dove
π‘₯0 + π‘₯2
π‘₯1 =
2
È il punto medio dell’intervallo, è data dalla seguente
formula:
β„Ž
𝑆=
𝑦 + 4𝑦1 + 𝑦2
3 0
Dove
β„Ž = π‘₯1 − π‘₯0 = π‘₯2 − π‘₯1
Metodo delle parabole
β„Ž
β„Ž
[𝑓(π‘Ž) + 4𝑦1 + 𝑦2 ],
𝑦2 + 4𝑦3 + 𝑦4 , … ,
3
3
β„Ž
[𝑦
+ 4𝑦2𝑛−1 + 𝑓(𝑏)]
3 2𝑛−2
La somma delle precedenti aree permette di ottenere la forma generale di Cavalieri – Simpson:
𝑏
π‘Ž
β„Ž
𝑓(π‘₯) 𝑑π‘₯ ≅
𝑓 π‘Ž + 𝑓 𝑏 + 2 𝑦2 + 𝑦4 + β‹― + 𝑦2𝑛−2 + 4 (𝑦1 + 𝑦3 + β‹― + 𝑦2𝑛−1 )
3
Se la funzione ammette derivata quarta continua, si dimostra che l’errore connesso è minore od
uguale alla quantità data da πœ€π‘› =
𝑏−π‘Ž 5
2880𝑛4
𝑀, dove M rappresenta il massimo del valore assoluto della
derivata quarta della funzione nell’intervallo [a; b]; In simboli si ha: 𝑀 = max 𝑓 𝐼𝑉 π‘₯
π‘Ž≤π‘₯≤𝑏
Applicazioni calcolo numerico
Un esempio su tutti, considerato come il
classico
successo
dell’analisi
matematica, consiste nell’algoritmo FFT
(trasformata veloce di Fourier) utilizzato
in moltissimi ambiti della tecnica, quali,
soltanto per citarne alcuni, la risonanza
magnetica, il riconoscimento di
immagini di tomografia assiale e la
compressione di immagini, musica e
video, nei più comuni conosciuti dagli
utenti.
APPLICATIONS
Software numerico
THERE ARE THREE TYPE OF
SOFTWARE SUPPORT:
Libraries for programmers(Netlib, IMSL, NAG,
GNU Scientific Library, BLAS, LAPACK, FFTw);
Interactive enviroments used to evaluate
mathematical problems and computational
science (Mathematica, MATLAB, Maple, Scilab,
GNU Octave, IDL). They are known as Problem
Solving Enviroments (PSE);
Software programs made to evaluate problems
relted to a specific field, e.g. engineering
(software CAE).
Calculating the numerical integration in
Matlab with built in functions
Trapezoidal method
There are two functions in matlab that
evaluate the integration with trapezoidal
methods:
•trapz(y): it accepts one parameters. Y is
the functions value vector. It returns the
trapezoidal method with unit spacing
which means each value of the vectors are
separated by one unit.
•trapz(x, y): it accepts two parameters. X is
the the domain vector, and Y is the
functions value vector.
Code example
x = 0:pi/100:py;
y = sin(x);
Q = trapz(x,y);
------------------------------------------------------------Q = 1,9998
The example shown above evaluate the area under
the sin wave from 0 to pi. It is the same as:
πœ‹
sin
0
π‘₯ 𝑑(π‘₯)
As you can see the answer is near the real value of
2.
The Monte Carlo methods
Monte Carlo methods are a computational algorithms which uses repeated
random sampling to obtain numerical results. The main idea behind this method
is to run simulations repeatedly in order to obtain the distribution of an
impossible probalistic entity.
Monte Carlo methods are used mainly for three type of problems:
Optimization;
Numerical integration;
Probability distribution.
Calculating the Pi
This is very simple application to determine
how to calculate the Pi with Monte Carlos
method.
We no that the value of PI is 3,14159……so on.
So suppose that we have a circle of radius = 1
and thus the area of the circle would be πœ‹π‘Ÿ 2 .
Now imagine that this circle is inscribed inside
a square, whose would be 4π‘Ÿ 2 .
The ratio of the areas would be πœ‹/4. This
means that if you pick a random points inside
the square chances are that πœ‹/4 of time the
point will be inside the circle.
Calculating the Pi
So in order to calculate the value of pi, the
program randomly throws points inside the
square and additionally it checks whether the
point was or not inside the circle if so it
increments a variable.
After repeating this N times, the program
evaluate the ratio between points fallen inside
the circle(M) and outside the circle(N).
And finally approximates the pi as follow:
4∗𝑀
πœ‹π‘’π‘ π‘‘π‘–π‘šπ‘Žπ‘‘π‘’π‘‘ =
𝑁
Matlab code
%The monte carlo method to find out the value of pi with the error analysis
for n = 1:10:10000
x = rand(n, 1);
% sample the input random variable x
y = rand(n, 1);
% sample the input random variable y
isInside = (x.^2 + y.^2 < 1);
% is the point inside a unit circle?
percentage = sum(isInside) / n; % Compute the percentage of points inside the circle
piEstimate = percentage * 4
err = (piEstimate./pi)*100;
plot(n,err,'.')
% Estimate a value of the Pi
% Evaluate the error to demonstrate the accuracy
% plot the error on a graph
title('Accuracy as N increases');
hold all
end
% hold the marker on the graph
Simulation
Numeric integration
with Monte Carlo methods
In the same way as done before, integration in
a restricted domain can be calculated for a
given function.
As you can see in the figure there is a function
whose definite integration may can’t be found
with symbolic methods. So you need to draw a
rectangle whose base is as wide as the domain
in which you need to evaluate the integral and
at least as high as the maximum value of the
function inside the domain.
Then random point are thrown and the area is
calculated by calculating the ratio between
points inside and outside the function.
Applications
of Monte Carlo methods
•Physical sciences: computational physics and physical chemistry;
•Engineering: microelectronics engineering, Fluid Dynamics and reliability engineering;
•Computational biology
•Computer graphics: Path Tracing;
•Applied statistics: Cauchy distribution and randomization test.
•Artificial intelligence for games:
•Design and visuals: video games, architecture, design, computer generated films, and cinematic
special effects.
•Finance and business: evaluate investments in projects.
FINE