Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative
|
|
|
- Giuliano Mariani
- 9 anni fa
- Visualizzazioni
Transcript
1 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 utilità didattica. Chiunque si rende conto che basta pigiare un tasto per ottenere quel risultato in modo pressoché istantaneo. Questo, a mio modesto avviso, può creare disaffezione verso lo studio della matematica. Si chiede allo studente di trasformarsi in una macchina capace di eseguire un operazione insegnando il come e non il perché. Qual è l utilità didattica? Creare un fenomeno da baraccone? Udite udite! Un uomo, col solo ausilio di carta e penna, riesce ad eseguire le quattro operazioni fondamentali e INCREDIBILE pure l estrazione di una radice quadrata. Si, lo so, la cosa fa sorridere ma, se ci pensate bene, è proprio così: esercitare le abilità manuali di calcolo è un esercizio inutile e dannoso! Si potrebbe presentare una formula iterativa che, assegnato un qualsiasi valore di a, ci conduca rapidamente a una stima della a. Diventerebbe un pretesto per spiegare come funziona un formula iterativa. La formula che vi propongo è quella iterativa di Newton. Ci proponiamo di determinare x = a attraverso un processo iterativo che ci consente di determinare i membri di una successione {x n } convergente a x, ossia, tale che lim n x n = x. x 0 = 1 x { 1 = (x 0 + a x 0 ) 2 x n+1 = (x n + a x n ) 2 Per renderci conto di come funziona la cosa, seguiamo il processo iterativo servendoci del foglio elettronico di calcolo. 1
2 Le formule inserite sono: Alla cella [B4] è stato assegnato il nome: a. Come si può osservare, già al 7 passo (step) iterativo abbiamo la soluzione esatta. Il processo può essere seguito con facilità anche da una semplice calcolatrice scientifica. Consideriamo una calcolatrice con il display a due righe. Nella prima riga si vede la formula inserita (riga di input). Premendo il tasto [ = ] il risultato è visualizzato nella seconda riga (riga di output). Il tasto [ Ans ] restituisce il risultato della precedente operazione. Seguiamo il processo passo passo con una calcolatrice di questo tipo. Input line 1 [=] Output line 1 Input line (Ans Ans) 2 [=] Output line 50,5 Ad ogni successiva pressione del tasto [=] la formula viene ricalcolata col valore aggiornato di Ans. Si ottiene così la sequenza di output: 26, ; 15, Dal 7 passo l output si stabilizzerà sul valore 10. Controllo della convergenza Per controllare quando il processo iterativo ha termine abbiamo adottato sostanzialmente due metodi: 1. Procedendo nell iterazione il risultato si è stabilizzato su un determinato risultato (nel nostro esempio 10); 2. Procedendo nell iterazione abbiamo verificato il valore del quadrato di x. 2
3 Il primo metodo ha un valore più generale e può essere adottato su diversi tipi di formule iterative. Il secondo metodo è specifico dell algoritmo in studio (calcolo della radice quadrata). Esiste un metodo più generale che può essere applicato ad ogni processo iterativo convergente. Si prefissa un errore Er per predeterminare il numero di cifre decimali esatte che si vogliono ottenere. Ad esempio: Er = 10-5 per ottenere 4 cifre decimali esatte. Si arresta l iterazione quando x n x n 1 < Er. Si voglia calcolare, ad esempio, 245,89 con almeno 2 cifre decimali esatte. Le formule introdotte sono: I nomi dati alle celle sono: 3
4 Nell ultima colonna è riportato un test di verifica. Se x n x n 1 < Er allora si scrive il valore della radice quadrata altrimenti si prosegue visualizzando due asterischi( ** ). Col foglio elettronico di calcolo si usa la funzione SE avente la seguente sintassi: SE(test; azione se vero; azione se falso). Il calcolo può essere automatizzato servendosi di un qualsiasi linguaggio di programmazione. Ad esempio, in VBA all interno di Excel, si può scrivere una function del tipo: Option Explicit Public Function RadiceQuadrata(a As Double) As Double Dim x As Double Dim x0 As Double Const Er As Double = obbliga ad usare le Dim dichiarazione della variabile dichiarazione della variabile dichiarazione della costante If a = 0 then RadiceQuadrata = 0 la radice di 0 vale 0 ElseIf a > 0 then calcola la radice di a se a > 0 x = 1 inizializza la variabile Do inizio ciclo iterativo x0 = x memorizza l attuale valore di x x = (x + a / x) / 2 ricalcola x Loop Until Abs(x - x0) < Er fine ciclo iterativo RadiceQuadrata = x assegna il valore x alla funzione Else ossia se a < 0 e non esiste la radice End if End Function RadiceQuadrata = 1/0 forza una condizione di errore L iterazione è realizzata dall istruzione Do Loop Until che ha la seguente sintassi: Do azione Loop Until condizione L azione viene svolta sin quando la condizione si mantiene falsa. Se condizione risulta vera si esce dal ciclo. Corrisponde al ciclo REPEAT UNTIL del Pascal. L errore è stato fissato al valore: Er = La function dichiarata Public può essere usata all interno del foglio di calcolo come una qualsiasi funzione predefinita. Ad esempio, calcoliamo le radici quadrate degli interi da 1 a 30. 4
5 Le formule sono: Come si può osservare, la funzione definita dall utente, all interno di Excel, è usata come una qualsiasi funzione predefinita. Ovviamente questa funzione esiste già in Excel e non occorre definirla. Il nostro è solo un esempio che ci consente di capire meglio come funziona l algoritmo. Un po di teoria Vediamo ora come nasce la formula iterativa di Newton, ossia qual è il fondamento teorico che ci ha consentito di determinarla. Si vogliono ricercare gli zeri di una funzione y = f(x), ossia le soluzioni dell equazione f(x) = 0. Nel nostro caso cerchiamo la radice positiva dell equazione x 2 a = 0, ossia lo zero positivo della funzione f(x) = x 2 a. Partiamo dal punto iniziale x 0 = 1 e determiniamo sulla parabola il punto A di ascissa x 0. Calcoliamo quindi la tangente alla parabola in A. Detta tangente intercetterà sull asse X il punto di ascissa x 1. Sia B il punto della parabola di ascissa x 1. La tangente in B intercetterà sull asse X un punto di ascissa x 2. Si genera in questo modo una successione {x n } rapidamente convergente a x (intersezione positiva della parabola con l asse X). Poiché la tangente ad una funzione f(x) in un suo punto di ascissa x n è data da: 5
6 y f(x n ) = f (x n ) (x x n ) Ponendo y = 0 otteniamo l intersezione con l asse X. L ascissa x dell intersezione è: Nel nostro caso, essendo: Si ha: x = x n f(x n) f (x n ). f(x) = x 2 a ; f (x) = 2 x ; x = x n x n 2 a = x n 2 + a = (x 2 x n 2 x n + a ) 2. n x n L ultima espressione è quella della formula iterativa che abbiamo adottato. Questo metodo può, con una qualsiasi funzione, avere problemi di convergenza per cui è opportuna una scelta oculata del valore d innesco x 0. Nel nostro caso non ci sono problemi e può essere usato il valore x 0 = 1 per qualsiasi valore di a. Conclusione Abbiamo presentato un metodo di estrazione della radice quadrata che può essere usato, pure con carta e penna, servendosi soltanto delle operazioni aritmetiche di addizione e divisione. Questo metodo è molto più veloce ed efficiente del procedimento classico ed è ricco di spunti didattici. Prof. Ettore Limoli 6
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
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
INFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
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
Programmazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
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
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Claudio Estatico Equazioni non-lineari
Claudio Estatico ([email protected]) 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.
Foglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
PROGRAMMAZIONE: La selezione
PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
Ammortamento di un debito
Algoritmi e dintorni: Ammortamento di un debito: Ricerca del tasso Prof. Ettore Limoli Ammortamento di un debito In questa nostra trattazione non ci addentreremo in problemi di matematica finanziaria o
Caratteristiche generali del linguaggio Visual Basic
Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la
Introduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
Elementi di Informatica e Programmazione
Università degli Studi di Brescia Elementi di Informatica e Programmazione PROGRAMMAZIONE Docente: Marco Sechi E mail: [email protected] Vers. 25/11/2015.B Dipartimento di Ingegneria Meccanica e Industriale
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
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)
Esercitazione 4. F (x) = x + log x. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h.
Esercitazione 4 Istruzioni trattate: grid, legend, plotd, and. Nella prima parte di questa esercitazione vedremo una realizzazione di un metodo ad un punto e la utilizzeremo per approssimare il punto unito
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Esercizio 1. Esercizio 2
Sia data la matrice A A(α) = Esercizio α 2 2α 2 2, α R.) determinare per quali valori del parametro reale α é verificata la condizione necessaria e sufficiente di convergenza per il metodo di Jacobi;.2)
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
Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative
Laboratorio di Calcolo Numerico
Laboratorio di Calcolo Numerico Lezione 3 Padova, April 4th 2016 F. Piazzon Department of Mathematics. Doctoral School in Mathematical Sciences, Applied Mathematics Area Outline Lab. 3-2 of 16 1 Costrutti
Informatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
28/02/2014 Copyright V. Moriggia
Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA
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
Programmazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
Rappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
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
Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
Parte 1: tipi primitivi e istruzioni C
Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una
Equazioni, funzioni e algoritmi: il metodo delle secanti
Equazioni, funzioni e algoritmi: il metodo delle secanti Christian Ferrari 1 Introduzione La risoluzione di equazioni in R ci ha mostrato che solo per le equazioni polinomiali di primo e secondo grado,
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 [email protected] Il Metodo di Newton, o delle Tangenti 6 Novembre 2016 Indice 1 Metodo di Newton, o delle tangenti 2 1.1
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
Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 11 dicembre x k 1 x k 2
1 Domande aperte Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 11 dicembre 013 1. Nel metodo di Newton per la ricerca di zeri di funzione, se non conosciamo la molteplicità della
Qualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
Equazioni differenziali del 2 ordine Prof. Ettore Limoli. Sommario. Equazione differenziale omogenea a coefficienti costanti
Equazioni differenziali del 2 ordine Prof. Ettore Limoli Sommario Equazione differenziale omogenea a coefficienti costanti... 1 Equazione omogenea di esempio... 2 Equazione differenziale non omogenea a
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.
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione Claudia Zoccarato E-mail: [email protected] Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in
1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
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
Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011
Esame di Calcolo Numerico per Informatica A.A. 200/: testo soluzioni Proff. S. De Marchi e M. R. Russo 2 luglio 20 L esame consiste di 4 domande aperte e 0 esercizi a risposta multipla. Per gli esercizi
Programmare con MATLAB c Parte 5 Cicli: for e while
Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while
= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
Introduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
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
MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)
MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è
Linguaggio C++ 5. Strutture cicliche
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 5 Strutture cicliche Linguaggio C++ 5 1 Strutture cicliche Utilizzate per ripetere un certo numero di volte
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
