Python in ambiente scientifico. Linguaggi dinamici A.A. 2010/2011 1
|
|
|
- Marina Perrone
- 10 anni fa
- Просмотров:
Транскрипт
1 Python in ambiente scientifico 1
2 Introduzione Python nasce come strumento di calcolo parallelo e distribuito Numpy Array e matrici multi-dimensionali, tensori Scipy Algoritmi, modelli, statistica, integrazione, filtraggio, algebra lineare, ottimizzazione Matplotlib Funzionalità di plotting IPython Shell interattiva in stile MATLAB 2
3 Pacchetti software Questi strumenti sono presenti nelle principali distribuzioni GNU/Linux sotto forma di pacchetti software In sistemi Debian-like Numpy sudo apt-get install python-numpy Scipy sudo apt-get install python-scipy Matplotlib sudo apt-get install python-matplotlib Ipython sudo apt-get install ipython 3
4 Numpy 4
5 Il modulo Numpy Il metodo universalmente accettato di importare il pacchetto numpy è il seguente import numpy as np Motivazioni import numpy rende eccessivamente lunghi i riferimenti ai metodi from numpy import * rende possibili alcuni clash sui nomi 5
6 Array L'oggetto più importante del pacchetto numpy è indubbiamente l'array Un array è simile ad una lista Differenze con la lista Tutti gli elementi dell'array devono essere dello stesso tipo (tipicamente numerico, ad esempio int o float) Gli array sono progettati per essere molto efficienti sulle grandi dimensioni 6
7 Creazione array Un array viene creato tramite il metodo costruttore array() Due argomenti Una lista contenente i valori Una specifica del tipo di dato >>> a = np.array([1, 4, 5, 8], float) >>> a array([ 1., 4., 5., 8.]) >>> type(a) <type 'numpy.ndarray'> 7
8 Manipolazione array La manipolazione di un array è identica a quella vista per le liste Slicing >>> a[:2] Array([ 1., 4.]) Accesso >>> a[3] 8.0 Modifica >>> a[0] = 5. >>> a array([ 5., 4., 5., 8.]) 8
9 Array multidimensionali Gli array possono essere multidimensionali Si forniscono molteplici liste di valori Costruzione di una matrice >>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a array([[ 1., 2., 3.], [ 4., 5., 6.]]) >>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a[1,:] array([ 4., 5., 6.]) >>> a[:,2] array([ 3., 6.]) >>> a[-1:,-2:] array([[ 5., 6.]]) 9
10 Inizializzazione Gli array possono essere inizializzati in diversi modi Uso del metodo range() >>>a = np.array(range(6), float).reshape((2, 3)) >>> a array([[ 0., 1., 2.], [ 3., 4., 5.]]) Uso del metodo arange() >>> np.arange(5, dtype=float) array([ 0., 1., 2., 3., 4.]) 10
11 Inizializzazione Gli array possono essere inizializzati in diversi modi Uso dei metodi zeros() e ones() np.ones((2,3), dtype=float) array([[ 1., 1., 1.], [ 1., 1., 1.]]) >>> np.zeros(7, dtype=int) array([0, 0, 0, 0, 0, 0, 0]) 11
12 Inizializzazione Il metodo identity() crea una matrice identità >>> np.identity(4, dtype=float) array([[ 1., 0., 0., 0.], [ 0., 1., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 1.]]) Il metodo eye() crea una matrice identità sulla diagonale k-ma >>> np.eye(4, k=1, dtype=float) array([[ 0., 1., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 1.], [ 0., 0., 0., 0.]]) 12
13 Property degli array shape: ritorna una tupla contenente le dimensioni dell'array >>> a.shape (2, 3) dtype: ritorna il tipo di dato memorizzato nell'array >>> a.dtype dtype('float64') 13
14 Lunghezza e contenuti len(): ritorna il numero di righe dell'array >>> a.shape (2, 3) value in array: ritorna True se value è nell'array, false altrimenti >>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> 2 in a True >>> 0 in a False 14
15 Reshaping Le dimensioni di un array possono essere modificate mediante il metodo reshape() Nota bene: viene creato un nuovo array >>> a = np.array(range(10), float) >>> a array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]) >>> a = a.reshape((5, 2)) >>> a array([[ 0., 1.], [ 2., 3.], [ 4., 5.], [ 6., 7.], [ 8., 9.]]) >>> a.shape (5, 2) 15
16 Copia Nel caso, è possibile creare una copia esatta di un array tramite il metodo copy() >>> a = np.array([1, 2, 3], float) >>> b = a >>> c = a.copy() >>> a[0] = 0 >>> a array([0., 2., 3.]) >>> b array([0., 2., 3.]) >>> c array([1., 2., 3.]) 16
17 Ordinamento e clipping Gli elementi di un array sono ordinabili con il metodo sort() >>> a = np.array([6, 2, 5, -1, 0], float) >>> a.sort() >>> a Array([-1., 0., 2., 5., 6.]) Gli elementi di un array esterni ad uno specifico intervallo possono essere filtrati con il metodo clip() >>> a = np.array([6, 2, 5, -1, 0], float) >>> a.clip(0, 5) array([ 5., 2., 5., 0., 0.]) 17
18 Conversioni Conversione in lista: tramite il metodo tolist() >>> a = np.array([1, 2, 3], float) >>> a.tolist() [1.0, 2.0, 3.0] >>> list(a) [1.0, 2.0, 3.0] Conversione da/in formato stringa: metodi tostring() e fromstring() >>> a = array([1, 2, 3], float) >>> s = a.tostring() >>> s '\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x 00\x00\x00\x00 \x00\x00\x08@' >>> np.fromstring(s) array([ 1., 2., 3.]) 18
19 Generazione di una matrice trasposta Si usa il metodo transpose() per trasporre un array multidimensionale >>> a = np.array(range(6), float).reshape((2, 3)) >>> a array([[ 0., 1., 2.], [ 3., 4., 5.]]) >>> a.transpose() array([[ 0., 3.], [ 1., 4.], [ 2., 5.]]) 19
20 Trasformazione multi monodimensionale Dato un array multidimensionale, se ne può costruire la versione monodimensionale tramite il metodo flatten() >>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a array([[ 1., 2., 3.], [ 4., 5., 6.]]) >>> a.flatten() array([ 1., 2., 3., 4., 5., 6.]) 20
21 Concatenazione Il metodo concatenate() permette la concatenazione di due array La concatenazione avviene, per default, sulle righe (parametro axis=0) >>> a = np.array([[1, 2], [3, 4]], float) >>> b = np.array([[5, 6], [7,8]], float) >>> np.concatenate((a,b)) array([[ 1., 2.], [ 3., 4.], [ 5., 6.], [ 7., 8.]]) La concatenazione può essere anche fatta per colonne (parametro axis=1) >>> np.concatenate((a,b), axis=1) array([[ 1., 2., 5., 6.], [ 3., 4., 7., 8.]]) 21
22 Costanti e simboli standard Pi greco: np.pi >>> np.pi Costante di eulero: np.e >>> np.e Not a Number (NaN): np.nan >>> np.nan nan Infinito: np.inf >>> np.inf inf 22
23 Aritmetica di base Le operazioni di somma, sottrazione, moltiplicazione, divisione, elevamento a potenza, sono definite con i relativi simboli >>> a = np.array([1,2,3], float) >>> b = np.array([5,2,6], float) >>> a + b array([6., 4., 9.]) >>> a b array([-4., 0., -3.]) >>> a * b array([5., 4., 18.]) >>> b / a array([5., 1., 2.]) >>> a % b array([1., 0., 3.]) >>> b**a array([5., 4., 216.]) 23
24 Aritmetica: una avvertenza Negli array multidimensionali, la moltiplicazione rimane ancora elemento per elemento NON È la moltiplicazione matriciale! Per quella serve il tipo di dato matrix >>> a = np.array([[1,2], [3,4]], float) >>> b = np.array([[2,0], [1,3]], float) >>> a * b array([[2., 0.], [3., 12.]]) 24
25 Funzioni standard su array Numpy definisce tutta una serie di funzioni standard abs(), sign(), sqrt(), log(), log10(), exp(), sin(), cos(), tan(), arcsin(), arccos(), arctan(), sinh(), cosh(), tanh(), arcsinh(), arccosh(), arctanh() >>> a = np.array([1, 4, 9], float) >>> np.sqrt(a) array([ 1., 2., 3.]) 25
26 Funzioni standard su array Arrotondamento verso il valore più piccolo: floor() >>> a = np.array([1.1, 1.5, 1.9], float) >>> np.floor(a) array([ 1., 1., 1.]) Arrotondamento verso il valore più grande: ceil() >>> np.ceil(a) array([ 2., 2., 2.]) Arrotondamento verso il valore più vicino: rint() >>> np.rint(a) array([ 1., 2., 2.]) 26
27 Funzioni standard su elementi dell'array È possibile invocare funzioni standard sull'intero set di elementi di un array sum(), prod() >>> a = np.array([2, 4, 3], float) >>> a.sum() 9.0 >>> a.prod() 24.0 >>> np.sum(a) 9.0 >>> np.prod(a)
28 Funzioni standard su elementi dell'array È possibile invocare funzioni standard sull'intero set di elementi di un array mean(), var(), std(), min(), max() >>> a = np.array([2, 1, 9], float) >>> a.mean() 3.0 >>> a.var() >>> a.std() >>> a.min() 1.0 >>> a.max()
29 Funzioni standard su elementi dell'array È possibile invocare funzioni standard sull'intero set di elementi di un array argmin(), argmax() >>> a = np.array([2, 1, 9], float) >>> a.argmin() 1 >>> a.argmax() 2 29
30 Funzioni standard su elementi dell'array Nel caso di array multidimensionali, è possibile specificare la riga su cui si vuole operare, tramite il parametro axis >>> a = np.array([[0, 2], [3, -1], [3, 5]], float) >>> a.mean(axis=0) array([ 2., 2.]) >>> a.mean(axis=1) array([ 1., 1., 4.]) >>> a.min(axis=1) array([ 0., -1., 3.]) >>> a.max(axis=0) array([ 3., 5.]) 30
31 Iteratori L'iterazione sugli array avviene analogamente a quanto visto per le liste >>> a = np.array([1, 4, 5], int) >>> for x in a:... print x... <hit return>
32 Iteratori Per gli array multidimensionale, l'iterazione procede per righe >>> a = np.array([[1, 2], [3, 4], [5, 6]], float) >>> for x in a:... print x... <hit return> [ 1. 2.] [ 3. 4.] [ 5. 6.] >>> for (x, y) in a:... print x * y... <hit return>
33 Operatori di confronto Gli operatori booleani di confronto sono definiti sugli array di uguale dimensione Il risultato del confronto è un array di valori booleani >>> a = np.array([1, 3, 0], float) >>> b = np.array([0, 3, 2], float) >>> a > b array([ True, False, False], dtype=bool) >>> a == b array([false, True, False], dtype=bool) >>> a <= b array([false, True, True], dtype=bool) >>> a > 2 array([false, True, False], dtype=bool) 33
34 Operatori di confronto Il metodo any() ritorna True se almeno un elemento dell'array booleano è True Il metodo all() ritorna True se tutti gli elementi dell'array booleano sono True >>> c = np.array([ True, False, False], bool) >>> any(c) True >>> all(c) False 34
35 Operatori di confronto È possibile applicare confronti composti con i metodi logical_and(), logical_or() e logical_not() >>> a = np.array([1, 3, 0], float) >>> np.logical_and(a > 0, a < 3) array([ True, False, False], dtype=bool) >>> b = np.array([true, False, True], bool) >>> np.logical_not(b) array([false, True, False], dtype=bool) >>> c = np.array([false, True, False], bool) >>> np.logical_or(b, c) array([ True, True, False], dtype=bool) 35
36 Confronto e sostituzione Il metodo where(condition, if_true, if_false) applica una condizione a tutti gli elementi di un array In caso di verità logica, applica lo statement if_true sull'elemento Altrimenti, applica lo statement if_false sull'elemento >>> a = np.array([1, 3, 0], float) >>> np.where(a!= 0, 1 / a, a) array([ 1., , 0. ]) 36
37 Test di valori speciali È possibile verificare la presenza nell'array di valori non numerici (metodo isnan()) e di valori finiti (metodo isfinite()) >>> a = np.array([1, np.nan, np.inf], float) >>> a array([ 1., NaN, Inf]) >>> np.isnan(a) array([false, True, False], dtype=bool) >>> np.isfinite(a) array([ True, False, False], dtype=bool) 37
38 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi È possibile un array selector, ossia un array di booleani i cui valori a True indicano quali valori dell'array originario selezionare >>> a = np.array([[6, 4], [5, 9]], float) >>> a >= 6 array([[ True, False], [False, True]], dtype=bool) >>> a[a >= 6] array([ 6., 9.]) >>> a[np.logical_and(a > 5, a < 9)] >>> array([ 6.]) 38
39 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi È possibile un array di indici >>> a = np.array([2, 4, 6, 8], float) >>> b = np.array([0, 0, 1, 3, 2, 1], int) >>> a[b] array([ 2., 2., 4., 8., 6., 4.]) 39
40 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi Per gli array multidimensionali, si passano due array di indici Il primo array contiene gli indici di riga Il secondo array contiene gli indici di colonna >>> a = np.array([[1, 4], [9, 16]], float) >>> b = np.array([0, 0, 1, 1, 0], int) >>> c = np.array([0, 1, 1, 1, 1], int) >>> a[b,c] array([ 1., 4., 16., 16., 4.]) 40
41 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi Il metodo take() seleziona elementi di array i cui indici sono memorizzati in un array di interi >>> a = np.array([2, 4, 6, 8], float) >>> b = np.array([0, 0, 1, 3, 2, 1], int) >>> a.take(b) array([ 2., 2., 4., 8., 6., 4.]) 41
42 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi Il metodo take() seleziona elementi di array i cui indici sono memorizzati in un array di interi >>> a = np.array([2, 4, 6, 8], float) >>> b = np.array([0, 0, 1, 3, 2, 1], int) >>> a.take(b) array([ 2., 2., 4., 8., 6., 4.]) 42
43 Selezione avanzata A differenza delle liste, con gli array è possibile effettuare selezioni più raffinate del semplice slicing degli elementi Nel caso di array multidimensionali, l'argomento axis specifica la selezione per righe o per colonne >>> a = np.array([[0, 1], [2, 3]], float) >>> b = np.array([0, 0, 1], int) >>> a.take(b, axis=0) array([[ 0., 1.], [ 0., 1.], [ 2., 3.]]) >>> a.take(b, axis=1) array([[ 0., 0., 1.], [ 2., 2., 3.]]) 43
44 Manipolazione avanzata Il metodo opposto a take() è put() put() prende i valori da un array sorgente e li inserisce nell'array destinazione, in una specifica locazione >>> a = np.array([0, 1, 2, 3, 4, 5], float) >>> b = np.array([9, 8, 7], float) >>> a.put([0, 3], b) >>> a array([ 9., 1., 2., 8., 4., 5.]) >>> a = np.array([0, 1, 2, 3, 4, 5], float) >>> a.put([0, 3], 5) >>> a array([ 5., 1., 2., 5., 4., 5.]) 44
45 Prodotto scalare e vettoriale Il prodotto scalare fra due vettori è ottenibile tramite il metodo dot() (dot product) >>> a = np.array([1, 2, 3], float) >>> b = np.array([0, 1, 1], float) >>> np.dot(a, b) 5.0 Il prodotto vettoriale fra due vettori è ottenibile tramite il metodo cross() (cross product) >>> a = np.array([1, 4, 0], float) >>> b = np.array([2, 2, 1], float) >>> np.cross(a, b) array([ 4., -1., -6.]) 45
46 Algebra lineare: il pacchetto linalg Il sotto-pacchetto np.linalg fornisce gli strumenti di base per l'algebra lineare Si può calcolare il determinante di una matrice con il metodo det() >>> a = np.array([[4, 2, 0], [9, 3, 7], [1, 2, 1]], float) >>> a array([[ 4., 2., 0.], [ 9., 3., 7.], [ 1., 2., 1.]]) >>> np.linalg.det(a)
47 Algebra lineare: il pacchetto linalg La funzione eig() ritorna una tupla con gli autovalori e gli autovettori della matrice >>> vals, vecs = np.linalg.eig(a) >>> vals array([ 9., , ]) >>> vecs array([[ , , ], [ , , ], [ , , ]]) 47
48 Algebra lineare: il pacchetto linalg La funzione inv() ritorna l'inversa di una matrice >>> b = np.linalg.inv(a) >>> b array([[ , , ], [ , , ], [ , , ]]) 48
49 Calcolo polinomiale Il metodo poly() del pacchetto numpy accetta un array contenente le radici di un polinomio e ritorna un array con i coefficienti del polinomio >>> np.poly([-1, 1, 1, 10]) Array([ 1, -11, 9, 11, -10]) Il metodo roots() del pacchetto numpy accetta un array contenente i coefficienti del polinomio e ritorna un array con le radici di un polinomio >>> np.roots([1, 4, -2, 3]) array([ j, j, j]) 49
50 Calcolo polinomiale Il metodo polyint() accetta un array contenente i coefficienti di un polinomio e ritorna un array con i coefficienti del polinomio integrato La costante di integrazione è posta a 0 >>> np.polyint([1, 1, 1, 1]) array([ 0.25, , 0.5, 1., 0. ]) Il metodo polyder() accetta un array contenente i coefficienti del polinomio e ritorna un array con i coefficienti del polinomio derivato >>> np.polyder([1./4., 1./3., 1./2., 1., 0.]) array([ 1., 1., 1., 1.]) 50
51 Calcolo polinomiale Sono disponibili le funzioni di somma, sottrazione, moltiplicazione, divisione fra polinomi polyadd(), polysub(), polymul(), polydiv() >>> print np.polyadd([1, 1, 1, 1], [1, 1, 1, 1]) [ ] Il metodo polyval() valuta un polinomio in un punto >>> np.polyval([1, -2, 0, 2], 4) 34 51
52 Generazione di numeri casuali Il sotto-pacchetto np.random mette a disposizione strumenti per la generazione di numeri casuali con seme arbitrario Impostazione del seme >>> np.random.seed(293423) Generazione di un singolo numero casuale uniforme in [0.0, 1.0) >>> np.random.random() Generazione di un singolo numero casuale intero uniforme in un intervallo [a, b] >>> np.random.randint(5, 10) 9 52
53 Generazione di distribuzioni Il pacchetto numpy è in grado di produrre numeri casuali per tutte le principali distribuzioni statistiche >>> np.random.poisson(6.0) 5 >>> np.random.normal(1.5, 4.0) >>> np.random.normal() >>> np.random.normal(size=5) array([ , , , , ]) 53
54 Scipy 54
55 Il pacchetto scipy Il pacchetto scipy utilizza la funzionalità di numpy per fornire un pacchetto di calcolo scientifico general purpose >>>import scipy Scipy è in realtà una collezione enorme di sottopacchetti >>> scipy.info(scipy) 55
56 Le 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 (trapezoidale, Simpson), 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 56
57 Le 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 57
58 Un esempio: generazione di numeri casuali Usiamo il pacchetto scipy.stats per produrre un array di valori distribuito secondo una Beta(5, 5) import scipy.stats q = scipy.stats.beta(5, 5) # genera una beta(5,5) obs = q.rvs(2000) # produce 2000 osservazioni Stampiamo statistiche sull'insieme print obs.min() print obs.max() print obs.std() print obs.mean()
59 Un esempio: regressione lineare Usiamo il pacchetto scipy.stats per effettuare una regressione lineare import scipy.stats x = np.arange(1.0, 11.0, 1.0) y = np.array([1.0, 1.0, 4.0, 3.0, 6.0, 5.0, 8.0, 10.0, 9.0, 11.0]) gradient, intercept, r_value, p_value, std_err = \ scipy.stats.linregress(x, y) Gradient: coefficiente angolare Intercept: intersezione con asse Y R_value: radice quadrata del coefficiente di correlazione P_value: test statistico sull'ipotesi nulla il coefficiente angolare della retta di regressione è zero Std_err: errore standard della stima 59
60 Matplotlib 60
61 Il pacchetto matplotlib Il pacchetto matplotlib è una libreria di disegno orientata agli oggetti, che permette di creare grafici di ogni tipo Il pacchetto pylab implementa una interfaccia procedurale da linea di comando a matplotlib, in stile Matlab >>>import pylab Una galleria di esempi esaustiva può essere trovata al seguente indirizzo: 61
62 Creazione di un grafico Si importano i moduli necessari import numpy as np import scipy import pylab Si genera un intervallo di valori sull'asse delle x t = np.arange(0.0, 1.0, 0.01) Si genera un intervallo di valori sull'asse delle y s = scipy.sin(2*scipy.pi*t) Si genera il grafico pylab.plot(t, s) Attenzione: si è generato il grafico, non lo si è ancora mostrato! 62
63 Esempio: Si imposta un nome all'asse delle x pylab.xlabel('time (s)') Si imposta un nome all'asse delle y pylab.ylabel('voltage (mv)') Si imposta il titolo del grafico pylab.title('simple graph') Se lo si vuole, si può impostare una griglia sullo sfondo pylab.grid(true) Se lo si vuole, si può salvare il grafico su file pylab.savefig('simple_plot') Infine, visualizziamo il grafico pylab.show() 63
64 Un esempio: generazione di numeri casuali Mostriamo in un grafico l'istogramma dei valori generati casualmente import numpy as np import scipy.stats import pylab q = scipy.stats.beta(5, 5) # genera una beta(5,5) obs = q.rvs(2000) # produce 2000 osservazioni pylab.hist(obs, bins=40, normed=true) # istogramma x = np.arange(0.01, 1.01, 0.01) # asse X pylab.plot(x, q.pdf(x), 'k-', linewidth=2) # grafico PDF pylab.show() # mostra il grafico 64
65 Un esempio: regressione lineare Mostriamo in un grafico la regressione lineare import numpy as np import scipy.stats import pylab def f(x, g, i): return g*x + i x = np.arange(1.0, 11.0, 1.0) y = np.array([1.0, 1.0, 4.0, 3.0, 6.0, 5.0, 8.0, 10.0, 9.0, 11.0]) gradient, intercept, r_value, p_value, std_err = \ scipy.stats.linregress(x, y) pylab.plot(x, y, 'ro') pylab.plot(x, f(x, gradient, intercept), 'k-', linewidth=2) pylab.show() 65
66 IPython 66
67 L'interprete IPython IPython è una shell interattiva avanzata Migliorie rispetto all'interprete interattivo standard Tab completion Introspezione degli oggetti Meccanismo di history dei comandi Editing inline del codice sorgente Esecuzione di codice Integrazione stretta con il debugger Macro Profili di uso Esecuzione diretta di comandi di shell Logging e replaying Esecuzione dell'interprete IPython ipython 67
68 Magic keyword L'interprete IPython definisce una serie di comandi magici (magic keyword) per le sue estensioni Tali comandi devono essere immesse con il prefisso % Uno dei comandi è %automagic, che definisce se sia necessario o no il % Eseguendo più volte %automagic, si abilita o no la funzionalità di riconoscimento automatico dei comandi magici 68
69 Introspezione degli oggetti Il comando? Classe fornisce una descrizione di una classe più umana di quella ottenibile tramite il comando dir(classe)? os.path Variente Classe?? non tronca le stringhe lunghe mostra le signature dei metodi con annessa documentazione evidenzia a colori la sintassi del codice sorgente 69
70 History dei comandi Il prompt dell'interprete IPython è preceduto da un identificatore di comando Il comando %hist permette di visualizzare la history dei comandi L'opzione -n omette gli identificatori %hist La combinazione Ctrl-R attiva la ricerca incrementale all'indietro (Reverse Search) 70
71 Editing Il comando %edit invoca l'editor di sistema (il cui percorso è memorizzato nella variabile di ambiente EDITOR) Se EDITOR non è definita, si usa vi %edit Il testo immesso, se salvato, viene interpretato da IPython all'uscita Se si invoca %edit con l'opzione -x, il testo immesso non viene interpretato Per importare nell'editor un intervallo di righe della history, si invoca edit con gli identificatori del primo e dell'ultimo comando, separati da : %edit 4:7 71
72 Esecuzione di codice ESEMPI: runme.py runme2.py Il comando %run esegue il codice Python contenuto all'interno di un filee spegne l'invocazione automatica del debugger pdb in caso di cattura di una eccezione %run L'opzione -n non imposta la variabile name a main Non viene eseguito il blocco di codice if name == main : L'opzione -i esegue il programma nel namespace corrente (non ne crea uno nuovo) Il programma ha accesso alle variabili di sessione 72
73 Integrazione con il debugger ESEMPI: runme_dbg.py Il comando %pdb accende e spegne l'invocazione automatica del debugger pdb in caso di cattura di una eccezione %pdb Per effettuare il debugging di una applicazione, si inserisce in un punto opportuno uno statement che solleva una eccezione Ad esempio, 1/0 73
74 Macro Il comando %macro definisce una macro a partire da un insieme di comandi nella history [1] l = [] [2] for i in l: print i %macro print_l 2 74
75 Profili IPython può partire con una configurazione (profilo) ad-hoc Moduli caricati all'inizio Variabili di ambiente predefinite Un profilo importante è pylab ipython -p pylab In tale modalità, IPython diventa un ambiente matematico stile Matlab Carica matplotlib 75
76 Profili Creiamo un istogramma di valori gaussiani con Ipython dir(pylab) randn? x=randn(1000) len(x) hist? hist(x) hist(x, bins=40) clf() # pulisce la figura 76
77 Esecuzione diretta di comandi di shell È possibile eseguire un comando di shell prependendolo con un! Eccezione: cd, pwd, ls possono essere eseguiti senza! ls!ps È possibile catturare lo standard output di un comando assegnandolo ad una variabile var =!ps var 77
78 Logging e replaying Il comando %logstart memorizza i comandi della sessione ed il loro output nel file ipython_log.py %logstart -o Il comando %logstop interrompe il processo di logging %logstop Lo script generato può essere eseguito invocando l'interprete con l'opzione -logplay ipython -pylab -logplay ipython_log.py 78
SciPy. Programmazione Orientata agli Oggetti e Scripting in Python
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,
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.
MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
Introduzione al Python
Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
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
Test Excel conoscenze di Base
Test Excel conoscenze di Base 1)Che tipo di barra ha un foglio di calcolo, che un elaboratore testi non ha? a. La barra dei menu b. La barra della formula c. La barra del titolo d. La barra della formattazione
Richiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
Introduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono
Laboratorio Apprendimento Automatico
Laboratorio Apprendimento Automatico Laurea Magistrale in Informatica Mirko Polato 14 novembre 2016 Python Perché python? Molti moduli per l analisi e la visualizzazione dei dati pre esistenti; Facile
Interpolazione ed approssimazione di funzioni
Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner
Excel. A cura di Luigi Labonia. e-mail: [email protected]
Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
Introduzione a ROOT. 1. Informazioni generali
Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Studente: SANTORO MC. Matricola : 528
CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice
Soluzione di equazioni quadratiche
Soluzione di equazioni quadratiche Soluzione sulla Retta Algebrica Inseriamo sulla Retta Algebrica le seguenti espressioni polinomiali x e x 3 e cerchiamo di individuare i valori di x per i quali i punti
INTRODUZIONE A MATLAB Matrix Laboratory
INTRODUZIONE A MATLAB Matrix Laboratory Introduzione Linguaggio di programmazione per applicazioni scientifiche e numeriche Vasto set di funzioni predefininte Interprete di comandi Possibilità di scrivere
Fondamenti di Programmazione
Fondamenti di Programmazione Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: [email protected] Valori e Tipi Un valore (= value) è una delle entità fondamentali che i programmi sono
Note sull uso di R per l Algebra Lineare
Note sull uso di R per l Algebra Lineare Sommario Introduzione Alcuni comandi elementari di R Creazione di matrici e vettori e accesso ai loro elementi Alcuni particolari tipi di matrice Operazioni con
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
FORMULE: Operatori matematici
Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
Laboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - [email protected] Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato
Dati importati/esportati
Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database
[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008
Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti
L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico
Capitolo 4 4.1 Il foglio elettronico Le più importanti operazioni richieste dall analisi matematica dei dati sperimentali possono essere agevolmente portate a termine da un comune foglio elettronico. Prenderemo
Fogli Elettronici: MS Excel
Fogli Elettronici: MS Excel Informatica - A.A. 2010/2011 - Excel 7.0 Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati
Compilatore risorse display grafico LCD serie IEC-line
Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente
Cosa è un foglio elettronico
Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti
Guida rapida - versione Web e Tablet
Guida rapida - versione Web e Tablet Cos è GeoGebra? Un pacchetto completo di software di matematica dinamica Dedicato all apprendimento e all insegnamento a qualsiasi livello scolastico Gestisce interattivamente
Utilizzo delle formule in Excel
Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula
Programmazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
I file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
Prof.ssa Paola Vicard
Questa nota consiste perlopiù nella traduzione (con alcune integrazioni) da Descriptive statistics di J. Shalliker e C. Ricketts, 2000, University of Plymouth Consideriamo i dati nel file esercizio10_dati.xls.
INFORMATICA - I puntatori Roberta Gerboni
1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
Scilab: I Polinomi - Input/Output - I file Script
Scilab: I Polinomi - Input/Output - I file Script Corso di Informatica CdL: Chimica Claudia d'amato [email protected] Polinomi: Definizione... Un polinomio è un oggetto nativo in Scilab Si crea,
Sistemi Informativi Territoriali. Map Algebra
Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori
Potenzialità statistiche Excel
Potenzialità statistiche Excel INTRODUZIONE A MS EXCEL Prof. Raffaella Folgieri Email [email protected] Fogli di calcolo MS Excel Prof. Folgieri 1 I Fogli Elettronici (Microsoft Excel) Sono strumenti
Microsoft Excel. Sommario. Cosa è un foglio elettronico. L interfaccia Utente. La cartella di Lavoro. Corso di introduzione all informatica
Corso di introduzione all informatica Microsoft Excel Gaetano D Aquila Sommario Cosa è un foglio elettronico Caratteristiche di Microsoft Excel Inserimento e manipolazione dei dati Il formato dei dati
Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni
Microsoft Excel Sommario Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle Numeri, date, formule, testo, funzioni Formattazione dei dati Creazione di serie di
E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Matlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
LAB LEZ. 1 STATISTICA DESCRITTIVA CON R
LAB LEZ. 1 STATISTICA DESCRITTIVA CON R 1 2 L AMBIENTE DI SVILUPPO DI RStudio 1 3 4 2 1 FINESTRA PER GLI SCRIPT E PER VISUALIZZARE I DATI 2 CONSOLE DEI COMANDI 3 VARIABILI PRESENTI NELLA MEMORIA DEL PROGRAMMA
A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.
La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato
Introduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
Registratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
MODULO 5 Appunti ACCESS - Basi di dati
MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.
Punto Print Il programma per stampare. Documentazione Tecnica
Punto Print Il programma per stampare Documentazione Tecnica 1 Punto Software di Iselle Mirko Documentazione tecnica PuntoPrint 1. Installazione Per effettuare l installazione del programma, decomprimere
Il sistema operativo UNIX/Linux. Gli script di shell
Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue
Introduzione all Information Retrieval
Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information
SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:
1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni
Access. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
METODI per effettuare previsioni con analisi di tipo WHAT-IF
METODI per effettuare previsioni con analisi di tipo WHAT-IF 1. TABELLA DATI Una tabella di dati è un intervallo che mostra come la modifica di alcuni valori nelle formule ne influenza i risultati. Le
Strumenti per la Progettazione
Strumenti per la Progettazione Diversi Ingegneri usano semplici Calcolatrici Il 40% usa fogli Spreadsheets tipo Excel Il 20%, per risolvere i loro calcoli, scrive programmi in linguaggi tipo C o Fortran
CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica
CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: [email protected]
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
Creare diagrammi di Gantt con Visio 2003
Creare diagrammi di Gantt con Visio 2003 La fase di pianificazione di un progetto è sicuramente molto delicata e alquanto complessa, in quanto bisogna riuscire a definire una scomposizione del progetto
La selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
LE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
Esempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie
Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
CONCETTO DI LIMITE DI UNA FUNZIONE REALE
CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e
RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL
RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL 1 RAPPRESENTAZIONE GRAFICA Per l analisi dati con Excel si fa riferimento alla versione 2007 di Office, le versioni successive non differiscono
Database Manager Guida utente DMAN-IT-01/09/10
Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software
La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato
La grafica. Il Matlab possiede un ambiente grafico abbastanza potente paragonabile a software grafici operanti in altri contesti. In questo corso ci limiteremo ad illustrare solo una funzione grafica,
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
Operazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Esercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di
Esercizi svolti. Si consideri la funzione f() 4. a) Verificare che la funzione F() 4 + arcsin è una primitiva di f() sull intervallo (, ). b) Verificare che la funzione G() 4 + arcsin π è la primitiva
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
LABORATORIO INFORMATICO. Cosa è una SUITE. Elaboratori di testi. Suite di produttività
LABORATORIO INFORMATICO Suite di produttività Suite Office (A.A. 2009/10) 1 Cosa è una SUITE Una suite è una collezione di applicativi software ciascuno dei quali svolge un ruolo specifico all interno
4. Operazioni elementari per righe e colonne
4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:
Inizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
Elementi di semantica operazionale
Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione
Alcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr
Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica Rcmdr http://www.r-project.org http://qplab.psy.unipd.it Che cos è Rcmdr? Rcmdr è un pacchetto che possiamo scaricare dal CRAN e installare su
INTRODUZIONE A EXCEL ESERCITAZIONE I
1 INTRODUZIONE A EXCEL ESERCITAZIONE I Corso di Idrologia e Infrastrutture Idrauliche Prof. Roberto Guercio Cos è Excel 2 Foglio di calcolo o foglio elettronico è formato da: righe e colonne visualizzate
Appunti sull uso di matlab - I
Appunti sull uso di matlab - I. Inizializazione di vettori.. Inizializazione di matrici.. Usare gli indici per richiamare gli elementi di un vettore o una matrice.. Richiedere le dimensioni di una matrice
ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2
ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?
I database relazionali (Access)
I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale
Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma
Introduzione Macro macro istruzione Sequenza di comandi memorizzati programma Scopo: eseguire più volte una sequenza di operazioni che a mano sarebbero noiose e ripetitive, se non proibitive Le macro Le
NOZIONI BASE SHELL E SCRIPT LINUX
NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI ([email protected]) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory
LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B
LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe
Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato
Excel Excel he cos è? È un programma che appartiene alla famiglia dei fogli elettronici. Dove si esegue? Excel gira in ambiente Windows. che cosa serve? Serve a realizzare tabelle numeriche. Videata iniziale
Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive
Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche
Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture
