Introduzione ad Octave

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

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

Introduzione a Matlab

Dinamica e Controllo dei Processi Energetici. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Esercitazioni con GNU Octave

Dati due punti sul piano calcolare la loro distanza

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

Matlab: Variabili e Array. Informatica B

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

Assegnazione di una variabile

Esercitazione 00 Introduzione a Matlab

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

INTRODUZIONE A MATLAB

Elementi di Calcolo Scientifico per l Ingegneria A.A

Introduzione a MATLAB

Informatica (A-K) 5. Algoritmi e pseudocodifica

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

Introduzione a Matlab

Laboratorio di Matlab

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

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

Operatori relazionali

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

8 Introduzione MATLAB

8 Introduzione MATLAB

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Introduzione a MATLAB

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

Introduzione a MATLAB

Introduzione alla programmazione in linguaggio C

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

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

Esercitazione di Reti degli elaboratori

INTRODUZIONE A MATLAB/OCTAVE

PROGRAMMA = ALGORITMO

Laboratorio di Calcolo Numerico

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

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

Matlab: introduzione

Fondamenti di Informatica

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

La programmazione nel linguaggio JavaScript. Il programma

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: lezione introduttiva

Algoritmi stabili e instabili

Mini-Corso di Informatica

Metodi numerici con elementi di Programmazione A.A

Fondamenti di Informatica

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

A. Introduzione a Matlab

Primi script in MATLAB

LABORATORIO /03/2005

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Programmazione web lato client con JavaScript. Marco Camurri 1

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

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

Matlab: Script e Funzioni

Tutorial. Introduzione a Matlab

Prof. Marco Masseroli

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

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Esercitazione #0. Introduzione a MatLab

1 LABORATORIO DI SEGNALI E SISTEMI: INTRODUZIONE A MATLAB. Tagliavini Alessia 30/04/2014

Introduzione al linguaggio C Primi programmi

Programmazione Matlab

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21

CORSO DI LABORATORIO DI INFORMATICA

Introduzione a Matlab

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Analisi Numerica I Introduzione a Matlab

Calcolo Numerico A.A Esercitazione n

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

Laboratorio 1 - Introduzione a MATLAB

19 FEBBRAIO 2009 PRIMA PARTE

Introduzione a Matlab

Elementi di Base. Introduzione a Python.

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

R - Esercitazione 1. Andrea Fasulo 7 Ottobre Università Roma Tre

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Introduzione a MATLAB

Fondamenti di Informatica A. A / 1 9

Introduzione al software R

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

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

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

Funzioni, Stack e Visibilità delle Variabili in C

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

Corso di Laboratorio di Sistemi Operativi

Le basi del linguaggio Java

Informatica Applicata al Suono Tutorial Matlab

Transcript:

Università Ca Foscari di Venezia Dipartimento di Informatica Corso di Probabilità e Statistica 2009

Presentation outline 1 Introduzione al corso 2

Informazioni generali Corso di Probabilità e Statistica Parte teorica: prof. Andrea Torsello Esercitazioni di laboratorio: Ore di lezione preveiste: 16 (8 incontri) Giorno ed ora: martedì dalla 15 alle 17 Aula: Laboratorio 5 Il calendario delle settimane in cui si tiene il laboratorio è disponibile sulla pagina web del corso: siete pregati di tenerlo d occhio per eventuali variazioni

Informazioni su di me Nome: Ufficio: Stanza 3 primo piano Email: marin@dsi.unive.it Pagina web: http://www.dsi.unive.it/ marin Da qui si può seguire il link per il corso di probabilità

Modalità di esame Corso congiunto con la parte teorica È richiesto di superare entrambi i moduli Durante il laboratorio saranno assegnate 8 esercitazioni con difficoltà diverse Ne vanno consegnate almeno sei I tempi di consegna saranno fissati di volta in volta

Nasce come strumento per la didattica nell Università del Texas Octave è il nome di un professore di Ingegneria delle reazioni chimiche Il software è distributo con licenza GNU Per distribuzione Debian-like è a disposizione nei repository Il software è gratuito La sintassi di Octave è MOLTO simile a quella di altri pacchetti commerciali

A cosa serve? Octave consente di effettuare operazioni numeriche Dispone di un linguaggio di programmazione che facilita la scrittura di elaborazioni complesse È in grado di effetture input/output da file È in grado si stampare grafici Tratta agevolmente matrici, vettori, sistemi lineari ecc...... e molto altro...

Primi passi In queste slides faremo riferimento alla versione per Linux Dalla shell, a partire dalla cartella di lavoro, l ambiente viene avviato digitando: $ octave Se il software è correttamente installato compare un prompt Digitando: > exit si esce da Octave Per ottenere aiuto su un comando: > help nomecomando

I primi comandi: 1+1=? Digiatiamo nel prompt: > 1+1 ottenendo: ans = 2 Dichiarare una variabile: > a = 3 a = 3 > a = a + 5 a = 8 > a a = 8 > a+2 ans = 10

Array, Matrici e Vettori Gli array sono gli elementi fondamentali per lavorare con OCTAVE Gli scalari sono visti come array 1x1 Gli indici degli array cominciano da 1 (e non da 0 come in C) Gli array possono essere classificati in vettori (una dimensione) e matrici (più di una dimensione) Nel caso di array bi-dimensionali la dimensione è data dal numero di righe e di colonne (con le righe messe prima) (convenzione... )

Esempi Introduzione al corso 10 5 2 12 1 0 [1 5 0 2] [ 3 7 ] Array 3 2 > A = [10 5; 2 12; 1 0]; > A(3,1) ans = 1 > A(2,:) ans = 2 12 Vettore riga 1 4 > A = [1 5 0 2]; > A(2) ans = 5 Vettore colonna 2 1 > A = [3; 7]; > A(2) ans = 7

Variabili Una variabile è una regione di memoria che contiene un array Ad una variabile è associato un identificatore Il valore di una variabile può essere cambiato in ogni momento Gli identificatori devono cominciare con una lettera OCTAVE è case sensitive

Inizializzare un array Si utilizzano parentesi quadre e punti e virgola Gli elementi sono elencati per riga In ciascuna riga gli elementi sono elencati da sinistra a destra Elementi nella stessa riga sono separati da uno spazio o una virgola Le righe sono separate da new line o da ;

Tipi di dato fondamentali Double: 64 bit floating point a doppia precisione > A = 3.15E-10; Stringhe 2 byte per carattere > pippo ans = pippo

Operatore : L operatore : può essere utilizzato per inizializzare array molto grandi Sintassi: first:increment:last Esempio: > A = 1:2:10 A = 1 3 5 7 9 > B = (0: 0.25 : 1)*pi B = 0.00000 0.78540 1.57080 2.35619 3.14159 Se l incremento non è specificato, lo si assume uguale ad 1

Trasposizione di matrici L operatore traspone una matrice Esempio: > F = [1:4] ; > G = 1:4; > H = [F G ]; H è la matrice: 1 1 2 2 3 3 4 4

Inizializzatori predefiniti zeros(n): inizializza una matrice quadrata n n di tutti zeri zeros(n,m): inizializza una matrice rettangolare n m di tutti zeri ones(n) ones(n,m) eye(n): inizializza una matrice Identit n n

Acquisire una variabile in input La funzione input legge un valore in fase di esecuzione Sintassi: >in1 = input( Inserisci il valore: ) Inserisci il valore: Il valore acquisito viene inserito nella variabile in1

Costanti e keywords pi: π i,j: 1 Inf: NaN: not a number eps: la più piccola differenza tra due numeri ans: memorizza il risultato dell ultima espressione

Realizzare degli script Matlab/Octave Con un editor di testo scrivere una sequenza di istruzioni Salvare il file con estensione.m Lanciare Octave dalla cartella in cui si è salvato lo script Digitare il nome del file (senza estensione) Esempio: esempio.m A = [1 2 3; 4 5 6]; B = [1; 2; 3]; C = A * B; > esempio > C C = 14 32

Sottoprogrammi in Matlab/Octave Ogni file.m può contenere una funzione Il nome della funzione deve essere uguale al nome del file che la contiene Esempio prima riga del file deve essere: nomefunzione.m function[a, b, c]=nomefunzione(par1, par2, par3, par4);

Stampare l output su file C-like output outfile = fopen( prova.dat, w ) apre un file fwrite(outfile, format, espressione1, espressione2,...) scrive su file. La strina format segue la stessa sintassi di C fclose(outfile) chiude un file

Strutture di controllo: if Sintassi: if (condition) then-body else else-body endif Esempio: if (rem (x, 2) == 0) printf ("x is even"); else printf ("x is odd"); endif

Strutture di controllo: while Sintassi: while (condition) body endwhile Esempio: fib = ones (1, 10); i = 3; while (i <= 10) fib (i) = fib (i-1) + fib (i-2); i++; endwhile

Strutture di controllo: for Sintassi: for var = expression body endfor Esempio: fib = ones (1, 10); for i = 3:10 fib (i) = fib (i-1) + fib (i-2); endfor

Esercizi 1 Estrarre 1000 coppie di numeri compresi tra 0 e 1. Interpretare ogni coppia come un punto della regione di piano interna al quadrato (0, 0), (1, 1). Usare gnuplot per stampare i punti estratti. 2 Considerare i punti estratti nell esercizio precedente. Estrarre un altra coppia di punti e si assuma che questi siano i vertici opposti di un rettangolo i cui lati sono paralleli agli assi cartesiani. Contare quanti punti ricadono in questo rettangolo, e verificare che la proporzione di punti sulla superficie del rettangolo e i punti complessivi è vicina alla proporzione tra l area del rettangolo e quella del quadrato di lato unitario.