• Non ci sono risultati.

Laboratorio di Calcolo Numerico A.A. 2007/2008 – II semestre

N/A
N/A
Protected

Academic year: 2021

Condividi "Laboratorio di Calcolo Numerico A.A. 2007/2008 – II semestre"

Copied!
2
0
0

Testo completo

(1)

Corso di Laurea Triennale in Matematica

Laboratorio di Calcolo Numerico A.A. 2007/2008 – II semestre

Esercitazione 8

Creare una cartella <cognome> dove verranno salvati i file creati nella sessione di lavoro. Appena entrati in MATLAB posizionarsi in <cognome>.

Risolvere in ambiente MATLAB i seguenti esercizi.

1. Scrivere una function MATLAB che

a) implementi i metodi di Eulero, Heun, (facoltativo RK3):

Sintassi: [t, y]=metodo(fun,tspan,y0,h) Parametri di INPUT:

fun: stringa con il nome del file in cui è definita l'equazione differenziale tspan: [t0,tf], istante di tempo iniziale e finale

y0: condizione iniziale h: passo temporale Parametri di OUTPUT:

t: vettore contenente un insieme di punti interni all'intervallo [t0,tf]

y: vettore contenente la soluzione nei punti del vettore t

b) usando la coppia di metodi Eulero-Heun, fornisca la soluzione in modo che l'errore locale ad ogni passo sia inferiore a una tolleranza fissata (input).

2. Eseguire il file showtrunc.m che illustra il comportamento dell’errore locale di troncamento nel metodo di EULERO applicato alla risoluzione del problema a valori iniziali:

1 . 0 ,

1 ) 0 ( ), ( 5 ) (

' t = y t y = h=

y (2.1)

Considerare poi il seguente problema.

Si supponga di aver depositato 100€ su un conto corrente con interesse annuo pari al 6%. Se con y(t) si denota la somma di denaro sul conto corrente al passare di t anni, supponendo che l’interesse sia calcolato in modo continuo, y(t) risolverà il problema a valori iniziali

06 . 0 ,

100 ) 0 ( ), ( ) (

' t =ry t y = r=

y (2.2)

(2)

Pertanto, calcolare l’interesse ad un intervallo discreto di tempo h (espresso in frazioni dell’anno), significherà trovare una soluzione approssimata del problema con un metodo alle differenze finite. Modificare il file showtrunc.m per illustrare il comportamento dell’errore locale di troncamento nel metodo di EULERO applicato alla risoluzione del problema (2.2) con h=1/12.

3. Utilizzando i metodi di Eulero, Heun, (Rk3) con passi h= 1,0.5,0.1,0.05, calcolare la soluzione numerica del seguente problema di Cauchy:

y= y2 cos(2x), y(0)=1, x∈[0,6].

Commentare i risultati confrontando con la soluzione analitica y(x)=1/(1-cos(x)sin(x)).

Si determini poi una soluzione approssimata utilizzando la coppia di metodi Eulero- Heun con scelta automatica del passo, fissando tol=10^-3. Ripetere l’esercizio con tol=10^-5. Cosa si osserva e perchè? Quanti passi si sono eseguiti nei due casi?

4. Utilizzando il metodo di Eulero esplicito con passi h = 0.1, 0.01,0.001, risolvere l’equazione differenziale del primo ordine a valori iniziali

) 1 0

( 1

) 0 ( 1, cos 1

' 22 2 = <

=

+ y x

x y x x

y x ,

la cui soluzione esatta è

1 1 ) sin

( 2

= x x x

y .

Utilizzare poi la coppia di metodi Eulero-Heun con scelta automatica del passo fissando tol=10^-4.

Riferimenti

Documenti correlati

Scrivere l’M-file somma.m per calcolare la somma dei primi n numeri naturali dispari sia utilizzando un ciclo for che servendosi dell’istruzione

Spiegare perché per valori di x vicini a multipli di π/2 la valutazione della funzione risulta un problema mal condizionato4. Osservare cosa succede

Costruire una funzione MATLAB per il calcolo della soluzione di una generale equazione AX=B, con X, B matrici, che utilizza la fattorizzazione LU. Utilizzarla poi per

In uscita devono essere restituiti il vettore soluzione del sistema lineare e il numero dei passi effettuati per ottenere l'approssimazione desiderata (massimo 100).. Scrivere una

La funzione deve prendere in input la matrice A, il vettore di innesco x 0 , il numero massimo di iterazioni consentite (nmax) e la tolleranza toll per il

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

Considerata la forma di Newton del polinomio interpolante, si costruisca una tabulazione della funzione data costituita da 11 nodi equidistanti nell’intervallo I, e si memorizzino

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