SciPy. Programmazione Orientata agli Oggetti e Scripting in Python



Похожие документы
Introduzione a SciPy

Indice Elementi di analisi delle matrici I fondamenti della matematica numerica

Corso di Visione Artificiale. Filtri parte I. Samuel Rota Bulò

Applicazione della tsvd all elaborazione di immagini

Capitolo 5 RESTAURO E RICOSTRUZIONE DI IMMAGINI

Computazione per l interazione naturale: Modelli dinamici

Laboratorio Apprendimento Automatico

INTRODUZIONE A EXCEL ESERCITAZIONE I

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

Note sull uso di R per l Algebra Lineare

UNIVERSITÀ DEGLI STUDI DI FERRARA

0.6 Filtro di smoothing Gaussiano

Corso di Matematica per la Chimica

Uso di librerie preconfezionate. pezzi di programma già scritto da altri; di solito ben collaudati;

Statistica inferenziale

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

DIGITAL SIGNAL PROCESSING. Prof. Marina Ruggieri. Ing. Tommaso Rossi

METODI MATEMATICI PER LA FISICA

La Funzione Caratteristica di una Variabile Aleatoria

Esercizi su Autovalori e Autovettori

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati.

Introduzione all elaborazione di immagini Part II

DISTRIBUZIONI DI PROBABILITÀ

Introduzione a SciPy

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

LEZIONI DI ALGEBRA LINEARE PER LE APPLICAZIONI FINANZIARIE


Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

PROGRAMMA CONSUNTIVO

Corso di Automazione Industriale 1. Capitolo 4

Fondamenti di Automatica. Unità 2 Calcolo del movimento di sistemi dinamici LTI

Programmazione Disciplinare: Calcolo Classe: Quarte - Quinte

ANALISI DEL CONDIZIONAMENTO DI UN SISTEMA LINEARE

Caratterizzazione dei segnali aleatori nel dominio della frequenza

Analisi Statistica Spaziale

Metodi iterativi per sistemi lineari

Indice. pag. 15. Prefazione. Introduzione» 17

Prefazione all edizione originale. Prefazione all edizione italiana

Documentazione esterna al software matematico sviluppato con MatLab

Determinare estremo superiore ed estremo inferiore dell insieme ( 1) n A = n + 1 : n IN

APPUNTI DI MODELLI NUMERICI PER I CAMPI

Facoltà di Dipartimento di Ingegneria Elettrica e dell'informazione anno accademico 2014/15 Registro lezioni del docente SPORTELLI LUIGI

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

BOZZA Introduzione a MATLAB

Introduzione a Matlab (e al Calcolo Numerico)

Tecniche di analisi multivariata

Elettronica II Proprietà e applicazioni della trasformata di Fourier; impedenza complessa; risposta in frequenza p. 2

Identificazione del dispositivo sorgente

Trasformazione elementari di Givens

Autovalori e Autovettori

SCHEDA DI PROGRAMMAZIONE DELLE ATTIVITA EDUCATIVE DIDATTICHE. Disciplina: Matematica Classe: 5A sia A.S. 2014/15 Docente: Rosito Franco

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico

1.5. ISTOGRAMMA 17. Figura 1.3: Istogramma ottenuto mediante campionamento da VA Gaussiana (η x =0, σ 2 X =1).

Elaborazione nel dominio della frequenza Soluzioni

Esercitazione Numpy e Plotting. Programmazione Orientata agli Oggetti e Scripting in Python

I Metodi statistici utili nel miglioramento della qualità 27

Facoltà di Ingegneria anno accademico 2007/08 Registro dell'attività didattica. Calcolo 2 [40214]

Metodi Statistici di Controllo della Qualità Prof. Paolo Cozzucoli

CIRCUITI INTELLIGENTI Parte 5: PCA e ICA

MATEMATICA GENERALE - (A-D) Prova d esame del 1 giugno FILA A

Programma definitivo Analisi Matematica 2 - a.a Corso di Laurea Triennale in Ingegneria Civile (ICI)

Morphological Image processing

8 - Analisi della deformazione

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti

Laboratorio di Matematica Computazionale

Lezione n. 1. Introduzione all analisi numerica (richiami di algebra lineare e analisi funzionale)

La distribuzione Gaussiana

CORSO DI MISURE ANALISI DEI SEGNALI NEL DOMINIO DEL TEMPO

Richiami sulle derivate parziali e definizione di gradiente di una funzione, sulle derivate direzionali. Regola della catena per funzioni composte.

Analisi dei Dati mediante Modelli Matematici

Derive 5. di Stefania Mannara. Studio di funzione con Derive 5 di Stefania Mannara (SICSI VI CICLO) 1 28/05/2009

Pordenone e Padova, Settembre Fabio Marcuzzi marcuzzi@math.unipd.it

Il corso si colloca nell ambito del corso integrato di scienze quantitative, al primo anno.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre Prof. L.

Elaborazione nel dominio della frequenza

INTRODUZIONE A MATLAB Matrix Laboratory

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

Introduzione a Python per il calcolo scientifico

CORSO DI LAUREA INF TWM ANNO DI IMMATRICOLAZIONE MATRICOLA

Sistemi Elettronici e informatici in ambito Radiologico // Informatica Medica parte c A.A

Integrazione numerica

Liceo scientifico Albert Einstein. Anno scolastico Classe V H. Lavoro svolto dalla prof.ssa Irene Galbiati. Materia: MATEMATICA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A Alberto Perotti, Roberto Garello

Транскрипт:

SciPy Programmazione Orientata agli Oggetti e Scripting in Python

SciPy: Informazioni di Base Libreria di algoritmi e strumenti matematici Fornisce: moduli per l'ottimizzazione, per l'algebra lineare, l'integrazione, funzioni speciali, FFT, elaborazione di segnali ed immagini e altri strumenti comuni nelle scienze e nell'ingegneria. Scaricabile dal sito: http://www.scipy.org Importare il modulo >>> import scipy as sp

SciPy: Informazioni di Base Estensioni offerte: scipy.constants: costanti matematiche e fisiche scipy.special: funzioni in uso in fisica matematica (ellittiche, Bessel, ipergeometriche) scipy.integrate: metodi di integrazione numerica e integrazione di equazioni differenziali scipy.optimize: metodi di ottimizzazione (minimi quadrati, gradiente, simulated annealing) scipy.linalg: estensione di numpy.linalg. Soluzione di sistemi lineari, calcolo matriciale, decomposizione, fattorizzazione scipy.sparse: gestione di matrici sparse

SciPy: Informazioni di Base Estensioni offerte: scipy.interpolate: metodi per l'interpolazione lineare e non di dati scipy.fftpack: Fast Fourier Transform scipy.signal: metodi di signal processing (filtraggio, correlazione, convoluzione, smoothing) scipy.stats: distribuzioni di probabilità continue e discrete, calcolo dei momenti, calcolo cumulative, statistica descrittiva, test... Esempio di importazione: >>> from scipy import signals, stats

Algebra Lineare - linalg Importazione >>> from scipy import linalg Funzioni principali: Funzioni di base: inv, solve, det, norm, lstsq, pinv Funzioni di decomposizione: eig, lu, svd, orth, cholesky, qr, schur Funzioni di calcolo matriciale: expm, logm, sqrtm, cosm, coshm...

Algebra Lineare - linalg Autovalori ed autovettori >>> a = numpy.array([[1,3,5], [2,5,1], [2,3,6]]) #calcolo autovalori e autovettori >>> aval, avec = linalg.eig(a) >>> aval array([ 9.39895873+0.j, -0.73379338+0.j, 3.33483465+0.j]) #gli autovettori sono le colonne della matrice avec. Es. primo autovettore >>> avec[:,0] array([-0.57028326, -0.41979215, -0.70608183])

Algebra Lineare - linalg Matrice inversa >>> A = numpy.array([[1,2], [3,4]]) #matrice inversa >>> linalg.inv(a) array([[-2., 1. ], [ 1.5, -0.5]]) #verifica: A A -1 = I >>> A.dot(linalg.inv(A)) array([[1.00000000e+00, 0.00000000e+00], [4.44089210e-16, 1.00000000e+00]]) Determinante >>> A = linalg.det(a) -2

Algebra Lineare - linalg Sistemi Lineari (Ax = b) >>> A = numpy.array([[1,2], [3,4]]) >>> b = numpy.array([[5], [6]]) #soluzioni >>> x = linalg.solve(a,b) >>> x array([[-4. ], [ 4.5]]) #verifica >>> A.dot(x)-b array([[ 0.], [ 0.]])

Integrazione - integrate Importazione >>> from scipy import integrate Funzioni principali: quad integrazione di base (integrale definito) dblquad integrale doppio tplquad integrale triplo simps integrazione mediante samples odeint integrazione di equazioni differenziali... NB: quad, dblquad e tplquad prendono come parametri delle funzioni.

Integrazione - integrate Integrazione di base y= 0 π sin(x)dx= ( cos(π)) ( cos(0)) = 2 #quad(func, infl, supl, ) #func: funzione da integrare #infl: limite inferiore #supl: limite superiore >>> x = integrate.quad(sin, 0, numpy.pi) #La funzione restituisce una tupla con due elementi, il risultato dell'integrazione e la stima dell'errore >>> x (2.0, 2.220446049250313e-14)

Integrazione - integrate Integrazione di base 4 y= 0 x 2 dx = x3 x=4 3 x=0 = 64 3 0 = 21.33333 >>> y = integrate.quad(lambda x: x**2, 0, 4) >>> y (21.333333333333336, 2.368475785867001e-13) >>> def func(x): return x**2 >>> y = integrate.quad(func, 0, 4) >>> y (21.333333333333336, 2.368475785867001e-13)

Funzioni Statistiche - stats Importazione >>> from scipy import stats Funzioni principali: Principali funzioni statistiche Distribuzioni continue e discrete Test statistici.

Funzioni Statistiche - stats Variabili aleatorie La libreria permette di adoperare diverse decine di distribuzioni di variabili aleatorie (continue e discrete) norm distribuzione gaussiana (o normale) chi2 distribuzione chi-squared t distribuzione T-student Variabile Gaussiana >>> from scipy.stats import norm #definizione variabile con distribuzione normale >>> x = norm() >>> x = norm(loc=3.5, scale=2.0)#loc:media, #scale: deviazione standard

Funzioni Statistiche - stats Variabile Gaussiana >>> y = norm(loc=5, scale=2) >>> x = numpy.linspace(-5, 5, 100) #probability density function >>> pdf = y.pdf(x) #cumulative distribution function >>> cdf = y.cdf(x)

Signal Processing - signal Importazione >>> from scipy import signal Tool per signal and image processing Filtraggio, trasformazioni, elaborazione di sistemi LTI etc.

Signal Processing - signal Elaborazione di immagini Array bidimensionali Ogni elemento equivale ad un pixel, con valore pari al livello del pixel La libreria fornisce un'immagine campione per testare gli algoritmi (lena) >>> from scipy.misc import lena >>> image = lena() >>> plt.imshow(image, cmap=plt.cm.gray)

Signal Processing - signal Esempio di filtraggio: filtro mediano Riduzione del rumore Ogni pixel è sostituito estraendo i valori dei pixel in un intorno (in genere nxn) del pixel in esame, li ordina in un vettore di nxn elementi e assegna al pixel il valore mediano di tale vettore >>> image = lena() >>> filtered = signal.medfilt2d(lena, [15,15]) >>> imshow(filtered, cmap=cm.gray)

Signal Processing - signal Altri esempi: Filtro di Wiener >>> ln = lena + norm(0,32).rvs(lena.shape)#inserimento rumore gaussiano nell'immagine >>> imshow(ln, cmap=cm.gray) >>> cleaned = signal.wiener(ln) >>> imshow(cleaned, cmap=cm.gray)