• Non ci sono risultati.

Calcolo Numerico (140060 - 6 CFU) - II appello

N/A
N/A
Protected

Academic year: 2021

Condividi "Calcolo Numerico (140060 - 6 CFU) - II appello"

Copied!
5
0
0

Testo completo

(1)

COGNOME NOME N. Matricola

Calcolo Numerico (140060 - 6 CFU) - II appello

5 febbraio 2010

Esercizio 1

Dato il sistema lineare

2 −3 0

−1 3 2

−1 −1 2

x1

x2

x3

=

5

−6

−2

i) Studiare la convergenza del metodo di Gauss-Seidel.

ii) Partendo da x(0)=

1 0 0

fare due iterazioni del metodo di Gauss-Seidel.

(2)

Esercizio 2

i) Dimostrare che l’equazione

sinπ 2x

= (1 − x)3 ha una soluzione α nell’intervallo [0, 1].

ii) Usando il metodo di Newton, approssimare α con errore minore di 10−2.

(3)

Esercizio 3

Usando il metodo dei trapezi oppure il metodo di Cavalieri-Simpson approssimare Z 3

2

exp

 1 − x2

2

 dx

con errore minore di 10−2.

(Dimostrare che il numero di sottointervalli usato garantisce effettivamente un errore minore di 10−2.)

(4)

.

(5)

COGNOME NOME N. Matricola

Calcolo Numerico (140060 - 6 CFU) - II appello

5 febbraio 2010

Prova MATLAB

Risolvere il sistema di equazioni alle derivate ordinarie dy

dt = f (y, t) = −Ay, t ∈ [0; 1], (1)

con la condizione iniziale

y(0) = y0, (2)

applicando il seguente metodo di Eulero implicito:

yn+1= yn+ ∆tf (yn+1, tn+1). (3)

y `e un vettore di lungezza N e A = BTB `e una matrice simmetrica, positiva definita di dimensione N × N .

1. Riscrivere il metodo di Eulero implicito (3) utilizzando esplicitamente la definizione della funzione f (y, t) data in (1) e utilizzando A = BTB. Scrivere il sistema lineare finale per il vettore delle incognite yn+1in forma matriciale.

2. La matrice del sistema finale da risolvere `e simmetrica e positiva definita e quindi il sistema si pu`o risolvere con il metodo del gradiente coniugato. Scrivere una funzione MATLAB CG.m per risolvere il sistema lineare Ax = b con il metodo del gradiente coniugato. In input la funzione riceve la matrice A del sistema e il vettore noto b. Il output della funzione `e il vettore della soluzione x.

Fissare una tolleranza appropriata. L’utilizzo degli operatori e delle funzioni interni di MATLAB (’inv’, ’\’,’linsolve’,’cgs’) per risolvere sistemi lineari non `e permesso!

3. Scrivere uno script MATLAB EulerImplicit.m che risolvi l’equazione (1) con il metodo di Eulero implicito (3) e che utilizzi il risolutore per sistemi lineari programmato nella domanda precedente.

Per questa domanda, fissare all’inizio dello script MATLAB N = 5, e y0 e B come:

y0=

1 2 3 4 5

, B =

1 0 1 0 1

0 1 0 1 0

−1 0 1 0 1

0 −1 0 1 0

1 0 −1 0 1

. (4)

Riferimenti

Documenti correlati

per ritirarsi, scrivere una R in grande sul foglio e aspettare seduti la fine del compito, inviando comunque la mail al docente. Alvise Sommariva Calcolo Numerico, Appello II,

si suppone che lo studente abbia letto le regole prima del compito, come richiesto; il compito dura in totale 40 minuti e consta di 4 quiz (7 minuti) e un codice Matlab da scrivere

si suppone che lo studente abbia letto le regole prima del compito, come richiesto; il compito dura in totale 40 minuti e consta di 4 quiz (7 minuti) e un codice Matlab da scrivere

per ritirarsi, scrivere una R in grande sul foglio e aspettare seduti la fine del compito, inviando comunque la mail al docente... In cosa consiste la costante

si suppone che lo studente abbia letto le regole prima del compito, come richiesto; il compito dura in totale 40 minuti e consta di 4 quiz (7 minuti) e un codice Matlab da scrivere

determinare, utilizzando opportunamente numeratore e denominatore e le operazioni puntuali in Matlab, il vettore argomento somma la cui k−sima componente vale k3.

si suppone che lo studente abbia letto le regole prima del compito, come richiesto; il compito dura in totale 40 minuti e consta di 4 quiz (7 minuti) e un codice Matlab da scrivere

Nel caso la matrice A abbia rango massimo dire come si puo’ calcolare la soluzione ai minimi quadrati, conoscendo la fattorizzazione QR di A.