Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.

Slides:



Advertisements
Presentazioni simili
Dipartimento di Matematica
Advertisements

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array, matrici Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Classe III A A.s – 2010 Programma di Informatica
Universita di Camerino
Capitolo 8 Sistemi lineari.
Vettori e matrici algebrici
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
Fondamenti di Informatica
Realizzazione del file system
Algoritmi in C++ (1) da completare
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Corso di Fondamenti di programmazione a.a.2009/2010
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
Process synchronization
Laboratorio di Linguaggi lezione VI: puntatori 2/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Costruzione di Interfacce Lezione 12 C++STL
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Introduzione al linguaggio C++ 5 lezioni
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Ottimizzazione Combinatoria
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Modelli e Algoritmi della Logistica
APPUNTI SUL LINGUAGGIO C
Approfondimento delle classi
1 laboratorio di calcolo II AA 2003/04 seconda settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Algebra Lineare Esercizi assegnati.
Java base III: Array e Stringhe
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Prof. Cerulli – Dott.ssa Gentili
Calcolo Parallelo e Distribuito
ARRAY MULTIDIMENDIONALI
Programmazione di Calcolatori
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Matrici: un’implementazione parametrica in C++
Università degli Studi di Bologna
s STRINGHE DI CARATTERI a p e \0
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Puntatori e Stringhe.
Heap concetti ed applicazioni. maggio 2002ASD - Heap2 heap heap = catasta condizione di heap 1.albero binario perfettamente bilanciato 2.tutte le foglie.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Università di Pisa Corso di Studio in Ingegneria delle Telecomunicazioni Giuliano Manara Presidente.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 3: 27 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata.
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Transcript della presentazione:

Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria Informatica, Gestionale e dellAutomazione

Lezione 12 Calcolo numerico

Vettori numerici Vettore numerico ottimizzato per elaborazioni numeriche ad alte prestazioni Non è progettato per genericità o semplicità duso, ma per consentire tutte le ottimizzazioni possibili Le operazioni possono essere espanse in linea e sono prive di effetti collaterali Sono privi di alias Un valarray è un vettore nel senso matematico del termine

valarray Un valarray può essere creato vuoto, con n elementi inizializzati ad un valore o ad un valore di default, per copia, o (caso comune) da un array valarray vi; valarray vf(1000); valarray vb(0.5, 2000); valarray vb2(vb); const double v[] = { 0, 2.4, 1, 3.5, 3 }; valarray vb3(v);

Operazioni su valarray Assegnamento vb2 = vb1; vb1 = 1; // assegna 1 ad ogni elemento Indicizzazione double b = vb2[3]; Funzioni membro *= ecc. sum() shift(), cshift() apply(T f(T), apply(T f(cost T&)) -, +, ~, ! min(), max() size() resize() è una reinizializzazione

Operazioni su valarray Operatori non membro * ecc. abs ecc.

slice Un taglio è costituito da ogni n-esimo elemento di un vettore, a partire da una posizione: class std::slice { // … public: slice(size_t start, size_t size, size_t stride); } Esempio: size_t slice_index(const slice&, size_t i) { return s.start() + i * s.stride(); }

slice e matrici FORTRAN Uno slice può essere usato per simulare una matrice tramite un valarray In FORTRAN le matrici vengono memorizzate per colonna: La riga i di una matrice nxm è slice(i, m, n) La colonna j di una matrice nxm è slice(j * n, n, 1)

slice_array Uno slice_array è costruito da un array e uno slice elementi dellarray corrispondente agli indici dello slice Non viene istanziato direttamente, ma indicizzando un array tramite uno slice: valarray d; // … slice_array & even = d[slice(0, d.size() / 2, 2)]; slice_array & odd ) d[slice(1, d.size() / 2, 2)];

gslice, mask_array, indirect_array Un taglio generalizzato (gslice) è definito da n passi e n dimensioni Una maschera (mask_array) si ottiene indicizzando un valarray con un valarray Un array indiretto (indirect_array) si ottiene indicizzado un valarray con un valarray

Algoritmi numerici Lheader definisce degli algoritmi numerici generalizzati sullo stile di accumulate() inner_product() partial_sum() adjacent_difference()

Se non è sufficiente Implementazione storica ed usatissima delle comuni funzioni di calcolo numerico è BLAS (Basic Linear Algebra Subprograms), in FORTRAN Boost raccoglie diverse funzionalità nello-stile-della- libreria-standard-ma-che-non-sono- nella-libreria-standardhttp:// uBLAS fornisce template per vettori e matrici densi, sparsi, a blocchi