Risoluzione di equazioni non lineari:

Slides:



Advertisements
Presentazioni simili
Cosa sono? Come si risolvono?
Advertisements

Metodi e Applicazioni numeriche nell’Ingegneria Chimica
8) GLI INTERVALLI DI CONFIDENZA
Prof.Maurita Fiocchi Corso A-ERICA RICERCA PUNTI ESTREMANTI LIBERI DELLE FUNZIONI REALI A DUE VARIABILI REALI z = f( x ; y )
FUNZIONI REALI DI DUE VARIABILI REALI
Equazioni differenziali
I SISTEMI LINEARI.
Equazioni non lineari Gabriella Puppo.
di Pasquale Infantino VA
Equazioni di primo grado
Universita di Camerino
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Meccanica 2 1 marzo 2011 Cinematica in una dimensione
Esercizio 1 Un filo indefinito è costituito da due semirette AB e BC formanti un angolo retto, come in figura Il filo è percorso da una corrente I = 10.
= 2x – 3 x Definizione e caratteristiche
Lezione 3) Cenni di teoria dell’elasticità, sforzi e deformazioni, l’equazione delle onde elastiche.
Elementi di Matematica
Liceo Scientifico “A. Vallone” Galatina
I Sistemi Lineari Molti, problemi per poter essere risolti, hanno bisogno dell’introduzione di uno o più elementi incogniti. Ad esempio consideriamo il.
Corso di biomatematica lezione 5: propagazione degli errori
Soluzione di equazioni non lineari
Velocità media Abbiamo definito la velocità vettoriale media.
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
INGEGNERIA CLINICA E BIOMEDICA
STATISTICA a.a METODO DEI MINIMI QUADRATI REGRESSIONE
Grandezze scalari e vettoriali
SOLUZIONE DELLO STRATO LIMITE SU UNA PARETE PIANA
Primi Elementi di Programmazione in C++
Parte I (introduzione) Taratura degli strumenti (cfr: UNI 4546) Si parla di taratura in regime statico se lo strumento verrà utilizzato soltanto per misurare.
Metodi numerici per equazioni differenziali ordinarie Laboratorio di Metodi Numerici a.a. 2008/2009.
Equazioni non lineari Data una funzione consideriamo il problema di determinare i valori x tali che Tali valori sono solitamente.
EQUAZIONI DI SECONDO GRADO
Equazioni lineari in due incognite
Sistemi dinamici discreti non lineari
Di Cunzolo Alessandro Farioli Giuseppe 10 Gennaio 2012
Unità 2 Distribuzioni di probabilità Misure di localizzazione Misure di variabilità Asimmetria e curtosi.
Metodi matematici per economia e finanza. Prof. F. Gozzi
Equazioni e sistemi non lineari
Grandezze e Misure
4 < 12 5 > −3 a < b a > b a ≤ b a ≥ b
Progetto di reattori Non isotermi…
ECONOMIA POLITICA E-I ESERCITAZIONI. 2 Richiami di matematica – Funzioni Funzioni FUNZIONE: ogni regola matematica che permette di calcolare il valore.
“La cassetta degli arnesi”
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
1 Equazioni non lineari Data una funzione consideriamo il problema di determinare i valori x tali che Tali valori sono solitamente chiamati zeri o radici.
FUNZIONE: DEFINIZIONE Una FUNZIONE è una LEGGE che ad ogni elemento di un dato insieme A, detto DOMINIO, associa uno ed un solo elemento di un insieme.
TRATTAMENTO STATISTICO DEI DATI ANALITICI
Anno scolastico 201 /201 Keith Devlin Anno scolastico 201 /201 Stanislas Dehaene L'assorbimento di questo sistema ha inizio già nell'infanzia, ancor.
Analisi matematica Introduzione ai limiti
La circonferenza e l’ellisse La sezione conica è l’intersezione di un piano con un cono. La sezione cambia a seconda dell’inclinazione del piano. Se il.
L’iperbole l'iperbole1IISS "Medi" - Galatone prof. Giuseppe Frassanito.
La derivata Docente Grazia Cotroni classi V A e V B.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Equazioni Che cosa sono e come si risolvono. Osserva le seguenti uguaglianze: Equazioni Che cosa sono Queste uguaglianze sono «indeterminate», ovvero.
Teoremi sulle funzioni derivabili 1. Definizione di massimo globale x0x0 f(x 0 ) Si dice massimo assoluto o globale di una funzione il più grande dei.
Breve trattazione della Serie di Mac – Laurin ISTITUTO ISTRUZIONE SECONDARIA SUPERIORE “E.Medi” Galatone di Michele Caprio Classe 5 A st Liceo Scientifico.
INTRODUZIONE Il progetto è rivolto ad alunni che frequentano il biennio del Liceo Scientifico, gli argomenti affrontati sono di notevole importanza per.
Regressione lineare Misure Meccaniche e Termiche - Università di Cassino2 Distribuzioni Correlate Una variabile casuale z, può derivare dalla composizione.
Parte 4 Programmare in Matlab – II Sommario Integrazione di Equazioni differenziali ordinarie Metodo di Eulero Esplicito Metodo di Eulero Esplicito + EsercizioEsercizio.
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
Laboratorio di Calcolo Problemi tipici di Ingegneria Chimica Docente: Massimo Urciuolo
Dal PROBLEMA all’ALGORITMO
Regressione: approccio matriciale Esempio: Su 25 unità sono stati rilevati i seguenti caratteri Y: libbre di vapore utilizzate in un mese X 1: temperatura.
Metodi di ricerca approssimata dello zero di una funzione F(z) = 0.
1 a cura di MENNITI Prof. Salvatore LIMITI DI FUNZIONI con il Foglio Elettronico Excel.
Parte 5 Sommario Uso routine di calcolo predefinite di Matlab –Risoluzione equazioni non lineariRisoluzione equazioni non lineari –Ricerca minimo di una.
Bilancio macroscopico di materia
Cinematica del punto materiale Studia il moto dei corpi senza riferimento alle sue cause Il moto è completamente determinato se e` nota la posizione del.
Transcript della presentazione:

Risoluzione di equazioni non lineari: Parte 3 Implementazione di Metodi numerici con Matlab Sommario Risoluzione di equazioni non lineari: Metodo del punto fisso + Esercizio Metodo di Newton + Esercizio

Soluzioni di equazioni non lineari – Un po’ di teoria Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria La scrittura di un programma per la soluzione di un’equazione non lineare può essere vista come la “traduzione” di una procedura (metodo numerico) in una serie di istruzioni “comprensibile” da Matlab I metodi per la risoluzione di una equazione non lineare sono molteplici. I più noti sono: Metodo del Punto Fisso (o “per tentativi”) Metodo di Newton

Soluzioni di equazioni non lineari – Un po’ di teoria Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria Tutti i metodi numerici per la risoluzione di equazioni non lineari del tipo f(x)=0 sono Metodi Iterativi: Si parte da un valore di primo tentativo x0 e si genera una successione di valori xi che si spera converga verso una soluzione della equazione È possibile calcolare uno zero alla volta dell’equazione non lineare: i metodi numerici per la risoluzione non consentono di determinare più soluzioni contemporaneamente. Lo zero dell’equazione non è mai nota con precisione infinita

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo del punto fisso La generica equazione: f(x)=0 può essere riscritta nel seguente modo x=g(x) Partendo da un valore di primo tentativo si valuta x1 = g(x0). Il valore ottenuto è una nuova stima x1 della soluzione.

Soluzione equazione non lineare Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo del Punto Fisso Rappresentazione grafica del metodo: y=x y2=g(x1) y=g(x) y1=g(x0) Soluzione equazione non lineare x2=y2 x1=y1 x0

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo del Punto Fisso Come procedere: Si fissa un valore di primo tentativo x0 Si entra in un ciclo di iterazioni: Si calcola x = g(x) Il valore x calcolato è “vicino” al valore x del giro precedente? Se si, esco dal ciclo e chiedo di rappresentarmi il valore x ottenuto Se no, rimango nel ciclo e sostituisco al vecchio valore di x il nuovo valore ottenuto Per stabilire se due valori sono “vicini” è necessario introdurre una tolleranza all’inizio del programma

Variabili di Ingresso: Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo del Punto Fisso Diagramma di flusso: Variabili di Ingresso: Tolleranza - toll Punto Iniziale – x0 Ciclo del programma: Con Matlab può essere fatto sia con l’istruzione if che con l’istruzione while Calcolo funzione xnew=g(xold) xold=xnew no |xnew-xold|<toll ? si display xnew Esci dal programma

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo del Punto Fisso In alcuni casi è più conveniente scrivere l’equazione nella forma: h(x) = g(x) In questo caso si valuta la y=h(x). Si calcola x = g-1(y) Il problema si riporta al caso tradizionale con x = g-1(h(x)) Si calcola di nuovo la f sino a quando le iterazioni non convergono

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Metodo del Punto Fisso - Esercizio Calcolare la temperatura di rugiada alla pressione di una atmosfera di una soluzione di metanolo e butanolo di composizione ZB = 0.1 ZM = 0.9 Si suppongano valide le leggi di Antoine dove la tensione di vapore è espressa in mmHg. la temperatura in gradi Celsius AB = 7.75328 BB = 1506.07 CB = 191.593 AM = 8.08097 BM = 1582.27 CM = 239.726

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Come procedere nella scrittura dell’m-file: È necessario innanzitutto definire all’inizio: una tolleranza (che rappresenta la precisione che vogliamo nel nostro risultato) un valore di primo tentativo per la temperatura Una volta stabilite queste due grandezze è possibile definire un ciclo in cui si effettuano una serie di operazioni

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Scrittura del ciclo per le iterazioni. Innanzitutto quale tra le istruzioni per i cicli si rivela più adatta per il nostro caso? Si vuole ripetere una serie di istruzioni sino a quando la differenza tra due valutazioni successive della T sia minore della tolleranza (da noi fissata). Quindi si intende ripetere le istruzioni solo quando la condizione di cui sopra non è rispettata.

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio All’interno del ciclo sarà quindi necessario definire una serie di operazioni: Scrittura del secondo membro:

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Tale funzione può essere scritta anche “a pezzi” definendo delle variabili “temporanee”. In questo modo le espressioni sono meno “pesanti” e ci sono meno possibilità di fare errori di battitura. Esempio:

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Una volta scritta l’espressione rhs è necessario calcolare la nuova valutazione della temperatura, scrivendo l’inversa della legge di Antoine: A questo punto si deve stabilire se la differenza tra il nuovo valore di temperatura con il vecchio valore è minore della nostra tolleranza PER FARE IL CONFRONTO È NECESSARIO DEFINIRE DUE VARIABILI: UNA TEMPERATURA PRIMA DELLA VALUTAZIONE, ED UN TEMPERATURA DOPO LA VALUTAZIONE

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio A questo proposito, conviene salvare il nuovo valore con un altro nome all’interno del ciclo. Esempio: Told è il nome della temperatura da cui mi calcolo rhs Tnew è il nome della nuova temperatura calcolata. Se Told e Tnew sono significativamente diverse, inizio da capo il ciclo, sostituendo a Told il valore calcolato Tnew Il ciclo può essere scritto con la condizione che la “distanza” tra Told e Tnew sia piccola (per esempio: 0.001) Per scrivere tale condizione è quindi necessario avere già a disposizione un valore di Told e Tnew prima di “entrare” nel ciclo.

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Riassumendo, il mio “programma” deve essere costruito nel seguente modo: Scrittura costanti A, B e C delle leggi di Antoine per le specie chimiche presenti Definizione variabili di ingresso: toll e prima stima Told (il valore di primo tentativo) Calcolo della prima Tnew Scrittura ciclo while con condizione su Tnew e Told Aggiornamento Tnew & Told Calcolo Tnew Stampa sul monitor dell’ultimo Tnew

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Struttura del programma: Definizione costanti fisiche del problema Definizione costanti numeriche (tolleranza, valore primo tentativo) Prima valutazione told Prima valutazione tnew Ciclo While con condizione abs(told-tnew) > toll Aggiornamento told = tnew Calcolo tnew = g(told) Chiusura del ciclo Stampa sul monitor (o anche su file esterno) dei risultati

Metodo del Punto Fisso - Esercizio Elementi di Matlab - 3 Metodo del Punto Fisso - Esercizio Considerazione 1 La scrittura del programma è, in principio, possibile anche con la procedura if Considerazione 2 Nella mia sessione di lavoro, quante variabili sono state definite? Digitare who o whos. Considerazione 3 Da notare che in tale scrittura sto facendo l’ipotesi che il metodo “converga” sempre Ovvero, partendo da un valore di primo tentativo, sono sicuro di arrivare alla soluzione Questo non è in generale vero, come vedremo nei prossimi lucidi

Metodo del Punto Fisso – Esempio negativo Elementi di Matlab - 3 Metodo del Punto Fisso – Esempio negativo y=g(x) In questo caso il metodo diverge. y2=g(x1) ∞ y1=g(x0) y=x Soluzione equazione non lineare x1=y1 x0

Metodo del Punto Fisso – Accorgimenti sulla programmazione Elementi di Matlab - 3 Metodo del Punto Fisso – Accorgimenti sulla programmazione Nel caso in cui le iterazioni divergano, il programma continuerebbe a operare teoricamente all’infinito, dato che si sta allontanando sempre di più dalla soluzione dell’equazione. In alcuni casi, nella pratica, le iterazioni si interrompono con un messaggio di errore, quando i numeri diventano talmente grandi da non poter essere gestiti dal processore del computer. In ogni caso, nella programmazione, per evitare che in tali casi il programma continui a operare all’infinito, è necessario introdurre un’altra condizione nel ciclo while in cui si arresta la computazione se il numero di iterazioni è diventato elevato.

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo di Newton Il metodo di Newton è, ancora, un metodo iterativo. La filosofia di tale metodo è di cercare di approssimare la funzione con una altra funzione, di cui è semplice calcolare lo zero. La curva più semplice per approssimare la nostra funzione, e che soddisfa tale proprietà, è la retta tangente alla curva nel punto xi della iterazione i-esima

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo di Newton Data una funzione f(x), è possibile, con semplici passaggi matematici, determinare la retta tangente alla curva in un dato punto x0. Applicando la formula di Taylor al punto x0 si ottiene: È possibile calcolare quindi l’intersezione di questa retta con l’asse delle x:

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo di Newton In questo modo è possibile ottenere una prima stima x1 della soluzione dell’equazione non lineare. È possibile quindi creare una successione di valori xi che, si spera, convergono verso la soluzione della equazione non lineare

Soluzione equazione non lineare Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo di Newton Interpretazione grafica del metodo f(x) y=f(x0)+f’(x0) (x-x0) f(x0) y=f(x1)+f’(x1) (x-x1) Soluzione equazione non lineare f(x1) x0 x2 x1

Elementi di Matlab - 3 Soluzioni di equazioni non lineari – Un po’ di teoria – Metodo di Newton Conclusioni sul metodo di Newton Si può dimostrare che il metodo di Newton converge generalmente con una velocità molto maggiore del metodo del punto fisso Dà meno problemi di convergenza: se parto “vicino” alla mia soluzione dell’equazione, convergo sicuramente ad essa (cosa che non era verificata per il metodo del punto fisso) È, in generale, da preferire

Metodo di Newton – Esercizio - Introduzione Elementi di Matlab - 3 Metodo di Newton – Esercizio - Introduzione Si considerino i bilanci di materia ed energia,allo stazionario, per una reazione esotermica irreversibile in un CSTR adiabatico C0, T0, Q C, T, Q

Metodo di Newton – Esercizio - Introduzione Elementi di Matlab - 3 Metodo di Newton – Esercizio - Introduzione Incominciamo a semplificare le equazioni, introducendo degli opportuni gruppi adimensionali Grado di conversione Temperatura adimensionale Variazione della temperatura Energia di attivazione adimensionale della reazione Numero di Damkohler Rapporto tra il tempo a disposizione dal processo e il tempo caratteristico della reazione

Metodo di Newton – Esercizio - Introduzione Elementi di Matlab - 3 Metodo di Newton – Esercizio - Introduzione Le equazioni assumono la seguente forma: Un’opportuna manipolazione delle equazioni porta alla scrittura della seguente equazione non lineare funzione solo della variabile q.

Metodo di Newton – Esercizio - Introduzione Elementi di Matlab - 3 Metodo di Newton – Esercizio - Introduzione Una volta determinata la temperatura adimensionale, è possibile calcolare la concentrazione con una semplice relazione lineare. Dato che la conversione può essere al massimo unitaria, è possibile calcolare quale temperatura adimensionale massima può essere raggiunta nel reattore.

Metodo di Newton - Esercizio Elementi di Matlab - 3 Metodo di Newton - Esercizio Esercizio: Dati i seguenti valori dei parametri: Da = 0.01 g = 9.0 B=22.0 Diagrammare l’equazione non lineare nell’intervallo [0:20] Valori di primo tentativo: q0 = 0.5, 10.0, 15.0 Trovare gli zeri con il metodo di Newton sapendo che la derivata ha la seguente forma:

Metodo di Newton - Esercizio Elementi di Matlab - 3 Metodo di Newton - Esercizio Suggerimenti per la scrittura del programma Come prima: Definire una tolleranza, un valore di primo tentativo Assegnare i valori numerici ai parametri fisici Calcolo della prima Tnew Scrittura ciclo while con condizione su Tnew e Told Aggiornamento Tnew & Told Calcolo Tnew Stampa sul monitor dell’ultimo Tnew Si suggerisce di definire il termine esponenziale come una variabile temporanea:

Metodo di Newton – Esercizio Elementi di Matlab - 3 Metodo di Newton – Esercizio Diagramma di flusso È, dal punto di vista logico, equivalente al caso del punto fisso Variabili di Ingresso: Tolleranza - toll Punto Iniziale – x0 Calcolo funzione xnew=xold-f(xold)/f’(xold) xold=xnew no |xnew-xold|<toll ? si display xnew Esci dal programma

Metodo di Newton – Esercizio Elementi di Matlab - 3 Metodo di Newton – Esercizio Commenti: Cambiando il punto iniziale, cambiano le soluzioni della equazione non lineare a cui si arriva? Il ruolo del punto iniziale è importante. Ancora, non si è provveduto a garantire che il numero di iterazioni sia limitato