Laboratorio di Calcolo Numerico

Documenti analoghi
Laboratorio di Calcolo Numerico

Esercizio 1. Esercizio 2

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

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

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Matlab. Istruzioni condizionali, cicli for e cicli while.

MATLAB Elementi di grafica Costrutti di programmazione

CORSO DI LABORATORIO DI INFORMATICA

Introduzione alla programmazione

Laboratorio di Python

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

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

Equazioni e sistemi non lineari

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

PROGRAMMAZIONE STRUTTURATA

Laboratorio di Informatica

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

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

Laboratorio di Matematica Computazionale A.A Lab. 4

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

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

10 STRUTTURE DI CONTROLLO REPEAT E WHILE. Strutture di controllo e variabili strutturate

Calcolo del fattore di convergenza

Introduzione al MATLAB c Parte 3 Script e function

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

Introduzione al MATLAB c Parte 2

Costrutti condizionali e iterativi

INFORMATICA. Strutture iterative

Matematica con Python

PROGRAMMAZIONE: Le strutture di controllo

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Fondamenti di Informatica

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Fondamenti di Informatica

Raccolta di Esercizi d esame ( di Calcolo Numerico) Prof. Laura Pezza. Equazioni non lineari

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

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

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

Le Funzioni e la Ricorsione

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

Calcolo Numerico con elementi di programmazione

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

Equazioni e sistemi non lineari

Rappresentazione degli algoritmi

Formalismi per la descrizione di algoritmi

Introduzione agli Algoritmi

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

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

STRUTTURE DI CONTROLLO

Metodi iterativi per equazioni nonlineari.

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

Campo di Esistenza. Il campo di esistenza di una funzione f è il dominio più grande su cui ha significato la legge f.

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Laboratorio di Programmazione Laurea in Bioinformatica

3 Costrutti while, for e switch

Metodi di Iterazione Funzionale

Esercitazione 1 Conversione di base

Metodi per la risoluzione di equazioni non lineari

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

Algoritmi e diagrammi di flusso versione biennio

Breve guida al linguaggio FORTRAN 77

Laboratorio di Python

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

Laboratorio di Python

Esempio: somma di due numeri

Cosa si intende con stato

Ottimizzazione numerica

Studio degli algoritmi

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

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

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Prove d esame Esercizi con Matlab

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Integrazione numerica

Transcript:

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 Logici: for, while e if 2 Matlab: m-file di tipo function

Lab. 3-3 of 16 Calcoli iterativi Supponiamo di voler eseguire un operazione identica su delle variabili di valore noto ma che può variare più volte, ma un numero noto di volte. Esempi Dividere un numero x per y 1, y 2,..., y n, Valutare la radice 2 n -esima del numero x, Dato x 0 e la funxione f valutare x k+1 = f(x k ) per k = 1, 2,..., n. In questi casi si ricorrerà in Matlab (e praticamente in ogni linguaggio di programmazione) al ciclo for

Sintassi ciclo for Lab. 3-4 of 16 Sintasssi for k=v istruzione 1 istruzione 2......... istruzione m end Dove v è un vettore di valori per il parametro k. viene posto k = v(1) e vengono eseguite istr 1,... istr m, poi k = v(2) ed eseguite le istruzioni,...... non serve cambiare il valore di k a mano (si veda poi il ciclo while). non serve inizializzare la variabile k.

Esercizi Elementari Lab. 3-5 of 16 Es. 1 La successione di Fibonacci è definita come x 0 = 1 x 1 = 1 x k+1 = x k + x k 1 k 2. Si scriva un m-file che calcoli i primi 100 numeri di Fibonacci. Es. 2 (svolto) La serie di Mengoli è S = S n = n k=1 1 k(k+1) = k=1 n n+1 1. 1, è noto che k(k+1) Si implementi un m-file che calcoli la somma di Mengoli per un dato n. Cosa succede per n molto grande?

Esercizi Evoluti Lab. 3-6 of 16 Es. 3 (svolto) E noto che sin(x) x per x 0. Si usi la formula di duplicazione del seno per ricavare la formula di triplicazione sin(3α) = 3 sin(α) 4 sin 3 (α), poi si implementi un m-file che approssimi il seno di x [0, π] utilizzando le formule sopra. Si valutino e plottino gli errori delle approssimazioni successive. Si migliori poi l approssimazione usando lo sviluppo di Taylor del seno in 0 arrestato a x 5. Es. 4 (per casa) Si faccia lo stesso per il coseno.

Cancellazione Numerica Lab. 3-7 of 16 In aritmetica finita in generale f(x) := (1 + x) 1 x. Esempio (svolto) Si scriva un m-file che valuti f in x = 10 k per k = 0, 1,..., 15 e per x = 2 z k, x = 3 w k, dove z k := ceil(k log(10)/ log(2)) e w k := ceil(k log(10)/ log(2)) sono scelti per rendere gli errori comparabili. Si producano grafici degli errori relativi.

Costrutto logico while Vogliamo ripetere operazioni un numero ignoto di volte usiamo il ciclo while. Sintasssi di while while condizione logica istruzione 1 istruzione 2......... istruzione m end la condizione logica può dipendere da variabili su cui vengono compiute operazioni se la condizione logica dipende da un numero di iterazioni la variabile di iterazione va avanzata manualmente e dichiarata prima del ciclo. uguale logico si scrive k ==.... Lab. 3-8 of 16

Esempi Elementari Lab. 3-9 of 16 Il programma n=10; k=1; while k<=n disp(k) k=k+1 end è del tutto equivalente n=10; for k=1:n disp(k) end tranne che per il fatto che dopo il ciclo while k = n + 1 mentre nel for k = n.

Radice quadrata Lab. 3-10 of 16 Algoritmo di Erone L algoritmo di Erone per il calcolo di x = α è definito come x 0 = r; x k+1 = 1 2 (x k + r/x k ) k 1, dove si sia scelto r 2 /9 α. Si implementi tale aloritmo includendo un ciclo (while) che testi la condizione su r ed eventualmente porti modifiche alla variabile. Si calcoli con questo algoritmo la radice di 2 con 15 passi e si plottino i risultati riguardo agli errori delle iterazioni.

Costrutto if (elseif else) Lab. 3-11 of 16 Si vogliono eseguire operazioni opzionali (solo se si verificano certe condizioni) Sintasssi if condizione logica 1 istruzione 1 istruzione 2 elseif condizione logica 2 istruzione 3 istruzione 4 else......... istruzione m end

Esercizi Lab. 3-12 of 16 Divisione Intera Si implementi l algoritmo della divisione intera x/y (ciclo while) per x, y assegnati con un pre-test su x y. Erone modificato Si modifichi il programma precedente sull algoritmo di Erone per testare in anticipo se il radicando è positivo. Se è negativo il programma deve stampare a schermo un messaggio di errore.

Functions in Matlab Possiamo scrivere m-file che prendono dati in entrata (diversi volta per volta) e restituiscono dati in uscita (o compiono operazioni), senza dover modificare manualmente ogni volta le variabili. Questi mfile si chiamano function. Sintassi function function [out 1,..., out m ]=nomefunzione(in 1,..., in n ) % help...... istruzioni istruzioni che calcolano out 1,..., out m return (opzionale) scrivere sempre l help!! nomefunzione e nomefunzione.m variabili locali tutti gli output devono venir assegnati function handle le function non si eseguono, si chiamano Lab. 3-13 of 16

Esercizi elementari Lab. 3-14 of 16 sign(x) Si scriva una semplice function che controlla se un numero in input è positivo, stampa a schermo il risultato e restituisce 1 se il num è positivo, 1 se il numero è negativo e 0 se il numero è nullo. Analisi statistica Si scriva una function che preso un vettore in entrata restituisca media aritmetica, media geometrica, varianza, minimo e massimo.

Esercizi avanzati Lab. 3-15 of 16 Erone in Function Si modifichi la radice di Erone implementata precedentemente in uno script perchè prenda il radicando in entrata e restituisca il valore della radice in uscita. Divisione di Newton-Raphson Si scriva una function che implementi la divisione di Newton Raphson vista a lezione, il guess iniziale viene preso in input. Poi si scriva un m-file che usi la divisione intera per trovare il guess iniziale e lanci la divisione di Newton Raphson implementata per trovare il quoziente esatto.

Lab. 3-16 of 16 Esercizio Importante Iterazioni di Punto Fisso 1 Si implementi l iterazione di punto fisso con criterio di arresto dello scarto in uno script con la funzione ϕ definita all interno dell m-file stesso. 2 Si modifichi lo script per diventare una function che prenda in entrata, tra gli altri input, il function handle della ϕ. 3 Si risolva sin(x) = x con la function scritta precedentemente.