Laboratorio di Processi Stocastici Alberto Sorrentino www.fisica.unige.it/~sorrentino/Teaching.

Slides:



Advertisements
Presentazioni simili
Laboratorio Processi Stocastici
Advertisements

Dipartimento di Matematica
Metodi numerici in Matlab
MATLAB Cristina Campi
MATLAB.
MATLAB.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
Laboratorio Processi Stocastici
MATLAB.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
INFORMATICA Strutture iterative
Esercitazione MATLAB (13/5)
Iterazione enumerativa (for)
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
Algoritmi Politecnico di Milano
Algoritmi Politecnico di Milano C Primi programmi Politecnico di Milano.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. Annalisa Pascarella
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Metodi iterativi G. Puppo.
Introduzione a Matlab Gabriella Puppo. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente.
Soluzione FEM di problemi parabolici
Metodi FEM per problemi ellittici
FEM -2 Gabriella Puppo.
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
Metodi conservativi per equazioni iperboliche
Funzioni matematico – statistiche I comandi matematici di più comune utilizzo, applicabili a scalari e matrici, sono: Sqrt(x), che calcola la radice quadrata.
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Marco Panella MATLAB Marco Panella
Laboratorio di Calcolo I 1) Introduzione Università Roma Tre Corso di Studi in Fisica AA 2002/03.
Esercitazione 2 – Generazione di variabili Matlab.
Corso di PHP.
INTRODUZIONE A MATLAB.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Radice quadrata di un numero
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Lezione 1: Introduzione all’uso di Matlab
JavaScript Generalità Cos'è JavaScript?
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Introduzione a Javascript
Informatica Applicata al Suono Tutorial Matlab
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
Esercizi.
Laboratorio di Processi Stocastici Alberto Sorrentino
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
INTRODUZIONE A MATLAB Corso di Segnali e Sistemi a.a. 2010/2011.
Parte 5 Sommario Uso routine di calcolo predefinite di Matlab –Risoluzione equazioni non lineariRisoluzione equazioni non lineari –Ricerca minimo di una.
Transcript della presentazione:

Laboratorio di Processi Stocastici Alberto Sorrentino

IIGiovedì 3 Dicembre ore 11:15 aula PC2 (116/117) – 1° piano III SMID Venerdì 4 Dicembre ore 9:30 aula MAC (114/120) – 1° piano III MATE Giovedì 11 Dicembre ore 11:15 aula PC2 (116/117) – 1° piano A proposito di processi stocastici...

Obiettivi, metodi e piano di lavoro Obiettivi: applicare la teoria, imparare a smanettare, divertirsi (...) Metodi: No dimostrazioni Prima pensare poi fare; ma se proprio non capite niente, almeno fate qualcosa, che aiuta... Piano di lavoro: Ripasso di MATLAB Creazione di istogrammi Generazione di numeri casuali Analisi dati DNA Simulazione processo di Poisson Implementazione test statistici

Parte Zero Ripasso di MATLAB

MATLAB (Wikipedia) “MATLAB (abbreviazione di Matrix Laboratory) è un ambiente per il calcolo numerico e l'analisi statistica che comprende anche l'omonimo linguaggio di programmazione consente di manipolare matrici, visualizzare funzioni e dati, implementare algoritmi.” Cos’è? Perché? 1.Perché lo conosco 2.Perché ”è usato da milioni di persone nell'industria, nelle università e funziona su diversi sistemi operativi, tra cui Windows, Mac OS, GNU/Linux e Unix”.

Contenuto Cartella Lista comandi passati Finestra di comando principale MATLAB

MATLAB non richiede di dichiarare le variabili  2+2  a  a=1  a  b=1;  b Provare  MATLAB funziona come un calcolatrice  MATLAB non sa chi sia “a”  Per assegnare un valore ad “a” si usa “=“  Ora MATLAB sa chi è “a”  Se volete assegnare un valore senza visualizzare, usate “;”  Claro? Per Credere Come faccio a sapere cosa ho già dichiarato? Il WORKSPACE!! Cancellare una variabile “a” non più utile: clear a Svuotare il workspace (da fare spesso per evitare casini!!): clear all Variabili

Vettori Definizione “esplicita” Vettore rigavr = [ ] Vettore colonna vc = [1; 2; 3; 9; 8; 7] Definizione “implicita” Vettore rigaVR = 1:3:16 (primo_valore : incremento : estremo_superiore) Vettore colonna VC = (5:-2:-3)’ (primo_valore : incremento : estremo_superiore)’ L’apice indica la trasposizione Il k-esimo elemento del vettore “vr” si trova con vr(k) Per selezionare un sottoinsieme (sotto-vettore) di un vettore vr(indice_iniziale : indice_finale)

Matrici Definizione “esplicita” Come per i vettori si va a capo con “;”M = [1 2 3 ; 4 5 6] La i-esima riga della matrice è M( i, : ) La j-esima colonna della matrice è M( :, j ) Il “:” serve a selezionare un intervallo; se gli estremi non sono indicati, seleziona tutti i valori Comandi per matrici “predefinite” Z = zeros(5) matrice nulla (quadrata) U = ones(5)matrice di uno (quadrata) I = eye(5)matrice identica

Operazioni con vettori e matrici Le operazioni “naturali” di somma e sottrazione vengono eseguite con i simboli normali (+/-) Il prodotto standard tra vettori e matrici (o tra vettori e vettori, o tra matrici e matrici) è il prodotto riga per colonna Per moltiplicare ELEMENTO PER ELEMENTO si usa “.* “ Verificare la differenza tra U*I e U.*I

Cicli e condizioni Ciclo for for indice = primo_valore:incremento:ultimo_valore Istruzioni end If / else if condizione1 Istruzioni elseif condizione2 (opzionale) Istruzioni else (opzionale) Istruzioni end Ciclo while while condizione Istruzioni end

Condizioni RICORDARE SEMPRE: Il segno “=“ serve per ASSEGNARE un valore a una variabile. Per CONFRONTARE una variabile con un valore (o con un’altra variabile), si usa “==“. Esempi di condizioni valide: A>1 A==0.5 A==3 && (B==5 || B==7 ) Provare ad esempio A=1 If A==1 disp (‘A vale 1’) End

Script Uno script è un file di testo che MATLAB interpreta come una sequenza di comandi. File  New  M-File N = 10; for i = 1:N v(i) = i^2 end Salvare il file con script_prova.m Dalla command window, lanciare script_prova Esiste la variabile i ??? Functions Funzione: file di testo contenente un’intestazione File  New  M-File function v = funzione_prova(N) for i = 1:N v(i) = i^2 end Salvare il file con funzione_prova.m Dalla command window, lanciare funzione_prova(10) Esiste la variabile i ???

Visualizzazione - plot plot( x ) plot( y ) plot( x, y ) plot( x, y, ’ r ’ ) plot( x, y, ’. ’ ) Mette in ascissa l’indice della componente del vettore, in ordinata il valore della componente Mette in ascissa i valori del vettore “x”, in ordinata i valori del vettore “y”; “x” e “y” devono essere lunghi uguali!! Rosso tratteggiato Punti figureCrea una figura vuota hold on Per mettere più oggetti nella stessa figura Definiamo due vettorix = -10:10 y = x.^2

Visualizzazione – altri comandi D = load(‘dato_per_plot.dat’); size(D) figure bar(D) figure image(D) figure contour(D) figure quiver(D(:,1), D(:,2), D(:,3), D(:,4))

Panico... Non ricordate l’utilizzo di un comando? help comando Non sapete come fare qualcosa? Volete saperne di più? helpwin

Primo esercizio: creare l’istogramma di un vettore Caricare il vettore dei dati nella variabile “data”: data = load(‘dato_per_istogramma.dat’); size(data) Osserviamo i dati plot(data) plot(data, ones(size(data)), ’. ’)

Algoritmo istogramma Scelta degli estremi e della larghezza intervallo INFSUPDELTA Contiamo quanti elementi del vettore cadono in ogni intervallo: creiamo un vettore il cui valore i-esimo rappresenti il numero di conteggi nell’i-esimo intervallo

Algoritmo istogramma (semplice) Per ogni elemento del vettore data(i) Per ogni intervallo Se data(i) è compreso nei valori dell’intervallo Incrementare il contatore relativo a quell’intervallo INFSUPDELTA Il j-esimo intervallo ha come estremi INF+(j-1)*DELTA e INF+j*DELTA Non esistono domande stupide. Esistono solo risposte stupide.

Algoritmo istogramma (semplice) INF = -4; SUP = 4; DELTA = 0.4; NUM_INT = (SUP-INF)/DELTA; % numero di intervalli contatore = zeros(1,NUM_INT) % inizializziamo il contatore; for i = 1:size(data,2) % per ogni dato for j = 1: NUM_INT % per ogni intervallo if data(i)>INF+(j-1)*DELTA && data(i)<INF+j*DELTA contatore(j) = contatore(j)+1; end VALORI = INF+DELTA/2 : DELTA : SUP-DELTA/2 figure bar(VALORI, contatore)

Algoritmo istogramma (efficiente) L’algoritmo appena scritto fa un ciclo di troppo... INFSUP 1 2k Osserviamo che il singolo valore data(i) INF < data(i) < SUP 0 < data(i)-INF < SUP-INF=DELTA*NUM_INT 0 < (data(i)-INF)/DELTA < NUM_INT Non esistono domande stupide. Esistono solo risposte stupide.

Algoritmo istogramma (efficiente) INF = -4; SUP = 4; DELTA = 0.4; NUM_INT = (SUP-INF)/DELTA; % numero di intervalli contatore = zeros(1,NUM_INT) % inizializziamo il contatore; for i = 1:size(data,2) % per ogni dato j = ceil((data(i)-INF)/DELTA); contatore(j) = contatore(j) + 1; end VALORI = INF+DELTA/2 : DELTA : SUP-DELTA/2 figure bar(VALORI, contatore)