• Non ci sono risultati.

I Scrivere una funzione di Matlab che implementi il metodo di Adams-Bashforth a quattro passi

N/A
N/A
Protected

Academic year: 2021

Condividi "I Scrivere una funzione di Matlab che implementi il metodo di Adams-Bashforth a quattro passi"

Copied!
5
0
0

Testo completo

(1)

I Scrivere una funzione di Matlab che implementi il metodo di Adams-Bashforth a quattro passi

 u i +1 = u i + 24 h (55f i − 59f i −1 + 37f i −2 − 9f i −3 ) i = 3, . . . , N − 1 u 0 = y 0

per approssimare la soluzione del problema di Cauchy

 y 0 (t) = f (t, y (t)) t ∈ [t 0 , t 0 + T ] y (t 0 ) = y 0

dove h = T /N, t i = t 0 + ih per i = 0, 1, . . . , N e f i = f (t i , u i )

I Per calcolare u 1 , u 2 e u 3 usare

I

il metodo di eulero;

I

il metodo di Runge-Kutta di ordine 4.

Verificare l’ordine di convergenza del metodo in entrambi casi.

(2)

Esercizio

I Scrivere una funzione di Matlab che implementi il seguente metodo predictor corrector

u i +1 = u i + 12 h (23f i − 16f i −1 + 5f i −2 )

u i +1 = u i + 24 h (9f i +1 + 19f i − 5f i −1 + f i −2 ) i = 2, . . . , N − 1 u 0 = y 0

per approssimare la soluzione del problema di Cauchy

 y 0 (t) = f (t, y (t)) t ∈ [t 0 , t 0 + T ] y (t 0 ) = y 0

dove h = T /N, t i = t 0 + ih per i = 0, 1, . . . , N, f i = f (t i , u i ) e f i +1 = f (t i +1 , u i +1 ).

I

Usare il metodo di Runge-Kutta di ordine 4 per calcolare u 1 e u 2 .

I

Verificare l’ordine di convergenza del metodo

(3)

u i +1 = u i + h

2 (3f i − f i −1 )

e verificare di nuovo l’ordine di convergenza del metodo.

(4)

Esercizio

Usando il metodo di Eulero approssimare la soluzione di

I

 

 

y 1 0 (t) = −4y 1 (t) − 2y 2 (t) + cos t + 4 sin t

y 2 0 (t) = 3y 1 (t) + y 2 (t) − 3 sin t t ∈ [0, 2]

y 1 (0) = 0 y 2 (0) = −1

Soluzione esatta: y 1 (t) = 2e −t − 2e −2t + sin t y 2 (t) = −3e −t + 2e −2t

I

 y 00 (t) − 2y 0 (t) + 2y (t) = e 2t sin t t ∈ [0, 1]

y (0) = −0.4 y 0 (0) = −0.6

Soluzione esatta: y (t) = 0.2 e 2t (sin t − 2 cos t).

(5)

 

 

y 1 0 (t) = y 2 (t)

y 2 0 (t) = −2y 1 (t) + 2y 2 (t) + e 2t sin t t ∈ [0, 1]

y 1 (0) = −0.4 y 2 (0) = −0.6

Riferimenti

Documenti correlati

Scrivere la funzione Matlab find_val che riceva in input un vettore v e una variabile stringa tipo che puo' assumere solo i valori 'min' e 'max' e restituisca in output il

Per avere un metodo predictor-corrector di ordine 4 usando il metodo di Adams-Bashforth a due passi (metodo di ordine 2) come predictor e il metodo di Adams-Moulton a tre passi

I Scrivere una funzione di Matlab che implemeti il metodo della sostituzione in avanti.. I Scrivere una funzione di Matlab che implemeti il metodo della

I Scrivere una funzione di Matlab che implementi il metodo iterativo del gradiente per l’approssimazione della soluzione di un sistema lineare A x = b.Usare il test d’arresto basato

“Tries to approximate the integral of scalar-valued function FUN from A to B to within an error of 1.e-6 using recursive adaptive Simpson quadrature. FUN is a

[r]

Scrivere una funzione MATLAB RK.m che risolva il problema (1),(2) con il metodo di Runge-Kutta definito in (3).. Scrivere una funzione MATLAB exact.m che implementi la soluzione

servono ad impedire che il carattere $ che rappresenta il ladro esca dallo schermo (la direzione del movimento viene invertita nel caso vengano superati i bordi dello schermo