19 FEBBRAIO SECONDA PARTE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "19 FEBBRAIO SECONDA PARTE"

Transcript

1 19 FEBBRAIO SECONDA PARTE 1. FILE SCRIPT: Nella prima parte della lezione abbiamo visto come sia particolarmente facile gestire e lavorare con matrici utilizzando Matlab. In particolare abbiamo lavorato restando nell'ambiente interattivo costituito dal Command Window. Se vogliamo salvarci le istruzioni digitate nel CW per richiamarle in seguito o abbiamo una sequenza abbastanza lunga di comandi è più conveniente trascrivere tali comandi in un M-file di tipo SCRIPT. I file Matlab vengono detti M-file in quanto hanno estensione.m. In questi file possiamo scrivere in sequenza i comandi che scriveremmo accanto al prompt del Command Window (CW) e Matlab esegue i comandi in sequenza come se fossero stati impressi sul CW stesso. Come creare un file script: File Nuovo M-file Salva con Nome: es. matrice.m Scrivi sequenza di comandi: A = [1 0-1; 3 0 2; 1 4-1]; AI = inv(a); AQ = A^2; AI AQ Richiama dal CW con il nome dello script-file: >> matrice AI = AQ = Caratterizzazione script: opera sui dati presenti nello script non accetta variabili in input non ha variabili in output utile per automatizzare una serie di istruzioni che si devono eseguire più volte

2 i dati che vengono generati da un file script restano nell ambiente lavoro (WorkSpace) e possono essere riutilizzati per altri calcoli. Passare valori variabili ad uno script: comando input 2. CONTROLLI DI FLUSSO for if while CICLO FOR: Il ciclo for esegue un gruppo di istruzioni un numero fissato di volte. for indice = inizio: incremento: fine Esempio: Definire un vettore b in IR^n tale che b(i)=2i+1, per i=1,...,n. n = input ( ' Dai n ---> '); b = zeros(1, n) % inizializzo il vettore for i = 1: 10 b(i)=2*i+1 Esempio: Algoritmo per calcolare il valore assunto in x = x* da un polinomio di grado n nella forma P(x)=a_0 + a_1 x + a_2 x^2 + + a_n x^n. (1.1) L algoritmo segue immediatamente dalla forma del polinomio: Algoritmo 1. Dati: n, a_0, a_1,, a_n, x* Risultato: y = P(x*) 1. p = 1 2. s = a_0 3. per i = 1, 2,, n 1. p = x* p 2. s = s + a_i p fine ciclo su i

3 4. y = s 5. Fine In Matlab: (polinomio.m) n=input('\n dare grado polinomio, n ----> '); a=input('\n dare il vettore dei coefficienti, a --- > '); y=input('\n dare valore in cui calcoloil polinomio, y ----> '); % y = x* p=1; s=a(1); for i=2:n+1 p = p*y; s = s + a(i)*p; s Questo algoritmo utilizza due variabili di appoggio, p e s. I valori assunti da p sono le potenze di x*: infatti p viene inizialmente posto uguale a 1 e successivamente moltiplicato per x* ad ogni passo del ciclo così che p vale x*^i al variare di i. Nella variabile s viene accumulata la sommatoria. L algoritmo richiede in tutto 3n operazioni aritmetiche, 2n moltiplicazioni e n addizioni, e non viene quasi mai usato nella pratica perché è possibile ottenere lo stesso risultato faco meno operazioni. L algoritmo utilizzato comunemente per calcolare i valori assunti da un polinomio è noto come algoritmo di Horner, o delle moltiplicazioni annidate. Esso parte dalla riscrittura del polinomio in una forma diversa da (1.1), apparentemente più complicata ma più conveniente dal punto di vista dei calcoli; la forma in questione è la seguente: P(x) = a_0 + a_1 x + a_2 x^2 + + a_n x^n = = a_0 + x(a_1 + a_2 x + + a_n x^(n-1)) = = a_0 +x (a_1 +x (a_2 + + a_n x^(n-2))) = =.= = a_0 +x (a_1 +x (a_2 + x(a_(n-2) +x(a_(n-1)+ a_n x)) )). (1.2) Sulla base della (1.2) si può scrivere il seguente algoritmo: Algoritmo 2. (Horner) Dati: n, a_0, a_1,, a_n, x* Risultato: y = P(x*) 1. s = a_n 2. per i = n-1, n-2,, 0 s = s x* + a_i fine ciclo su i 3. y = s 4. Fine ATTENZIONE: Il ciclo for è all indietro!!!!

4 In Matlab: (horner.m) n=input('\n dare grado polinomio, n ----> '); a=input('\n dare il vettore dei coefficienti, a --- > '); y=input('\n dare valore in cui calcolo il polinomio, y ----> '); % y = x* s=a(n+1); for i=n:-1:1 s=s*y+a(i); s L algoritmo calcola per x = x* e memorizza in s i contenuti delle parentesi tonde in (1.2), parto dalla più interna e procedo verso l esterno. I coefficienti del polinomio intervengono in ordine decrescente, da a_n ad a_0; per questo motivo il ciclo è impostato in modo che i valori di i vadano a diminuire, da i = n-1 a i = 0 (ciclo all indietro). Si può facilmente vedere che questo algoritmo richiede soltanto 2n operazioni. Confronto tra gli algoritmi: In base a quali considerazioni si può o si deve preferire un algoritmo rispetto ad un altro? I termini di confronto sono fondamentalmente tre: 1) un algoritmo è da preferirsi ad un altro se è più stabile, ovvero se si può dimostrare (teoricamente e/o sperimentalmente) che fornisce risultati più accurati. 2) un algoritmo è da preferirsi ad un altro se è più robusto, ovvero se è dimostrato sperimentalmente che riesce a risolvere un maggior numero di problemi. 3) infine, un algoritmo è da preferirsi ad un altro se è più efficiente, ovvero se richiede l utilizzo di meno risorse. In generale il costo di un algoritmo si può misurare in termini di memoria occupata e/o in termini di tempo di esecuzione. D altra parte il tempo è ritenuto spesso una risorsa più preziosa perché non riutilizzabile e quindi in generale l efficienza di un algoritmo numerico viene misurata tramite il suo costo in termini di tempo di esecuzione. CONTROLLO IF, ELSE, ELSEIF: If valuta una espressione logica ed esegue un gruppo di istruzioni quando il valore dell espressione logica è vero ed un altro gruppo quando il valore dell espressione logica è falso. if espressione logica else if espressione logica elseif espressione logica else Se le istruzioni sono da farsi solo nel caso in cui sia soddisfatta l espressione logica allora la forma migliore per il controllo if è la seguente:

5 if espressione logica Nelle espressioni logiche si utilizzano i seguenti operatori di relazione: Operatori di relazione: < minore di <= minore o uguale di > maggiore di >= maggiore o uguale di == uguale a ~= diverso da Esempio facile: File script che dice se un numero è positivo, negativo o zero (posneg.m). n = input('\n dai n :'); if n>0 disp(sprintf('\n n e'' positivo \n')) elseif n<0 disp(sprintf('\n n e'' negativo \n')) else disp(sprintf('\n n e'' zero \n')) Esempio: File script per calcolare il massimo tra n numeri (massimo.m) x = input('\n dare il vettore x: '); n = length (x); M = x(1); for i = 2 : n if M < x(i) M = x(i); M Esempio: File script che calcola il massimo in valore assoluto tra n componenti di un vettore e che restituisce l indice della componente corrispondente (massimo_comp.m). x = input('\n dare il vettore x: '); n = length (x); M=abs(x(1)); comp=1; for i=2:n if M < abs(x(i)) M=abs(x(i)); comp=i; M comp

6 CICLO WHILE: Il ciclo while esegue un gruppo di istruzioni fino a che l espressione logica di controllo rimane vera. while espressione logica Esempio: Trova la più grande potenza p di un numero n, tale che p < 100. (potenza.m) n = input (' \n dai il numero n ---> '); s = n; while s <= 100 s=s*n; disp(sprintf (' \n potenza : %d \n', s/n)) Esempio: Come prima ma stampa anche l esponente corrispondente (potenza_esp.m) n = input(' \n dai il numero n ---> '); s = n; i=1; while s <= 100 s=s*n; i=i+1; disp(sprintf( ' \n potenza : %d', s/n)) disp(sprintf(' \n esponente : %d \n', i-1))

7 Esempio: CALCOLO DELLA PRECISIONE DI MACCHINA. Sfruttando il ciclo while si può calcolare anche la precisione di macchina. Una definizione per la precisione di macchina può essere la seguente: La precisione di macchina è il più piccolo numero floating point che possiamo sommare a 1 otteno un risultato maggiore di 1. Cioè, detto x un qualunque numero di macchina, e prec la precisione di macchina: fl(1+x) > 1, per ogni x >= prec fl(1+x) = 1, per ogni x < prec L importanza di questa nuova definizione consiste nel fatto che essa porta in modo naturale ad un algoritmo per il calcolo della precisione di macchina: Algoritmo. Calcolo precisione di macchina Dati: nessuno Risultato: prec 1. prec = 1 2. prec = prec * y = prec Se y > 1 allora vai a prec = 2 * prec 6. Fine In Matlab: (prec.m) prec = 1; while 1 + prec >1 prec = prec * 0.5; prec = 2*prec; disp(prec)

8 OPERATORI LOGICI: && e o Un espressione con l operatore & è vera se sono veri entrambi gli operandi Un espressione con l operatore è vera se è vero uno dei due operandi ~ non Un espressione con l operatore ~ è vera se è falso l operando. Esempio: Dati due numeri n e m, stabilire se sono concordi o discordi (conc_disc1.m) n = input('\n dai n : '); m = input('\n dai m : '); if (n>0 & m>0) elseif (n<0 & m<0) else disp(sprintf('\n n e m sono discordi \n')) Esempio: Considera anche il caso in cui uno dei due è ZERO!!! (conc_disc2.m) n = input('\n dai n : '); m = input('\n dai m : '); if (n>0 & m>0) elseif (n<0 & m<0) elseif (n= =0 m= =0) disp(sprintf('\n n o m vale zero \n')) else disp(sprintf('\n n e m sono discordi \n')) Esempio: Metto insieme i due casi dei concordi (conc_disc3.m) n = input('\n dai n : '); m = input('\n dai m : '); if ((n>0 && m>0) (n<0 && m<0)) elseif (n==0 m==0) disp(sprintf('\n n o m vale zero \n')) else disp(sprintf('\n n e m sono discordi \n'))

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018 2019 Programmazione Lezione 19 Controllo di Flusso in MATLAB Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni

Dettagli

Operatori relazionali

Operatori relazionali Operatori relazionali Gli operatori relazionali più comuni sono: == uguale ~= diverso da < minore di > x=2; >> x==0 ans = 0 >> x==2 ans = 1 (questa relazione e falsa:)

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09 Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture

Dettagli

Primi script in MATLAB

Primi script in MATLAB Primi script in MATLAB Laboratorio di Calcolo Numerico 6 Marzo 2018 Introduzione alla programmazione Obiettivo: scrivere programmi e sviluppare algoritmi in MATLAB Si utilizzano gli m-file, ovvero file

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

MATLAB Elementi di grafica Costrutti di programmazione

MATLAB Elementi di grafica Costrutti di programmazione MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per

Dettagli

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Programmare Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Condizioni logiche Le condizioni logiche sono istruzioni che fanno uso di: operatori relazionali (servono a confrontare il valore

Dettagli

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A. 2018-2019 Programmazione Lezione 12A Esercizi in MATLAB Docente: Lorenzo Caruso lorenzo.caruso@unife.it Nelle lezioni precedenti Matlab:

Dettagli

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

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 è

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

CORSO DI LABORATORIO DI INFORMATICA

CORSO DI LABORATORIO DI INFORMATICA CORSO DI LABORATORIO DI INFORMATICA Corso di Laurea Triennale in Ingegneria Elettrica a.a. 2015/2016 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08 Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture

Dettagli

Esercitazione 00 Introduzione a Matlab

Esercitazione 00 Introduzione a Matlab 1 Esercitazione 00 Introduzione a Matlab Corso di Strumentazione e Controllo di Impianti Chimici Prof. Davide Manca Tutor: Giuseppe Pesenti PSE-Lab 2 Tutor: Giuseppe Pesenti giuseppe.pesenti@polimi.it

Dettagli

Elementi di Calcolo Scientifico per l Ingegneria A.A

Elementi di Calcolo Scientifico per l Ingegneria A.A Elementi di Calcolo Scientifico per l Ingegneria A.A. 2017-2018 Ottobre 2017 (2 16) Indice 1 2 3 4 Rappresentazione dei numeri reali nel calcolatore l insieme dei numeri reali, R, contiene un numero infinito

Dettagli

Strutture di controllo (v.anche cap. 8 del testo MATLAB per l ingegneria )

Strutture di controllo (v.anche cap. 8 del testo MATLAB per l ingegneria ) (v.anche cap. 8 del testo MATLAB per l ingegneria ) Selezione if 1 2 If, while, for, do until Se la condizione è vera, esegui 1, altrimenti esegui 2 MATLAB - ontrollo 2 Selezione if if ( condizione ) blocco

Dettagli

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali INTRODUZIONE A MATLAB Introduzione M.R. Russo & M. Venturin Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata A.A. 2007/2008 Il nome MATLAB è acronimo di MATrix LABoratory.

Dettagli

Prove d esame Esercizi con Matlab

Prove d esame Esercizi con Matlab Prove d esame Esercizi con Matlab Andrea Corli 16 settembre 2015 Sono qui raccolti alcuni esercizi relativi a Matlab assegnati nelle prove d esame (dal 2011 al 2014) del Corso di Analisi Matematica I (semestrale,

Dettagli

Algoritmi stabili e instabili

Algoritmi stabili e instabili Algoritmi stabili e instabili Laboratorio di Calcolo Numerico 13 Marzo 2018 Vettori in MATLAB Finora abbiamo pensato alle variabili utilizzate come semplici valori numerici (variabili scalari). In realtà,

Dettagli

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

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

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

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni

Dettagli

= < < < < < Matematica 1

= < < < < < 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

Dettagli

Esercitazione 1 Conversione di base

Esercitazione 1 Conversione di base Esercitazione 1 Conversione di base A.A. 2017-18 Esercizio 1 (M) Scrivere un programma che esegua la conversione di un numero reale qualunque da base 10 a base β {2,..., 16}, utilizzando gli M-function

Dettagli

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti Problema numerico Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti X F(X) F Y Metodo numerico Descrizione matematica dei calcoli

Dettagli

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

8 Introduzione MATLAB

8 Introduzione MATLAB 8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse

Dettagli

Cicli. S i a i = a 1 + a 2 + a a n

Cicli. S i a i = a 1 + a 2 + a a n Cicli Esprimono in modo compatto e generali l'esecuzione di uno stesso blocco di codice per più volte Anche in matematica sono presenti operatori che eseguono di fatto un ciclo (ad es. sommatoria e produttoria)

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

Fondamenti di Informatica

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

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,

Dettagli

Aritmetica in Floating Point

Aritmetica in Floating Point Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

8 Introduzione MATLAB

8 Introduzione MATLAB 8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Cicli Concetti di base (MATrix LABoratory) programma interattivo per calcolo

Dettagli

Fondamenti di Informatica

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

Dettagli

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori 1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB: analisi degli errori Come esempio per l analisi degli errori di arrotondamento scriviamo il seguente file di

Dettagli

Esercitazione 1 Conversione di base

Esercitazione 1 Conversione di base Esercitazione 1 Conversione di base A.A. 2018-19 Esercizio 1 (M) Siano assegnati i due M-script file conv10b.m e conv10f.m (in allegato). 1. Convertire gli M-script file a M-function file con chiamata

Dettagli

Laboratorio Programmazione Anno Lezione 3

Laboratorio Programmazione Anno Lezione 3 Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze

Dettagli

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori 1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB: analisi degli errori Come esempio per l analisi degli errori di arrotondamento scriviamo il seguente file di

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L'algebra

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

Ciclo do while in FORTRAN

Ciclo do while in FORTRAN Ciclo do while in FORTRAN Vogliamo tradurre in linguaggio FORTRAN un algoritmo che risponde a questo tipo di struttura: Fino a quando e vera questa espressione logica allora: fai questo fai quest altro

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

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 Introduzione al MatLab VI parte 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa, Pal. B, I piano, Stanza

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici Claudia Zoccarato E-mail: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 03 Maggio 2017 Richiami In MATLAB, ogni variabile

Dettagli

Strutture di controllo

Strutture di controllo Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria ivile e Ambientale MATLAB: le strutture di controllo If, while, for, do until

Dettagli

Laboratorio di Calcolo Numerico

Laboratorio di Calcolo Numerico Laboratorio di Calcolo Numerico Lezione 4 Padova, April 12nd 2016 F. Piazzon Department of Mathematics. Doctoral School in Mathematical Sciences, Applied Mathematics Area Outline Lab. 4-2 of 9 1 Matlab:

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Introduzione a MATLAB lezione n. 3 Dr. Carlo Petrarca Dipartimento di Ingegneria Elettrica Università

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Alcuni esperimenti in Matlab relativi alla teoria degli errori (corso di Ingegneria dell Energia) 1

Alcuni esperimenti in Matlab relativi alla teoria degli errori (corso di Ingegneria dell Energia) 1 Alcuni esperimenti in Matlab relativi alla teoria degli errori (corso di Ingegneria dell Energia) 1 A. Sommariva Abstract Stabilità del calcolo delle radici di secondo grado. Calcolo di π. Una successione

Dettagli

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di

Dettagli

Rappresentazione dei dati reali e teoria degli errori. N. Del Buono

Rappresentazione dei dati reali e teoria degli errori. N. Del Buono Rappresentazione dei dati reali e teoria degli errori N. Del Buono Rappresentazione dei dati reali Sorgenti di errore Rappresentazione dei numeri reali in una base assegnata Rappresentazione approssimata

Dettagli

Lo sviluppo di un semplice programma e la dimostrazione della sua correttezza

Lo sviluppo di un semplice programma e la dimostrazione della sua correttezza Il principio di induzione Consideriamo inizialmente solo il principio di induzione per i numeri non-negativi, detti anche numeri naturali. Sia P una proprietà (espressa da una frase o una formula che contiene

Dettagli

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6 1 Indice Capitolo 1... 7 Introduzione al Problem Solving... 7 Computer... 11 Informatica... 13 Capitolo 2... 17 Rappresentazione e Algoritmi... 17 Un esempio di algoritmo... 19 Diagrammi di flusso... 22

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione a Matlab MATLAB MATLAB (abbreviazione di Matrix Laboratory) è un ambiente per il calcolo numerico e un linguaggio di programmazione (interpretato)

Dettagli

3+4 2 (3+1) 4. Variabili a = 3 b = 4 c = a + b who, whos MATrixLABoratory Un numero è una matrice 1 1.

3+4 2 (3+1) 4. Variabili a = 3 b = 4 c = a + b who, whos MATrixLABoratory Un numero è una matrice 1 1. Matlab Calcolatrice. 3+4 2 (3+1) 9 4 3 1 cos ( π 4 ) e 2 Variabili a = 3 b = 4 c = a + b who, whos MATrixLABoratory Un numero è una matrice 1 1. A=[1 2 3; -1-1 -1] b=[1;2] c=[0, -1, 2] AA=[5 4 3 2 1; 1

Dettagli

INFORMATICA. Strutture condizionali

INFORMATICA. Strutture condizionali INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri

Dettagli

Esercitazione 1: Introduzione a MATLAB

Esercitazione 1: Introduzione a MATLAB Laboratorio di Immagini Esercitazione 1: Introduzione a MATLAB Mauro Zucchelli 09/03/2016 MATLAB Cos è MATLAB? MATLAB Cos è MATLAB? MATLAB non è un linguaggio di programmazione MATLAB Cos è MATLAB? MATLAB

Dettagli

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B Ingegneria Elettrica Script in Matlab Gli script Uno script è un file di testo contenente una sequenza di comandi MATLAB (è un programma

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

Diagrammi di flusso (Flow Chart)

Diagrammi di flusso (Flow Chart) Diagrammi di flusso (Flow Chart) I diagrammi di flusso sono un formalismo grafico per descrivere gli algoritmi. I diagrammi di flusso visualizzano graficamente i passi da cui sono formati gli algoritmi

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

Dettagli

Rappresentazione degli algoritmi

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

Dettagli

Informatica Applicata al Suono Tutorial Matlab

Informatica Applicata al Suono Tutorial Matlab Prof. Mario Malcangi malcangi@di.unimi.it MATLAB è un linguaggio di alto livello e un ambiente interattivo per il calcolo numerico, l'analisi e la visualizzazione dei dati e la programmazione. MATLAB consente

Dettagli

Javascript: il browser

Javascript: il browser Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di

Dettagli

Elementi di Informatica

Elementi di Informatica Elementi di Informatica Capitolo 6 Iterazione Prof. Mauro Gaspari: mauro.gaspari@unibo.it Assegnamenti multipli bruce = 5 print bruce, bruce = 7 print bruce Assegnamento e uguaglianza E' importante distinguere

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e soluzione. Dati iniziali e soluzione sono due vettori finiti x, y.

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e soluzione. Dati iniziali e soluzione sono due vettori finiti x, y. Problema numerico Relazione unzionale chiara e non ambigua tra dati iniziali e soluzione. Dati iniziali e soluzione sono due vettori initi, y. (=y Metodo numerico Descrizione matematica dei calcoli che

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia

Dettagli

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

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1 Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più

Dettagli

Analisi degli errori

Analisi degli errori Analisi degli errori Corso di Calcolo Numerico, a.a. 2008/2009 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Analisi degli errori 1 / 36 Errori Computazionali

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

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: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in

Dettagli

Esercizi scalari. 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896)

Esercizi scalari. 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896) Esercizi scalari 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896) (3j+2)/(4+5J) (0.5610 + 0.0488i) a=42; b=25; c=a* b Risultato c=210 Cancellare b dal

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare

Dettagli

Laboratorio di Calcolo Numerico

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

Dettagli

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

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015 1 LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI A. A. 2014/2015 PRIMI PASSI La più semplice sequenza di istruzioni che possiamo scrivere è quella costituita da un solo comando. come si fa a

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 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

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

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

d dx n 0. I polinomi di Legendre possono essere definiti (e, quindi, calcolati) in modo ricorsivo, come segue. Siano

d dx n 0. I polinomi di Legendre possono essere definiti (e, quindi, calcolati) in modo ricorsivo, come segue. Siano Prova d esame di Laboratorio di Calcolo I per il corso di laurea in Matematica 4 Febbraio 010 Tema d esame: studio di alcune proprietà dei polinomi di Legendre. Descrizione del metodo di calcolo I polinomi

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Fondamenti di Informatica A. A. 2018/19

Fondamenti di Informatica A. A. 2018/19 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale

Dettagli

1. Calcolo dell indice di condizionamento di una matrice

1. Calcolo dell indice di condizionamento di una matrice 1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function

Dettagli

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali Script in Matlab Gli script Uno script è un file di testo contenente

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

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

Dettagli

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& & Programmazione+1+ + Mario&Pavone& & Dipar/mento+di+Matema/ca+ed+Informa/ca+ Università+degli+Studi+di+Catania+ mpavone@dmi.unict.it+ hap://www.dmi.unict.it/mpavone/+ Definizioni Algoritmo: una sequenza

Dettagli

Qualsiasi programma in C++ segue lo schema:

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

Dettagli

Dichiarazione di variabili

Dichiarazione di variabili Dichiarazione di variabili ESEMPIO: somma di due numeri

Dettagli

RICONOSCIMENTO DI FORME A.A OBIETTIVI PARTE 1 INTRODUZIONE A MATLAB

RICONOSCIMENTO DI FORME A.A OBIETTIVI PARTE 1 INTRODUZIONE A MATLAB RICONOSCIMENTO DI FORME A.A. 2006-2007 PARTE 1 OBIETTIVI Implementare semplici algoritmi di Pattern Recognition utilizzando l ambiente Matlab Svolgere esperimenti di classificazione utilizzando gli algoritmi

Dettagli