Esercizi da Esame
Indice
Indice 1
1 Algoritmo, precisione finita, norme 2
1.1 Numeri di macchina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Standard IEEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Precisione di macchina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Operazioni con i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
floating
1.5 Norma 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Norma 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Norma infinito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Sistemi lineari: metodo di Gauss 5
2.1 Matrice di Vandermonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Matrice inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
−1
A
2.3 Numero di condizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Fattorizzazione LU di A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 det(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Interpolazione 8
3.1 Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Formule di quadratura 10
5 Migliore approssimazione ai minimi quadrati 11
5.1 Retta di migliore approssimazione . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 Parabola di migliore approssimazione . . . . . . . . . . . . . . . . . . . . . 11
6 Metodi iterativi per equazioni non lineari 12
6.1 Metodo di Bisezione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2 Metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3 Algoritmo basato sul metodo di Newton . . . . . . . . . . . . . . . . . . . 13
1
Calcolo numerico - Ingegneria meccanica A.S. 2022/2023
1 Algoritmo, precisione finita, norme
Un è un insieme di istruzioni non ambigue che a partire da dei dati calcola
algoritmo
una soluzione al problema in un tempo finito.
Si consideri un elaboratore operante con rappresentazione in base ed aritmetica
β floating-
Siamo le cifre a disposizione della mantissa e quelle per la caratteristica escluso
m n
point.
il segno.
1.1 Numeri di macchina
L’insieme (β, ) è l’insieme di numeri reali aventi
m, L, U
F
dei numeri di macchina
mantissa e caratteristica rappresentabili negli spazi disponibili, ovvero nu-
esattamente
meri aventi al più cifre per la mantissa in base = 2.
m β
La deve soddisfare:
b
caratteristica (β 1) (β 1)
n n
≤ ≤ − − ≤ ≤ −
L b U b
Se l’elaboratore effettua la rappresentazione di per
x
floating-point troncamento:
= 0.a = 0
b ̸
f l(x) a ... a β a
m
1 2 1
mentre per arrotondamento:
0.a se β
b
a ... a β a <
m m+1
1 2 2
0.a se β
b ≥
a ... a β a
m+1 m+1
1 2
2
1.2 Standard IEEE
e sono i valori limite che può assumere la caratteristica b:
Realmin Realmax ≤ ≤
Realmin b Realmax
Se si verifica un se si verifica un e il
b < Realmin b > Realmax
underflow, overflow
numero non viene rappresentato in macchina. Messaggi di errore in = 0 e
x
Matlab: inf.
L’espilon è il più piccolo numero positivo diverso da zero che sommato
eps
di macchina
a 1 dà un risultato diverso da 1.
eps
Algoritmo
1. = 1
eps
2. Fintanto che 1 + = 1
̸
eps
3. =
eps eps/β
4. = ∗
eps eps β
standard di precisione bit segno
m n Realmin Realmax eps
semplice 23 8 1 1.17 10 3.40 10 1.19 10
−38 −7
38
doppia 52 11 1 2.22 10 1.79 10 2.22 10
−308 −16
308
2
Calcolo numerico - Ingegneria meccanica A.S. 2022/2023
1.3 Precisione di macchina
La è la limitazione superiore all’errore relativo commesso nel
precisione di macchina
rappresentare in macchina un numero reale = 0.
̸
x
||x − f l(x)|| < ε
m
||x||
se opera per troncamento
1−m
β
se opera per arrotondamento
1 1−m
β
2
Algoritmo
Riprendo l’algoritmo di e aggiungo una riga:
eps
5. Se si opera per troncamento = altrimenti = eps
ε eps, ε
m m 2
Traduione Matlab
1. function[eps] = epsilon(beta)
2. eps = 1;
3. while eps + 1 ~= 1
4. eps = eps/beta;
5. end
6. eps = eps*beta;
7. end floating
1.4 Operazioni con i
= ø 6
3
⊖
s f l(x) f l(x)
Eseguo le operazioni separatamente: = = 0.272727... = 0.273 10
3 0
x 11
= 0.273 10 0.273 10 0.273 10 = 0.745 10 0.273 10 = 0.203 10
−1 −1
3 0 0 0 0
⊗ ⊗ &oti