Metodi iterativi per equazioni nonlineari.

Documenti analoghi
Metodi di Iterazione Funzionale

Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di

Metodi per il calcolo degli zeri di funzioni non lineari

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Analisi Numerica

Relazione di laboratorio di Analisi Numerica: metodi di ricerca zeri

Claudio Estatico Equazioni non-lineari

Corso di Calcolo Numerico

Laboratorio di Calcolo Numerico A.A Laboratorio 4 Risoluzione di sistemi non lineari Metodo di punto fisso

Laboratorio di Calcolo Numerico

Laboratorio 5-6 Metodi di Bisezione, Newton e Punto Fisso

f(x) = x e x, prendere come intervallo iniziale [0, 1] e fissare come precisione ε = 10 8.

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Capitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo

Corso di Analisi Numerica - AN1. Parte 3: metodi iterativi per sistemi lineari ed. equazioni nonlineari. Roberto Ferretti

Esercitazione 6: Metodi iterativi per sistemi lineari.

Laboratorio 10 Metodi Bisezione e Newton

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

Ottimizzazione numerica

Corso di Analisi Numerica - AN410. Parte 3: metodi iterativi per sistemi lineari ed. equazioni nonlineari. Roberto Ferretti

Calcolo del fattore di convergenza

Equazioni e sistemi nonlineari.

Daniela Lera A.A

Laboratorio 2. Calcolo simbolico, limiti e derivate. Metodo di Newton.

Calcolo Numerico Informatica Manolo Venturin A.A Guida all esame

Zeri di funzioni e teorema di Sturm

Matlab. Istruzioni condizionali, cicli for e cicli while.

Corso di Calcolo Numerico

Equazioni e sistemi non lineari

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari

Ottimizzazione dei Sistemi Complessi

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

Risoluzione di equazioni non lineari

Equazioni non lineari

Metodi Numerici con elementi di Programmazione (A.A )

Metodi per la risoluzione di equazioni non lineari

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Il metodo di Gauss-Newton per le regressioni non-lineari

Corso di Matematica per la Chimica

Calcolo Numerico con elementi di programmazione

1 Esercizi relativi al Capitolo 1

Equazioni e sistemi non lineari

Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 2 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata, Matematica

Equazioni non lineari

Corso di Analisi Numerica

Equazioni non lineari

Corso di Analisi Numerica

Soluzione del laboratorio 11 Metodi di punto fisso e sistemi di equazioni non lineari

Limiti di funzioni e loro applicazioni

Calcolo differenziale per funzioni in più variabili.

Corso di Analisi Numerica

Laboratorio di Matematica Computazionale A.A Lab. 4

EQUAZIONI non LINEARI

Fondamenti di Informatica, A.A Compito A

Concludiamo questa Appendice, riportando alcuni programmi scritti in linguaggio

Calcolo Numerico (A.A ) Esercitazione n. 9. Metodo del punto unito, Metodo di Newton per sistemi

1 Successioni di funzioni

Corso di Calcolo Numerico

Metodi iterativi per sistemi lineari

RISOLUZIONE APPROSSIMATA DI UN EQUAZIONE

Continuità di funzioni

Metodi iterativi per la soluzione di sistemi lineari: Jacobi e Gauss-Seidel

Quale delle seguenti rappresentazioni del numero reale è in virgola mobile normalizzata?

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a Prof. B.Paternoster

Matlab. Vettori, funzioni matematiche e grafici.

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Corso di Calcolo Numerico

Tutorato di Complementi di Analisi Matematica e Statistica Parte di Analisi 6 e 10 aprile 2017

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Esercizi svolti. a 2 x + 3 se x 0; determinare a in modo che f risulti continua nel suo dominio.

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

Corso di Analisi Matematica. Polinomi e serie di Taylor

EQUAZIONI NONLINEARI

Università degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica

Annamaria Mazzia. Corso di Metodi Numerici per l Ingegneria dispense e altro materiale su

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

1 Successioni di funzioni

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

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

Programmazione Matlab

Laboratorio di Matematica Computazionale A.A Lab. 3

Prova di ammissione al Dottorato di Ricerca in Matematica XXVIII ciclo. Universitá del Salento, 9 Aprile 2013

IL METODO DI NEWTON E LE SUE VARIANTI PER SISTEMI DI EQUAZIONI NON LINEARI

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Autovalori ed autovettori di una matrice

Appunti dalle lezioni di Calcolo Numerico

PROBLEMI NON-LINEARI NEL CALCOLO STRUTTURALE

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

TEMI D ESAME DI ANALISI MATEMATICA I

Progetto di Geometria Computazionale: simulazione del movimento ondoso di un fluido utilizzando Kass e Miller

SERIE NUMERICHE FAUSTO FERRARI

Funzioni derivabili (V. Casarino)

Esercitazione di Analisi Matematica I Esercizi e soluzioni 19/04/2013 TOPOLOGIA

Laboratorio di Calcolo Numerico

Alcuni Teoremi sulle funzioni continue e uniforme continuità

Soluzione del laboratorio 13 Formule di quadratura

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Corso di Laurea in Ingegneria Informatica Anno Accademico 2012/2013 Analisi Matematica 1

Transcript:

Metodi iterativi per equazioni nonlineari. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 9 aprile 2016 Alvise Sommariva Introduzione 1/ 14

Introduzione Si supponga sia f : [a, b] R una funzione continua, e si supponga di sapere che esiste x [a, b] tale che f (x ) = 0. Di seguito introdurremo due metodi per il calcolo di un tale x, e più esattamente il metodo di metodo di bisezione, che utilizza solo valori di f, il metodo di Newton, che utilizza valori di f e f (1), qualora la funzione f C (1) ([a, b]). Alvise Sommariva Introduzione 2/ 14

Metodo di bisezione Si supponga sia f : [a, b] R una funzione continua tale che f (a) f (b) < 0. E noto che per il teorema degli zeri (di Bolzano), esiste almeno un punto x tale che f (x ) = 0. Per approssimare x utilizziamo il metodo di bisezione. Definizione (Metodo di bisezione) Il metodo di bisezione genera una successione di intervalli (a k,b k ) con f (a k ) f (b k ) < 0, [a k, b k ] [a k 1, b k 1 ], b k a k = 1 2 b k 1 a k 1. Fissate la tolleranza ɛ, si arresta l algoritmo quando b k a k ɛ. Alvise Sommariva Introduzione 3/ 14

Metodo di bisezione Operativamente, dati in input la funzione f, i punti iniziali a, b con a b e f (a) f (b) < 0, la tolleranza toll, il numero massimo di iterazioni da compiere nmax, posto a 1 = a, b 1 = b, alla k-sima iterazione calcola c k = (a k + b k )/2; 1 se f (a k ) f (c k ) > 0 pone a k+1 = c k, b k+1 = b k ; 2 se f (a k ) f (c k ) < 0 pone a k+1 = a k, b k+1 = c k ; 3 se f (a k ) f (c k ) = 0 pone a k+1 = c k, b k+1 = c k ; termina il processo se le condizioni d arresto sono verificate, cioè sono state svolte almeno nmax iterazioni o b k a k toll. Alvise Sommariva Introduzione 4/ 14

Metodo di bisezione: pseudo codice Di seguito un pseudo-codice del metodo di bisezione che si arresta quando l ampiezza dell ultimo intervallo è inferiore alla soglia di tolleranza. [x, n] = Bisezione (f, a, b, toll, nmax) n = -1 amp = toll + 1 fa = f(a) while (amp >= toll) and (n < nmax) do n = n + 1 amp = b - a x = a + amp * 0.5 fx = f(x) if fa * fx < 0 then b = x else if fa * fx > 0 then a = x fa = fx else amp = 0 end if end while Alvise Sommariva Introduzione 5/ 14

Esercizio: metodo di bisezione Esercizio Si implementi in Matlab/Octave, nel file bisezfun.m il metodo di Newton, utilizzando l intestazione function [xv, fxv, n] = bisezfun (f, a, b, toll, nmax) % BISEZFUN Metodo di Bisezione % % Uso: % [xv, fxv, n] = bisezfun(f, a, b, toll, nmax) % % Dati di ingresso: % f: funzione (inline function) % a: estremo sinistro % b: estremo destro % toll: tolleranza richiesta per l ampiezza dell intervallo % nmax: massimo indice dell iterata permesso % % Dati di uscita: % xv: vettore contenente le iterate % fxv: vettore contenente i corrispondenti residui % n: indice dell iterata finale calcolata Alvise Sommariva Introduzione 6/ 14

Metodo di Newton Supponiamo che f sia derivabile con continuità su un intervallo [a, b] R f (1) (x) sia la derivata prima di f valutata nel generico punto x. Osserviamo che se x è uno zero di f in [a, b], se f è sufficientemente regolare in [a, b], allora dalla formula di Taylor centrata in x k [a, b], per un certo ξ k che sta nel più piccolo intervallo aperto contentente x k, x, abbiamo 0 = f (x ) = f (x k ) + f (1) (x k )(x x k ) + f (2) (ξ k )(x x k ) 2 2 Alvise Sommariva Introduzione 7/ 14

Metodo di Newton Da 0 = f (x ) = f (x k ) + f (1) (x k )(x x k ) + f (2) (ξ k )(x x k ) 2 tralasciando i termini di ordine superiore, ricaviamo 0 f (x k ) + f (1) (x k )(x x k ) e quindi se f (1) (x k ) 0, dopo facili conti, esplicitando la x x x k f (x k) f (1) (x k ) := x k+1. 2 Alvise Sommariva Introduzione 8/ 14

Metodo di Newton Definizione (Metodo di Newton) Il metodo di Newton genera la successione x k+1 = x k + h k, h k = f (x k) f (1), k = 0, 1,... (1) (x k ) supposto che sia f (1) (x k ) 0 per k = 0, 1,.... Alvise Sommariva Introduzione 9/ 14

Metodo di Newton Teorema (Convergenza locale (caso radici semplici)) Sia f C (2) ([a, b]); sia x una radice semplice di f (ovvero f (x ) = 0 e e f (1) (x ) 0). Esiste un intorno U di centro x e raggio δ tale che, se x 0 appartiene a tale intorno U, allora la successione delle iterate {x k } k N converge ad x ed ha almeno ordine di convergenza 2, cioè lim n x n+1 x x n x 2 = C 0. In particolare, si dimostra che C = f (2) (x ) 2 f (1) (x ). Alvise Sommariva Introduzione 10/ 14

Metodo di Newton Esempio Si consideri la funzione f (x) = x 2 1 + exp( x) definita in ( e, + ). Si vede facilmente che f (1) (x) = 2x exp( x). Se uno zero di f fosse multiplo, allora per definizione, x 2 1 + exp( x) = 0, 2x exp( x) = 0 e quindi exp( x) = 2x. Sostituendo exp( x) = 2x in x 2 1 + exp( x) = 0 otteniamo che x 2 1 + 2x = 0, che ha radici 1 ± 2. Ma f (1 + 2) 0.6848 f ( 1 2) 4.9179 e quindi f non ha zeri multipli. D altra parte x = 0 è uno zero di f, che quindi è semplice (in effetti f (1) (0) = 1). Alvise Sommariva Introduzione 11/ 14

Metodo di Newton Nota. Il precedente teorema, talvolta tradisce le attese. A priori non è noto l intervallo U = B(x, δ). Nonostante la convergenza quadratica, la costante C può essere grande e quindi il metodo potrebbe richiedere più iterate di quanto si possa credere per arrivare a soddisfare un criterio di arresto. Bisogna esplicitamente conoscere la derivata f (1), che a volte può essere di difficile valutazione. Per queste ragioni, talvolta risulta conveniente utilizzare varianti del metodo di Newton, quali ad esempio il metodo delle secanti, potenzialmente aventi un ordine di convergenza inferiore. Alvise Sommariva Introduzione 12/ 14

Metodo di Newton: pseudo codice Di seguito un pseudo-codice del metodo di Newton che si arresta quando la differenza tra due iterate successive è inferiore alla soglia di tolleranza. [xn,n,flag]=newton(f,f1,x0,toll,nmax) n=0; flag=0; step=toll+1; while (step >= toll) & (n < nmax) & (flag == 0) do if f1(x(n)) == 0 then flag=1; else step=-f(x(n))/f1(x(n)); xn(n+1)=xn(n)+step; step=abs(step); n=n+1; end if end while Alvise Sommariva Introduzione 13/ 14

Esercizio: metodo di Newton Esercizio Si implementi in Matlab/Octave, nel file newtonfun.m il metodo di Newton, utilizzando l intestazione function [xv, fxv, n, flag] = newtonfun (f, f1, x0, toll, nmax) % NEWTONFUN Metodo di Newton % Uso: % [xv, fxv, n, flag] = newtonfun (f, f1, x0, toll, nmax) % % Dati di ingresso: % f: funzione % f1: derivata prima % x0: valore iniziale % toll: tolleranza richiesta per il valore assoluto % della differenza di due iterate successive % nmax: massimo numero di iterazioni permesse % % Dati di uscita: % xv: vettore contenente le iterate % fxv: vettore contenente i corrispondenti residui % n: numero di iterazioni effettuate % flag: Se flag = 1 la derivata prima si e annullata Alvise Sommariva Introduzione 14/ 14