Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Documenti analoghi
Equazioni differenziali. Gabriella Puppo

Esercitazioni di Analisi e Simulazione dei Processi Chimici

Corso di Calcolo Numerico

Il problema di Cauchy

Equazioni Differenziali Ordinarie in MatLab

Corso di Modelli Matematici in Biologia Esame del 6 Luglio 2016

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

Calcolo Numerico (A.A ) Lab n. 12 Approssimazione

Esercizio 1. Esercizio 2

ESERCITAZIONE MATLAB

Introduzione al Calcolo Scientifico - A.A

APPUNTI del CORSO di TEORIA dei CIRCUITI 2 Oscillatore di Colpitts

Metodi numerici per equazioni differenziali ordinarie. Calcolo Numerico a.a. 2008/2009

Fondamenti di Informatica A.A. 2016/17

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

Università di Trieste Facoltà d Ingegneria. Esercizi sul calcolo integrale in IR N. Dott. Franco Obersnel

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Cenni sull integrazione numerica delle equazioni differenziali. Corso di Dinamica e Simulazione dei Sistemi Meccanici

Progettazione di curve (sistemi lineari)

Equazioni differenziali

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

Prodotto scalare, ortogonalitá e basi ortonormali

Consideriamo il seguente sistema di equazioni differenziali ordinarie (ODE) ai valori iniziali:

Teoremi di Stokes, della divergenza e di Gauss Green.

Localizzazione di una esplosione

n=0 a n è convergente. x 2

Prima prova di verifica in itinere di ANALISI MATEMATICA II. 12 Marzo 2008 Compito A. 1 (punti 3)

SIMULAZIONE - 29 APRILE QUESITI

Corso di Matematica per la Chimica

Riferimenti: R.Adams, Calcolo Differenziale 2. Capitoli 3.4, 3.9. Esercizi 3.4, 3.9.

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Esercizi di Matematica Finanziaria

LEZIONE 10. S(C,ρ) Figura 10.1

Equazioni differenziali Corso di Laurea in Scienze Biologiche Istituzioni di Matematiche A.A Dott.ssa G. Bellomonte

Corso di Calcolo Numerico

Laboratorio di Matematica Computazionale A.A Lab. 4

Regola dei trapezi. a, b punti fissi a priori. non fissi a priori (indeterminati) errore di integrazione. a, b

LEZIONE 9. k, tenendo conto delle formule che permettono di calcolare il prodotto scalare ed il prodotto vettoriale, otteniamo

Derivazione Numerica

Elaborazione aut. dei dati

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Laboratorio di Matematica Computazionale A.A Lab. 9

Derivata materiale (Lagrangiana) e locale (Euleriana)

parametri della cinematica

LUISS Laurea specialistica in Economia e Finanza Anno Accademico 2010/2011

Equazione di Keplero (eqz. nonlineari).

Esercizi Svolti di Analisi Numerica

Calcolo di integrali definiti utilizzando integrali dipendenti da parametri

(5 sin x + 4 cos x)dx [9]

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB

3. Traccia il grafico della funzione scelta in un piano cartesiano avente in ascisse il tempo t espresso in ore e in

NOME:... MATRICOLA:... Corso di Laurea in Fisica, A.A. 2009/2010 Calcolo 1, Esame scritto del

Complementi di Matematica e Calcolo Numerico A.A

Esercizi sui vettori liberi (i, j, k è una base ortonormale positiva)

Corso di Analisi Numerica

Corso di Laurea Triennale in Matematica Calcolo delle Probabilità I (docenti G. Nappo, F. Spizzichino)

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Esercizi sulla retta. Gruppo 1 (4A TSS SER, 4B TSS SER, 4A AM )

Le Derivate. Appunti delle lezioni di matematica di A. Pisani Liceo Classico Dante Alighieri

Esercizi di Analisi 2. Nicola Fusco (Dipartimento di Matematica e Applicazioni, Università Federico II, Napoli) 1. Successioni e Serie di Funzioni

Analisi Matematica II Corso di Ingegneria Gestionale Compito del f(x, y) = e (x3 +x) y

a n = 1 π f(t) cos nt dt, b n = 1 π f(t) sin nt dt, n = 0, 1, 2,..., N.

Analisi 2. Roberto Monti. Appunti del Corso - Versione 5 Ottobre 2012

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

Fisica 1 Anno Accademico 2011/2011

Esercizi di MATEMATICA PER RCHITETTURA prima parte: Algebra Lineare e Geometria

x =0 x 1 x 2 Esercizio (tratto dal Problema 1.4 del Mazzoldi)

Tipologia delle funzioni studiate: 1. y= ax n + bx n y= e x 3. y= (ax + b)/ (cx + d) 4. y= (ax 2 + b) (cx + d)

SPAZI METRICI COMPLETI

Un modello di programmazione stocastica per l emissione ottimale dei titoli di Stato

CALCOLO NUMERICO (C.L. Ing. delle Comunicazioni - AA ) Proff. F. Pitolli, A. Pascarella Progetti

PER LA COMMISSIONE D ESAME 1E 2E 3E 4E 5E Totale

Aritmetica in Floating Point

Segnali e Sistemi Laboratorio Matlab

LABORATORIO DI CALCOLO II - APPELLO 28/01/2010 COMPITO 1

Equazioni differenziali lineari del secondo ordine a coefficienti costanti

APPROSSIMAZIONE di FUNZIONI

Programmazione per competenze del corso Matematica, Quinto anno

Metodi per la risoluzione di sistemi lineari

3. Vettori, Spazi Vettoriali e Matrici

Corso di Matematica per la Chimica

Fondamenti di Informatica

Autovalori ed autovettori di una matrice

Esercizi svolti di statistica. Gianpaolo Gabutti

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

TEMI D ESAME DI ANALISI MATEMATICA I

Corso di Informatica di Base

Prodotto scalare e ortogonalità

Prendiamo in considerazione la matrice tridiagonale

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

1 Portofoglio autofinanziante

Meccanica: Introduzione. Lo Studio del moto degli oggetti

CORSO DI ANALISI MATEMATICA 2 ESERCIZI. Carlo Ravaglia

12) Metodo dei minimi quadrati e linea di tendenza

Analisi Matematica 2 per Matematica Esempi di compiti, primo semestre 2011/2012

I FACOLTÀ DI INGEGNERIA - POLITECNICO DI BARI Corso di Laurea in Ingegneria Meccanica (corso A) A.A , Esercizi di Geometria analitica

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16

CALENDARIO BOREALE 1 EUROPA 2015 QUESITO 1

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Transcript:

Complementi di Matematica e Calcolo Numerico A.A. 2013-2014 Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Cosideriamo il Problema di Cauchy: y (t) = f(t,y(t)) t I, y(t 0 ) = y 0 dove I = [t 0,t max ] R, y 0 R ed f : I R R funzione assegnata. Scegliano t n = t 0 +nh per n = 0,...N con t N t max punti equispaziati in I. Metodo di Runge-Kutta 4 A partire da y 0 si calcolino y 1, y 2,..., y N attraverso la relazione y n+1 = y n + h 6 (K 1 +2(K 2 +K 3 )+K 4 ) K 1 = f(t n,y n ) ( K 2 = f t n + h 2,y n + h ) 2 K 1 ( K 3 = f t n + h 2,y n + h ) 2 K 2 K 4 = f(t n+1,y n +hk 3 )

Il metodo di Runge-Kutta 4 (RK4) è esplicito. Esercizio 1 Si scriva una function matlab che implementi il metodo di Runge- Kutta 4 con la seguente sintassi: [T,Y] = RK4 (fun,t,y0), input: fun = f(t,y) funzione data di due variabili T = [t 0,t 1,...t N ] vettore riga dei tempi y 0 condizione iniziale del problema output: T = [t 0,t 1,...,t N ] vettore colonna dei tempi Y = [y 0,y 1,...,y N ] vettore colonna della soluzione approssimata agli istanti in T Esercizio 2 Si risolvano con il metodo di Runge-Kutta 4 i problemi di Cauchy: y (t) = 2ty 2 (t) t [0,2], Sol: y(t) = 1 y(0) = 1 1+t 2 y (t) = 25y t [0,2], y(0) = 1 Sol: y(t) = e 25t 2

con passso uniforme h = 0.01. Si disegni il grafico della soluzione approssimata a confronto con quella esatta. Si calcoli il massimo errore commesso nei nodi di approssimazione. Esercizio 3 Si consideri il problema di Cauchy y (t) = 5t 4 (1 y(t)), 0 t 5 y(0) = 6 la cui soluzione esatta è y(t) = 1+5exp( t 5 ). 1. Approssimare il problema di Cauchy con il metodo di Runge- Kutta 4. 2. Calcolare la norma infinito dell errore tra la soluzione esatta e quella approssimata in tutti i passi calcolati. Eseguire prove per h = 2 10 k, per k = 1,2,3,4 e compilare la tabella. k h errore Runge-Kutta 4 1 2 3 4 3. Dedurre dalla tabella l ordine del metodo di Runge-Kutta 4, motivando la risposta. 4. Tracciare il grafico sovrapposto della soluzione esatta (in rosso) e di quella approssimata (in blu) per k = 5. 5. Spiegare il risultato ottenuto per k = 1. 3

Sistemi di Equazioni Differenziali Ordinarie Consideriamo un sistema di equazioni differenziali ordinarie del primo ordine con condizioni iniziali del tipo: Y (t) = F(t,Y(t)) t I, Y(t 0 ) = Y 0 dove I = [t 0,t max ] R, Y 0 = (y 0 1,...,y 0 n) R n, Y : I R n, Y C 1 (I) è la funzione da determinare Y(t) = (y 1 (t),y 2 (t),...y n (t)) ed F : I R n R n è una funzione assegnata F(t,y 1,...,y n ) = (f 1 (t,y 1,...,y n ),...f n (t,y 1,...,y n ) Un esempio di sistema di questo tipo è: y 1(t) = 2y 2 +2t t [0,3] y 2(t) = y 2 y 1 +1 t t [0,3] y 1 (0) = 2 y 2 (0) = 1 (1) La cui soluzione esatta è y 1 (t) = 2e t y 2 (t) = e t +t Per risolvere un sistema di ODE del tipo sopra descritto con Matlab, possiamo utilizzare le stesse funzioni predefinite già viste nel 4

caso di equazioni scalari alle derivare ordinarie con l accortezza di utilizzare una sintassi vettoriale per le funzioni coinvolte. Ovvero per risolvere il sistema (1) utilizziamo la function ode45() nel modo seguente: F=inline( [-2*y(2)+2*t; -y(1)+y(2)+1-t], t, y ); [T,Y]=ode45(F,[0,3],[2 1]); figure(1) plot(t,2*exp(-t), g,t,exp(-t)+t, m ) title( soluzione esatta ) figure(2) plot(t,y(:,1), r,t,y(:,2), b ) title( soluzione numerica ) 3.5 soluzione esatta 3.5 soluzione numerica 3 3 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0 0 0.5 1 1.5 2 2.5 3 0 0 0.5 1 1.5 2 2.5 3 Quando la funzione F è più complicata può convenire definirla con una vera e propria function matlab Frhs() e poi passarla ad ode45 attraverso un function handle @Frhs o puntatore alla funzione. Un function handle è un tipo Matlab che contiene tutte 5

le informazioni utili per poter eseguire la funzione a cui si riferisce. Nell esempio precedente definiano la function Frhs() nel file Frhs.m function dydt=frhs(t,y) dydt=[-2*y(2)+2*t; -y(1)+y(2)+1-t]; che verrà successivamente passata ad ode45 nel modo seguente: [T,Y]=ode45(@Frhs,[0,3],[2 1]); Poichè l handle viene utilizzato esattamente come se fosse il nome della function è corretta anche la seguente sintassi: [T,Y]=ode45( Frhs,[0,3],[2 1]); Se nella definizione del termine noto F compaiono dei parametri P 1,P 2 etc. (F = F(t,y,P 1,P 2,...)) per passare tali parametri alla function Frhs che la implementa, si modifica la chiamata al solutore ode45 come segue: [T,Y]=ode45(@Frhs,[to,tmax],[y01 y02],[],p1,p2); 6

Il sistema di Lorenz Il sistema di Lorenz è un sistema di tre equazioni differenziali ordinarie nonlineari che descrive in maniera semplificata il moto di un fluido. dx = σ(y x) dt t [0,T] dy = ρx xz y dt t [0,T] dz = xy βz dt t [0,T] x(0) = x 0, y(0) = y 0, z(0) = z 0 Supponiamo che i parametri assumano i seguenti valori: σ ρ β T x 0 y 0 z 0 10 28 8/3 200 1 0 0 Risolviamo il sistema di Lorenz con il risolutore Matlab ode45. Prima di tutto dobbiamo costruire una function che implementa il termine noto del sistema. function dydt=lor_fun(t,y,sigma,beta,rho) dydt(1)=sigma*(y(2)-y(1)); dydt(2)=rho*y(1)-y(1)*y(3)-y(2); dydt(3)=y(1)*y(2)-beta*y(3); dydt=dydt ; 7

Poi costruiamo uno script-file che esegue i seguenti comandi: % CONDIZIONI INIZIALI x0=1; y0=0; z0=0; v0=[x0 y0 z0] ; % PARAMETRI sigma=10; beta=8/3; rho=28; % SOLUZIONE [t,y]=ode45(@lor_fun,[0 200],v0,[],sigma,beta,rho); % GRAFICO plot3(y(:,1),y(:,2),y(:,3)) xlabel( x, Fontsize,14); ylabel( y, Fontsize,14); zlabel( z, Fontsize,14) 8