Il procedimento termina quando il compito si riduce al caso base, cioè quando n vale 1.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il procedimento termina quando il compito si riduce al caso base, cioè quando n vale 1."

Transcript

1 Si tramanda che in un antico tempio orientale i monaci tentassero di spostare una serie di dischi da un paletto ad un altro. Nel paletto iniziale erano infilati 64 dischi, disposti in ordine decrescente di dimensione e i monaci dovevano trasferire la pila su un altro paletto, spostando un disco per volta e non potendo mai mettere un disco più largo su uno più piccolo. I monaci avevano a disposizione un terzo paletto, sul quale spostare temporaneamente i dischi. Supponiamo che i monaci volessero spostare i dischi dal paletto 1 a quello 3, vogliamo sviluppare un algoritmo che visualizzi la sequenza precisa degli spostamenti da paletto a paletto. Se dovessimo scegliere un approccio convenzionale ci troveremmo in difficoltà! Se affrontiamo il problema utilizzando la ricorsione, diventa più facilmente trattabile: lo spostamento di n dischi si può vedere in termini dello spostamento di soli n-1 dischi (da cui la ricorsione): a) Spostare n-1 dischi dal paletto 1-(i) a quello 2-(f), utilizzando il paletto 3-(t) come area temporanea. b) Spostare l ultimo disco (il più grande) dal paletto 1 a quello 3. c) Spostare n-1 dischi dal paletto 2 a quello 3, utilizzando il paletto 1 come area temporanea. Il procedimento termina quando il compito si riduce al caso base, cioè quando n vale 1.

2 #include <iostream.h> #include <stdlib.h> #include <iomanip.h> void hanoi(int n,int inizio,int fine,int temp); main() { hanoi(7,1,3,2); system("pause"); // definizione ricorsiva della funzione hanoi void hanoi(int n, int inizio,int fine,int temp) { if (n==1) cout <<" "<<inizio<<"->"<<fine<<'\n'; else { hanoi(n-1,inizio,temp,fine); cout <<" "<<inizio<<"->"<<fine<<'\n'; hanoi(n-1,temp,fine,inizio); ;

3 3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 Premere un tasto per continuare > > > > > > > >3 2->3 2->1 3->1 2->3 1->2 1->3 2->3 Premere un tasto per continuare...

4 5 1->3 1->2 3->2 1->3 2->1 2->3 1->3 1->2 3->2 3->1 2->1 3->2 1->3 1->2 3->2 1->3 2->1 2->3 1->3 2->1 3->2 3->1 2->1 2->3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 Premere un tasto per continuare...

5 7 1->3 1->2 3->2 1->3 2->1 2->3 1->3 1->2 3->2 3->1 2->1 3->2 1->3 1->2 3->2 1->3 2->1 2->3 1->3 2->1 3->2 3->1 2->1 2->3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 1->2 3->2 3->1 2->1 3->2 1->3 1->2 3->2 3->1 2->1 2->3 1->3 2->1 3->2 3->1 2->1 3->2 1->3 1->2 3->2 1->3 2->1 2->3 1->3 1->2 3->2 3->1 2->1 3->2 1->3 1->2 3->2 1->3 2->1 2->3 1->3 2->1 3->2 3->1 2->1 2->3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 2->1 3->2 3->1 2->1 3->2 1->3 1->2 3->2 3->1 2->1 2->3 1->3 2->1 3->2 3->1 2->1 2->3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 1->2 3->2 3->1 2->1 3->2 1->3 1->2 3->2 1->3 2->1 2->3 1->3 2->1 3->2 3->1 2->1 2->3 1->3 1->2 3->2 1->3 2->1 2->3 1->3 Premere un tasto per continuare...

6 #include <iostream.h> #include <stdlib.h> #include <iomanip.h> double pigreco(int number); main() { cout <<" pigreco = "<<4.*pigreco(1)<<'\n'; system("pause"); // def ricorsiva della funzione pigreco double pigreco(int number) { double segno,t,epslon= ; segno = +1; if ( number%2==0 ) segno = -1; T = segno /(number*2-1); if (fabs(t)<epslon) return T; else return T+pigreco(number + 1); pigreco= Premere un tasto per continuare...

7 #include <iostream.h> #include <stdlib.h> #include <iomanip.h> main() { double e=1.e-06, t=1.0, s=1.0, p4=0.0 ; int i=1; while (fabs(t)>e) { t = s/(2.*i-1.); //cout <<" t= "<<t<<'\n'; p4 = p4 +t; s = -s; i = i+1; cout <<" i= "<<i <<'\n'; cout <<" pigreco= "<<4.*p4 <<'\n'; system("pause"); i= pigreco= Premere un tasto per continuare...

8 // newton #include<iostream.h> #include<math.h> #include<iomanip.h> double const eps=1.0e-06; double fun(double t); double defun(double r); double zero(double &x0,double &x1); int main() {double zz,x1=0.,x0=0.; zz=zero(x0,x1); cout <<" Lo ZERO di f(x) si ha per x= "<< zz << endl; system( PAUSE ); return 0;

9 double zero(double &x0,double &x1) { do { x0 = x1; x1 = x0-fun(x0)/defun(x0); cout << setprecision (8)<<"x0="<<x0<<"\tx1=\t" <<x1; cout <<" \t x1-x0 =\t" << fabs(x1-x0) << endl; while (fabs(x1-x0) > eps); return x1; double fun(double x) { double fx; fx = exp(-x)-x*x; return fx; double defun(double x) { double fx1; fx1 = -exp(-x)-2.*x; return fx1;

10 x0=0 x1= 1 x1-x0 = 1 x0=1 x1= x1-x0 = x0= x1= x1-x0 = x0= x1= x1-x0 = x0= x1= x1-x0 = e-08 Lo ZERO di f(x) si ha per x= Premere un tasto per continuare...

11 #include <iostream.h> // bisezione 1 // #include <stdlib.h> #include <math.h> #include<iomanip.h> main() { double a,b, x,y, ya,yb; double const eps=1.0e-06; a=0.0; //valore minimo dell'intervallo b=1.0; // valore massimo dell'intervallo ya=exp(-a)-a*a; // calcolo della f(a) yb=exp(-b)-b*b; // calcolo della f(b) if ((ya*yb)<0.0) { cout <<" possibile"<<'\n'; else { cout <<" errato "<<'\n';; do { x = (a+b)*0.5; // a meta' tra a e b y = exp(-x)-x*x; // calcolo f(x) if ((ya*y)>0) { a = x; ya=y; // cambia a else { b = x; ;// cambia b cout <<setprecision (7)<<",u="<<a; cout <<",v="<<b<<",y="<<y<<",ya="<<ya; cout <<"\t, u-v "<<fabs(a-b)<<'\n'; while (fabs(a-b)>eps); cout <<"soluzione="<< x << endl; system("pause");

12 calcolo della radice possibile u=0.5,v=1,y= ,ya= , u-v 0.5 u=0.5,v=0.75,y= ,ya= , u-v 0.25 u=0.625,v=0.75,y= ,ya= , u-v u=0.6875,v=0.75,y= ,ya= , u-v u=0.6875,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= ,ya= , u-v u= ,v= ,y= e-05,ya= , u-v u= ,v= ,y= e-05,ya= e-05, u-v e-05 u= ,v= ,y= e-05,ya= e-05, u-v e-05 u= ,v= ,y= e-05,ya= e-05, u-v e-05 u= ,v= ,y= e-06,ya= e-05, u-v e-06 u= ,v= ,y= e-06,ya= e-06, u-v e-06 u= ,v= ,y= e-06,ya= e-06, u-v e-06 u= ,v= ,y= e-07,ya= e-07, u-v e-07 soluzione= Premere un tasto per continuare...

13 EQUAZIONI NON LINERARI Alcuni problemi di matematica conducono ad equazioni non lineari del tipo f(x)=0 di cui non si conosce la soluzione analitica delle soluzioni; pertanto sono indispensabili dei metodi numerici che conducano alla individuazione delle radici. Quando l equazione non lineare f(x) ad una incognita soddisfa il teorema di esistenza degli zeri, ossia è reale e continua in un intervallo chiuso e limitato [a,b] ed assume valori di segno opposto agli estremi dell intervallo, possono essere usati alcuni metodi iterativi per individuare la soluzione. Infatti se una funzione f(x) reale e continua in un intervallo chiuso e limitato [a,b] assume valori di segno opposto agli estremi dell intervallo, (ovvero f(a) * f(b) < 0) allora esiste sicuramente un punto x, detto zero della funzione, interno all intervallo [a,b] in cui f(x) assume il valore 0, che rappresenta la radice dell equazione f(x) = 0.

14 METODO DI BISEZIONE Il metodo di bisezione è il metodo iterativo più semplice e sicuramente convergente per calcolare le radici di un equazione non lineare f(x) reale e continua in un intervallo chiuso e limitato [a,b] che assuma valori di segno opposto agli estremi dell intervallo. Il metodo di bisezione consiste nel considerare il punto medio x m =(a + b)/2 dell intevallo [a,b] e verificare se x m è una radice. Per verificare questa condizione, non si controlla se f (x m ) = 0, ma (poiché si lavora con i numeri reali) se f (x m ) < p, ove p rappresenta la precisione scelta. Se x m non è una radice si valuta il segno del prodotto f(a)*f(x m ) e si procede allo stesso modo nel sottointervallo [a, x m ] se il segno è negativo, o nel sottointervallo [x m,b] se è positivo.

15

16 La valutazione numerica della radice avviene tramite la costruzione di una opportuna successione di valori {xi, tale che risulti: lim {xn = x ove x [a,b] e f (x ) = 0 n La successione {xi dei valori ottenuti dipende dal procedimento iterativo applicato..

17 Naturalmente iterando il procedimento si genera una successione di termini {xi, ciascuno dei quali rappresenta l intersezione con l asse X della retta individuata dai punti di coordinate (a, segno f(a)) e (b, segno f(b)) che solo sotto le ipotesi fatte converge sicuramente alla radice richiesta. Il metodo di bisezione, come risulta osservando la figura ad ogni iterazione dimezza l intervallo contenente la radice che viene calcolata con la precisione desiderata. Il punto di forza di questo metodo è nella sua semplicità e sicura convergenza, il suo punto debole è invece nella scarsa efficienza rispetto agli altri metodi infatti poiché ad ogni passo viene dimezzato l intervallo contenente la radice, pertanto richiede un numero elevato di iterazioni

18

19

20

21

22

Introduzione all uso delle funzioni in C++

Introduzione all uso delle funzioni in C++ Introduzione all uso delle funzioni in C++ Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, 00133 Roma (Italy), basili@info.uniroma2.it January 24,

Dettagli

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

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Risoluzione di Equazioni non lineari Sia F C 0 ([a, b]), cioé F è una funzione continua in un intervallo [a, b] R, tale che F(a)F(b) < 0 1.5 1 F(b) 0.5 0 a

Dettagli

Claudio Estatico Equazioni non-lineari

Claudio Estatico Equazioni non-lineari Claudio Estatico (claudio.estatico@uninsubria.it) Equazioni non-lineari 1 Equazioni non-lineari 1) Equazioni non-lineari e metodi iterativi. 2) Metodo di bisezione, metodo regula-falsi. 3) Metodo di Newton.

Dettagli

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

Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di Problema Cercare la soluzione di Equazioni non lineari dove Se è soluzione dell equazione, cioè allora si dice RADICE o ZERO della funzione Metodo grafico Graficamente si tratta di individuare l intersezione

Dettagli

Metodi di Iterazione Funzionale

Metodi di Iterazione Funzionale Appunti di Matematica Computazionale Lezione Metodi di Iterazione Funzionale Il problema di calcolare il valore per cui F() = si può sempre trasformare in quello di trovare il punto fisso di una funzione

Dettagli

Metodi Numerici per l Approssimazione degli Zeri di una Funzione

Metodi Numerici per l Approssimazione degli Zeri di una Funzione Metodi Numerici per l Approssimazione degli Zeri di una Funzione Luca Gemignani luca.gemignani@unipi.it 29 marzo 2018 Indice Lezione 1: Il Metodo di Bisezione. 1 Lezione 2: Metodi di Iterazione Funzionale.

Dettagli

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

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1 Politecnico di Milano Corso di Analisi e Geometria 1 Federico Lastaria federico.lastaria@polimi.it Il Metodo di Newton, o delle Tangenti 6 Novembre 2016 Indice 1 Metodo di Newton, o delle tangenti 2 1.1

Dettagli

Equazioni e sistemi non lineari

Equazioni e sistemi non lineari Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson

Dettagli

Calcolo Numerico Laurea di base in Ingegneria Elettronica e delle Telecomunicazioni

Calcolo Numerico Laurea di base in Ingegneria Elettronica e delle Telecomunicazioni Calcolo Numerico Laurea di base in Ingegneria Elettronica e delle Telecomunicazioni Prof.ssa L. Pezza (A.A. 2017-2018) IV Lezione del 13.03.2018 http://www.dmmm.uniroma1.it/ laura.pezza 1 Equazioni non

Dettagli

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

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni Prof.ssa Laura Pezza (A.A. 2017-2018) III Lezione del 12.03.2018 http://www.dmmm.uniroma1.it/ laura.pezza 1 I metodi

Dettagli

Come usare la ricorsione

Come usare la ricorsione Laboratorio di Algoritmi e Strutture Dati Aniello Murano www.dia.unisa.it/dottorandi/murano 1 Come usare la ricorsione 2 1 Risolvere un problema per ricorsione 1. Pensa ad un problema piu piccolo (di taglia

Dettagli

Equazioni e sistemi non lineari

Equazioni e sistemi non lineari Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson

Dettagli

RISOLUZIONE APPROSSIMATA DI UN EQUAZIONE

RISOLUZIONE APPROSSIMATA DI UN EQUAZIONE RISOLUZIONE APPROSSIMATA DI UN EQUAZIONE Introduzione Si vogliano individuare, se esistono, le radici o soluzioni dell equazione f(x)=0. Se f(x) è un polinomio di grado superiore al secondo o se è una

Dettagli

MATLAB:Metodi Numerici per zeri di funzioni.

MATLAB:Metodi Numerici per zeri di funzioni. 1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB:Metodi Numerici per zeri di funzioni Metodo delle successive bisezioni Sappiamo che la procedura definita dal

Dettagli

Laboratorio di Calcolo Numerico

Laboratorio di Calcolo Numerico Laboratorio di Calcolo Numerico M.R. Russo Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata A.A. 2009/2010 Equazioni non lineari Data una funzione consideriamo il problema

Dettagli

Metodi iterativi per equazioni nonlineari.

Metodi iterativi per equazioni nonlineari. 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

Dettagli

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

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni Prof.ssa Laura Pezza (A.A. 2016-2017) IV Lezione del 06.03.2017 http://www.dmmm.uniroma1.it/ laura.pezza 1 Equazioni

Dettagli

Daniela Lera A.A

Daniela Lera A.A Daniela Lera Università degli Studi di Cagliari Dipartimento di Matematica e Informatica A.A. 2016-2017 Problemi non lineari Definizione f : R R F : R n R m f (x) = 0 F(x) = 0 In generale si determina

Dettagli

La ricerca delle radici approssimate è composta da:

La ricerca delle radici approssimate è composta da: Zeri di una funzione Ricerca delle (eventuali) radici reali di una funzione che si supporrà definita e continua in un certo intervallo dell'asse x La ricerca delle radici approssimate è composta da: 1)

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 3-24/3/2014

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 3-24/3/2014 Complementi di Matematica e Calcolo Numerico A.A. 2012-2013 Laboratorio 3-24/3/2014 Equazioni non lineari (fzero) Sia f : R R una funzione che ammette una radice α, ovvero t.c. f(α) = 0. Possiamo utilizzare

Dettagli

radici reali li d i di una funzione cal ca co co o l o d i d u i n v n v l a o l r o e e appr app oss oss ato ato miglioramento

radici reali li d i di una funzione cal ca co co o l o d i d u i n v n v l a o l r o e e appr app oss oss ato ato miglioramento Zeri di una funzione Ricerca delle (eventuali) radici i reali di una funzione che si supporrà definita e continua in un certo intervallo dell'asse x La ricerca delle radici approssimate è composta da:

Dettagli

Zeri di una funzione. Funzioni continue - Proprietà. certo intervallo dell'asse x. da: a ξ. cui f(x)=0. precisione desiderata (iterazione( iterazione)

Zeri di una funzione. Funzioni continue - Proprietà. certo intervallo dell'asse x. da: a ξ. cui f(x)=0. precisione desiderata (iterazione( iterazione) Zeri di una funzione Ricerca delle (eventuali) radici reali di una funzione che si supporrà definita e continua in un certo intervallo dell'asse x La ricerca delle radici approssimate e' composta da: 1)

Dettagli

Algoritmi in C++ (seconda parte)

Algoritmi in C++ (seconda parte) Algoritmi in C++ (seconda parte) Introduzione Obiettivo: imparare a risolvere problemi analitici con semplici programmi in C++. Nella prima parte abbiamo imparato: generazione di sequenze di numeri casuali

Dettagli

Metodi per la ricerca degli zeri

Metodi per la ricerca degli zeri Chapter 5 Metodi per la ricerca degli zeri 5.1 Introduzione In questo capitolo ci occuperemo della soluzione di equazioni del tipo f(x) = 0 (5.1) dove f è una funzione a valori reali della variabile reale

Dettagli

Complementi di Matematica A.A Laboratorio 10

Complementi di Matematica A.A Laboratorio 10 Complementi di Matematica A.A. 2016-2017 Laboratorio 10 Equazioni non lineari (fzero) Sia f : R R una funzione che ammette una radice α, ovvero t.c. f(α) = 0. Possiamo utilizzare la funzione predefinita

Dettagli

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

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III) Derivazione numerica Introduzione al calcolo numerico Il calcolo della derivata di una funzione in un punto implica un processo al limite che può solo essere approssimato da un calcolatore. Supponiamo

Dettagli

INTRODUZIONE AL C++ CLASSIFICAZIONE

INTRODUZIONE AL C++ CLASSIFICAZIONE INTRODUZIONE AL C++ 1 CLASSIFICAZIONE LINGUAGGI CHE OPERANO SU DATI OMOGENEI: FORTRAN77, LINGUAGGIO C, LINGUAGGIO C++, PASCAL: operano solo su DATI OMOGENEI (integer, float, double), senza classi e puntatori;

Dettagli

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case

Dettagli

1 Esercizi relativi al Capitolo 1

1 Esercizi relativi al Capitolo 1 1 Esercizi relativi al Capitolo 1 1. (a) x = 7; (b) (x) 4 = (32.1) 4 = (14.25) 10 ; (c) x = 5; (d) (200) x = (18) 10 ; x = 3; y = (11330) 8 = (4824) 10 ; (e) x = 2882.125; y = 231002.02; (f) (x) 3 = (12122.1012)

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4-23/3/2015

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4-23/3/2015 Complementi di Matematica e Calcolo Numerico A.A. 2014-2015 Laboratorio 4-23/3/2015 Equazioni non lineari (fzero) Sia f : R R una funzione che ammette una radice α, ovvero t.c. f(α) = 0. Possiamo utilizzare

Dettagli

Programmazione ricorsiva.

Programmazione ricorsiva. In quasi tutti i linguaggi di programmazione evoluti è ammessa la possibilità di definire funzioni/procedure ricorsive: durante l esecuzione di una funzione F è possibile chiamare la funzione F stessa.

Dettagli

Programmazione ricorsiva: cenni

Programmazione ricorsiva: cenni In quasi tutti i linguaggi di programmazione evoluti è ammessa la possibilità di definire funzioni/procedure ricorsive: durante l esecuzione di una funzione F è possibile chiamare la funzione F stessa.

Dettagli

CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica, delle Comunicazioni

CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica, delle Comunicazioni CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica, delle Comunicazioni Prof.ssa Laura Pezza (A.A. 2017-2018) V Lezione del 15.03.2018 http://www.dmmm.uniroma1.it/ laura.pezza 1 Metodo di Newton:

Dettagli

L organizzazione dei programmi

L organizzazione dei programmi L organizzazione dei programmi Lo sviluppo top-down L.S. Touschek - A.S. 2015/2016 - I fondamenti del Linguaggio C F. Cardarelli Lo sviluppo top-down I problemi complessi Blocco 1 Istruzione 1 Istruzione

Dettagli

Metodi per il calcolo degli zeri di funzioni non lineari

Metodi per il calcolo degli zeri di funzioni non lineari Metodi per il calcolo degli zeri di funzioni non lineari N. Del Buono 1 Introduzione Le radici di un equazione non lineare f(x) = 0 non possono, in generale, essere espresse esplicitamente e anche quando

Dettagli

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Definizione informale: la ricorsione è un procedimento mediante il quale

Dettagli

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Definizione informale: la ricorsione è un procedimento mediante il quale

Dettagli

Ricorsione. Libro cap. 5 (da 5.14 in poi)

Ricorsione. Libro cap. 5 (da 5.14 in poi) Libro cap. 5 (da 5.14 in poi) Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Definizione informale: la ricorsione è un

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE RICORSIONE E METODI RICORSIVI DISPENSA 07.03 07-03_Ricorsione_[ver_16] Questa dispensa è rilasciata sotto la licenza Creative Common

Dettagli

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A. 5-6 Corso di CALCOLO NUMERICO / ANALISI NUMERICA : Esempi di esercizi svolti in aula 5//5 ) Dato un triangolo, siano a, b le lunghezze di

Dettagli

Laboratorio di Informatica L-A 1

Laboratorio di Informatica L-A 1 Funzioni e Ricorsione La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa È basata sul principio di induzione matematica: se una proprietà P vale per n=n 0 e si può

Dettagli

Relazione di laboratorio di Analisi Numerica: metodi di ricerca zeri

Relazione di laboratorio di Analisi Numerica: metodi di ricerca zeri Relazione di laboratorio di Analisi Numerica: metodi di ricerca zeri Francesco Genovese, Università di Pavia 8 febbraio 2008 Sommario Questa relazione di laboratorio di Analisi Numerica (corso dell A.A.

Dettagli

La determinazione delle radici in forma chiusa non è sempre possibile (già per polinomi di ordine 5 non è generalmente possibile).

La determinazione delle radici in forma chiusa non è sempre possibile (già per polinomi di ordine 5 non è generalmente possibile). SOLUZIONE DI EQUAZIONI NON-LINEARI Molti problemi sono espressi nella forma f(x) = 0 con f(x) funzione non lineare (es. log(x 2 + a) + b cos x = 0, x 5 + ax 3 + b = 0) La determinazione delle radici in

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Metodi Numerici con elementi di Programmazione (A.A )

Metodi Numerici con elementi di Programmazione (A.A ) Metodi Numerici con elementi di Programmazione (A.A. 2013-2014) Metodi Numerici Appunti delle lezioni: Sistemi non lineari Docente Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A.

Dettagli

SUCCESSIONI E SERIE NUMERICHE E DI FUNZIONI

SUCCESSIONI E SERIE NUMERICHE E DI FUNZIONI SERIE NUMERICHE Si consideri una successione di elementi. Si definisce serie associata ad la somma Per ogni indice della successione, si definisce successione delle somme parziali associata a la somma

Dettagli

Ricorsione. La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa

Ricorsione. La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa Funzioni e Ricorsione La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa È basata sul principio di induzione matematica: se una proprietà P vale per n=n 0 e si può

Dettagli

17. Zeri di una funzione continua: esercizi

17. Zeri di una funzione continua: esercizi 7. Zeri di una funzione continua: esercizi Esercizio 7.4. Dimostrare che le seguenti equazioni. e x x =,. x + x = 0,. x = x + x, 4. x( x ) = x, hanno un unica soluzione x 0 R e calcolarne un valore approssimato

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Funzioni e Ricorsione

Funzioni e Ricorsione Funzioni e Ricorsione La ricorsione consiste nella possibilità di definire una funzione in termini di se stessa Nel codice di una funzione ricorsiva compare una (o più di una) chiamata alla funzione stessa

Dettagli

IL CALCOLO NUMERICO PER IL TAEG Definizioni e relazioni per l impostazione del calcolo alla base dei finanziamenti

IL CALCOLO NUMERICO PER IL TAEG Definizioni e relazioni per l impostazione del calcolo alla base dei finanziamenti IL CALCOLO NUMERICO PER IL TAEG Definizioni e relazioni per l impostazione del calcolo alla base dei finanziamenti Mario Marobin Aprile 2018 PREMESSA...2 FORMULA DI CALCOLO...2 GENESI FORMULA DI CALCOLO...2

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Risoluzione di Equazioni Algebriche Le equazioni

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Laurea in Ingegneria Gestionale Sede di Fermo Corso di 2 - EQUAZIONI NON LINEARI Introduzione Problema: trovare le soluzioni di un equazione del tipo f() = 0 Esempio sin a = 0 e = 3 1.0 2.0 0.5

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Programmazione II Università di Roma "La Sapienza" Appunti a cura della Prof.ssa FACHINI. Ricorsione per il "problem solving" Il problema del cambio.

Programmazione II Università di Roma La Sapienza Appunti a cura della Prof.ssa FACHINI. Ricorsione per il problem solving Il problema del cambio. Programmazione II Università di Roma "La Sapienza" Appunti a cura della Prof.ssa FACHINI Ricorsione per il "problem solving" Il problema del cambio. Consideriamo il problema di determinare in quanti modi

Dettagli

Calcolo Numerico con elementi di programmazione

Calcolo Numerico con elementi di programmazione Calcolo Numerico con elementi di programmazione (A.A. 2014-2015) Appunti delle lezioni sui metodi per la soluzione di sistemi di equazioni non lineari Sistemi di equazioni non lineari Un sistema di equazioni

Dettagli

CORREZIONE DEL COMPITO IN CLASSE DI MATEMATICA

CORREZIONE DEL COMPITO IN CLASSE DI MATEMATICA CORREZIONE DEL COMPITO IN CLASSE DI MATEMATICA n. (8 dicembre 009) PROBLEMA Punto a b = ( f '( ) = 0 a( b( (*) = a( b( da cui: a b a 9b = = 5 5 5 5 a 9 5 passaggio per, a 5 = 5 5 5 6 f ' uguale a zero

Dettagli

Programmazione ricorsiva: cenni

Programmazione ricorsiva: cenni In quasi tutti i linguaggi di programmazione evoluti è ammessa la possibilità di definire funzioni/procedure ricorsive: durante l esecuzione di una funzione F è possibile iamare la funzione F stessa. Ciò

Dettagli

Esonero di Analisi Matematica II (A)

Esonero di Analisi Matematica II (A) Esonero di Analisi Matematica II (A) Ingegneria Edile, 8 aprile 3. Studiare la convergenza del seguente integrale improprio: + x log 3 x (x ) 3 dx.. Studiare la convergenza puntuale ed uniforme della seguente

Dettagli

Equazioni non lineari

Equazioni non lineari Equazioni non lineari Introduzione In molte applicazioni intervengono equazioni che non siamo in grado di risolvere analiticamente, o la cui risoluzione risulta molto complessa e laboriosa. Un importante

Dettagli

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

f(x) = x e x, prendere come intervallo iniziale [0, 1] e fissare come precisione ε = 10 8. Esercitazione 7 Argomento: Il metodo delle successive bisezioni Scopo: Implementare il metodo delle successive bisezioni per la soluzione di equazioni non lineari. function [alfa,iter]=bisez(f,a,b,epsilon)

Dettagli

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:

Dettagli

Lezione 8 programmazione in Java. Anteprima. La ricorsione. Nicola Drago Dipartimento di Informatica Università di Verona

Lezione 8 programmazione in Java. Anteprima. La ricorsione. Nicola Drago Dipartimento di Informatica Università di Verona Lezione 8 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Programmazione ricorsiva Fattoriale Somma di n numeri Torre di Hanoi Array

Dettagli

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

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011 Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011 L esame consiste di 4 domande aperte e 10 esercizi a risposta multipla. Per gli esercizi ci sono

Dettagli

TEMI D ESAME DI ANALISI MATEMATICA I

TEMI D ESAME DI ANALISI MATEMATICA I TEMI D ESAME DI ANALISI MATEMATICA I Corso di laurea quadriennale) in Fisica a.a. 003/04 Prova scritta del 3 aprile 003 ] Siano a, c parametri reali. Studiare l esistenza e, in caso affermativo, calcolare

Dettagli

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale

Dettagli

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici C. Vergara 2. Determinazione numerica degli zeri di una funzione Si consideri il seguente problema: Data f : [a, b] R, determinare i valori

Dettagli

Fondamenti di Informatica, A.A Compito A

Fondamenti di Informatica, A.A Compito A Fondamenti di Informatica, A.A. 2013-2014 - Compito A 30/07/2014 Prova Pratica L integrale definito di una funzione continua su un intervallo chiuso e limitato può essere calcolato con la regola dei trapezi

Dettagli

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari Cancellazione numerica e zeri di funzione Dott. Marco Caliari PLS a.s. 01 013 Capitolo 1 Aritmetica floating point 1.1 I numeri macchina Data la capacità finita di un calcolatore, solo alcuni dei numeri

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Elementi di Programmazione in C++

Elementi di Programmazione in C++ Chapter 1 Elementi di Programmazione in C++ 1.1 C++: Elementi di Base cat example05.design Comportamento: Il programma dovrebbe invitare l utente a immettere il raggio di un cerchio

Dettagli

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Ricorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright 2017, 2018 Moreno Marzolla http://www.moreno.marzolla.name/teaching/finfa/

Dettagli

Introduzione al C. Esercitazione 2bis. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi

Introduzione al C. Esercitazione 2bis. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 2bis S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi Ricorsione

Dettagli

Ricorsione: C era una volta un Re

Ricorsione: C era una volta un Re Ricorsione: C era una volta un Re I C era una volta un Re seduto sul sofà che disse alla sua serva raccontami una storia e la serva incominciò: I C era una volta un Re seduto sul sofà che disse alla sua

Dettagli

Daniela Lera A.A. 2008-2009

Daniela Lera A.A. 2008-2009 Daniela Lera Università degli Studi di Cagliari Dipartimento di Matematica e Informatica A.A. 2008-2009 Equazioni non lineari Metodo di Newton Il metodo di Newton sfrutta le informazioni sulla funzione

Dettagli

Algoritmo di ordinamento sul posto che ha tempo di esecuzione :

Algoritmo di ordinamento sul posto che ha tempo di esecuzione : QuickSort Algoritmo di ordinamento sul posto che ha tempo di esecuzione : - O(n 2 ) nel caso peggiore - O(n log n) nel caso medio Nonostante le cattive prestazioni nel caso peggiore, rimane il miglior

Dettagli

y = x 3 infinitesimo per x 3 lim = l 0 allora f(x) è dello stesso ordine di g(x), ossia tendono a DEF. Una funzione y = f(x) si dice infinitesimo per

y = x 3 infinitesimo per x 3 lim = l 0 allora f(x) è dello stesso ordine di g(x), ossia tendono a DEF. Una funzione y = f(x) si dice infinitesimo per INFINITI ED INFINITESIMI. ASINTOTI DI UNA FUNZIONE. GRAFICO PROBABILE DI UNA FUNZIONE. TEOREMI SULLE FUNZIONI CONTINUE ESERCIZI SULLA CONTINUITA E SULLA CLASSIFICAZIONE DELLE DISCONTINUITA DI UNA FUNZIONE

Dettagli

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 31 agosto 2011 Testo e soluzioni

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 31 agosto 2011 Testo e soluzioni Esame di Calcolo Numerico per Informatica A.A. 21/11 Proff. S. De Marchi e M. R. Russo 31 agosto 211 Testo e soluzioni L esame consiste di 4 domande aperte e 1 esercizi a risposta multipla. Per gli esercizi

Dettagli

Prova di matematica assegnata all esame di stato nell A.S

Prova di matematica assegnata all esame di stato nell A.S Prova di matematica assegnata all esame di stato nell A.S. 2004-2005 Giovanni Torrero E-mail giovanni.torrero@email.it Indice Capitolo 1. Problemi 4 1.1. Primo Problema 4 1.2. Secondo problema 12 Indice

Dettagli

Approcci nella soluzione di un problema

Approcci nella soluzione di un problema Approcci nella soluzione di un problema Bottom-up dalla conoscenza del singolo componente alle soluzioni Bottom-up A partire dal considerare oggetti più semplici o dati empirici (dal particolare), con

Dettagli

Lezione 5, 5/11/2014

Lezione 5, 5/11/2014 Lezione 5, 5/11/2014 Elena Gaburro, elenagaburro@gmail.com 1 Ordine di convergenza di un metodo Definizione 1.1. Sia {x k } una successione convergente ad α. Consideriamo l errore assoluto in modulo al

Dettagli

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di 2 - EQUAZIONI NON LINEARI Lucio Demeio Dipartimento di Scienze Matematiche 1 Elementi introduttivi 2 3 4 Introduzione Problema: trovare le soluzioni di

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

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

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa

Dettagli

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

Capitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo Capitolo Esercizi a.a. 206-7 Esercizi Esercizio. Dimostrare che il metodo iterativo x k+ = Φ(x k ), k = 0,,..., se convergente a x, deve verificare la condizione di consistenza x = Φ(x ). Ovvero, la soluzione

Dettagli

Esercitazione 4. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h. 1

Esercitazione 4. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h. 1 Esercitazione 4 Istruzioni trattate: l operatore $, grid, legend, plot2d, l operatore :. In questa esercitazione si considera il problema di approssimare lo zero, α, della funzione f definita per > da:

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del

Dettagli

Soluzione di Equazioni non lineari

Soluzione di Equazioni non lineari Soluzione di Equazioni non lineari Corso di Calcolo Numerico 20 Marzo 2018 Function in MATLAB Lo scopo di una funzione è quello di prendere in input un certo numero di valori, fare alcune operazioni con

Dettagli

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

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011 Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011 L esame consiste di 4 domande aperte e 10 esercizi a risposta multipla. Per gli esercizi ci sono

Dettagli

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

Laboratorio di Calcolo Numerico A.A Laboratorio 4 Risoluzione di sistemi non lineari Metodo di punto fisso Laboratorio di Calcolo Numerico A.A. 2007-2008 Laboratorio 4 Risoluzione di sistemi non lineari Metodo di punto fisso Esercizio 1. Risoluzione di sistemi non lineari Si consideri il seguente sistema non

Dettagli

Ricorsione. Libro cap. 5 (da 5.14 in poi)

Ricorsione. Libro cap. 5 (da 5.14 in poi) Libro cap. 5 (da 5.14 in poi) Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright 20172019 Moreno Marzolla http://www.moreno.marzolla.name/teaching/finfa/

Dettagli

Ma dove si azzera? Equazioni polinomiali, numero delle soluzioni e loro approssimazioni.

Ma dove si azzera? Equazioni polinomiali, numero delle soluzioni e loro approssimazioni. Ma dove si azzera? Livello scolare: 2 biennio Abilità interessate Scrivere un numero in notazione scientifica. Stimare l ordine di grandezza del risultato di un calcolo numerico. Utilizzare in modo consapevole

Dettagli

Ricorsione in C. slides credit Prof. Paolo Romano

Ricorsione in C. slides credit Prof. Paolo Romano Ricorsione in C slides credit Prof. Paolo Romano 2 Divide et impera Metodo di approccio ai problemi che consiste nel dividere il problema dato in problemi più semplici I risultati ottenuti risolvendo i

Dettagli