Sei sulla pagina 1di 2

ESERCITAZIONE 2

1. Denotiamo con F l’insieme di tutti i numeri floating point di macchina.


Ricordando che la precisione di macchina eps = 2−t (in base N = 2)
può venire definita nel seguente modo:

eps = min{ε ∈ F : ε > 0, 1 ⊕ ε > 1}

determinare il valore di eps mediante l’algoritmo:

meps = 1
while(1 + meps > 1)
meps = meps/2
end
meps = 2 ∗ meps

e verificare la correttezza del risultato (meps=eps).

2. Calcolare il più piccolo e il più grande numero floating point della forma
xmin = 2−p e xmax = 2r , rispettivamente. Stampare p ed r.

3. Utilizzando le definizioni calcolare le norme || · ||∞ , || · ||1 , || · ||2 dei


seguenti vettori:

x = rand(n, 1), n = 5, 10, 15

e delle seguenti matrici

A = rand(n), n = 5, 10, 15

e verificare la correttezza dei risultati con le function MATLAB (help


sum, abs, max, norm).

4. Tabulare il polinomio (1−x)6 utilizzando le due espressioni y1 = (1−x)6


e y2 = 1 − 6x + 15x2 − 20x3 + 15x4 − 6x5 + x6 nell’intervallo [1 − δ, 1 + δ],
δ
δ = 0.1, 0.001, 0.005, 0.0025, con passo h = 100 . Rappresentare i grafici
(help plot) di y1 e y2 e notare l’effetto della cancellazione numerica
presente in y2 .

1
5. Implementare la formula risolutiva dell’equazione di II grado, elimi-
nando l’eventuale fenomeno della cancellazione numerica.

6. Implementare in due script files denominati rispettivamente forward.m


e backward.m il metodo di risoluzione di un sistema lineare associato
ad una matrice triangolare superiore e inferiore, rispettivamente.

7. Implementare il metodo di eliminazione di Gauss e risolvere il sistema


lineare di ordine n = 18, la cui matrice dei coefficienti ha per elementi
ai,j = cos((j − 1)θi ), θi = 2i−1
2n
π e il cui vettore termine noto b è scelto
in modo che la soluzione coincida col vettore unitario. Risolvere lo
stesso sistema adottando la strategia del pivoting parziale (x = A\b) e
commentare i risultati.

8. Implementare il metodo di eliminazione di Gauss per sistemi lineari


con matrici tridiagonali simmetriche a diagonale dominante (o definite
positive). Costruire l’algoritmo utilizzando solo vettori e non matrici.

9. Determinati i fattori P, L, U della fattorizzazione P A = LU utilizzando


la function MATLAB LU ([L, U, P ] = lu(A)) risolvere il sistema lineare
Ax = b con A = rand(10) e b scelto in modo che la soluzione del sistema
coincida col vettore unitario.

10. Usando i programmi allegati che implementano i metodi iterativi di


Jacobi e Gauss Seidel risolvere i sistemi Ax = b con

(a) A = [3, 0, 4; 7, 4, 2; −1, −1, −2] b = [7, 13, −4]


(b) A = [−3, 3, −6; −4, 7, −8; 5, 7, −9] b = [−6, −5, 3]
(c) A = [4, 1, 1; 2, −9, 0; 0, −8, −6] b = [6, −7, −14]
(d) A = [7, 6, 9; 4, 5, −4; −7, −3, 8] b = [22, 5, −2]
(e) A = [4, 1, 0; 2, 5, 1; −1, 2, 4] b = [1, 0, 3]
(f) A = [4, 1, 0; 2, 5, 1; −1, 2, 4] + 2 ∗ eye(3) b = [1, 0, 3]
(g) A = [4, 1, 0; 2, 5, 1; −1, 2, 4] + 20 ∗ eye(3) b = [1, 0, 3]
(h) A = [3, −5, 47, 20; 11, 16, 17, 10; 56, 22, 11, −18; 17, 66, −12, 7] b =
[18, 26, 34, 82]

e commentare i risultati.