• Non ci sono risultati.

10], (1) con la condizione iniziale al tempo t = 0 y(0

N/A
N/A
Protected

Academic year: 2021

Condividi "10], (1) con la condizione iniziale al tempo t = 0 y(0"

Copied!
1
0
0

Testo completo

(1)

COGNOME NOME N. Matricola

Calcolo Numerico - 15 giugno 2010

Terzo appello [140060] (6 crediti)

Prova MATLAB

Risolvere l’equazione alle derivate ordinarie dy

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

con la condizione iniziale al tempo t = 0

y(0) = y0, (2)

applicando il seguente metodo di Runge-Kutta:

k1 = f (yn, tn),

k2 = f (yn+ ∆tk1, tn+ ∆t), k3 = f (yn+∆t

2 (k1+ k2) , tn+ ∆t), k4 = f (yn+∆t

64 (14k1+ 5k2− 3k3) , tn+1 4∆t), k5 = f (yn+∆t

96 (−12k1− 12k2+ 8k3+ 64k4) , tn+1 2∆t), k6 = f (yn+∆t

64 (−9k2+ 5k3+ 16k4+ 36k5) , tn+3 4∆t), yn+1 = yn+∆t

90 (7k1+ 7k3+ 32k4+ 12k5+ 32k6) . (3) 1. Scrivere una funzione MATLAB func.m che implementi la funzione f (y, t) dell’equazione (1).

2. Scrivere una funzione MATLAB RK.m che risolva il problema (1),(2) con il metodo di Runge-Kutta definito in (3). La funzione riceve come argomenti in ingresso la condizione iniziale y0, il tempo finale tend e il passo temporale ∆t. La funzione ristituisca come risultato y(tend), quindi il valore della funzione y al tempo finale tend.

3. Calcolare la soluzione esatta del problema (1),(2) utilizzando il metodo di separazione delle variabili.

4. Scrivere una funzione MATLAB exact.m che implementi la soluzione esatta trovata nel punto precedente. La funzione riceve t e y0come argomenti e da y(t) come risultato.

5. Scrivere i commandi MATLAB necessari per verificare numericamente l’ordine d’accuratezza del metodo di Runge–Kutta (3), utilizzando come condizione iniziale il valore y0= 1.

Riferimenti

Documenti correlati

“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 uno script di MATLAB RK.m che risolva il problema (1), (2) con il metodo di Runge- Kutta definito

Scrivere uno script di MATLAB RK.m che risolva il problema (1), (2) con il metodo di Runge- Kutta definito

Scrivere uno script MATLAB RK.m che risolva il problema (1),(2) con il metodo di Runge-Kutta definito in (3).. Modificare lo script RK.m in modo tale da verificare

Scrivere una funzione MATLAB dfunc.m che implementi la derivata della funzione f 0 = dy df.. Scrivere una funzione MATLAB CN.m per risolvere (3),

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

Scrivere una funzione MATLAB RK.m che risolva il problema (1),(2) con il metodo di Runge-Kutta definito