FON DAMEN TI DI IN FORMATICA

Documenti analoghi
Corso di Calcolo Numerico C.d.L in Ingegneria Aerospaziale e Meccanica a.a 2016/2017. Prof. Pasqua D Ambra. Appunti di Matlab : grafica

A.1 Gui Matlab 6.5:algoritmo drag and drop

A. Introduzione a Matlab

Introduzione a Matlab

Strutture dati e loro organizzazione. Gabriella Trucco

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Matlab: Variabili e Array. Informatica B

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

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

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

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

Traccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale

CORSO ACCESS PARTE IV

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

Laboratorio di Matlab

Fondamenti di Informatica

Lezione 25: File Mercoledì 18 Novembre 2009

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.

Insert > Object > Chart

Primi passi con Geogebra

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

Capitolo Tavola e grafico

8 Introduzione MATLAB

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Appello di Fondamenti di Informatica 12/09/2017

Fondamenti di Informatica

Grafici. Un programma grafico inizia con un comando che chiude una eventuale finestra grafica precedente: close

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

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

MATLAB Elementi di grafica Costrutti di programmazione

Introduzione al MATLAB c Parte 2 Funzioni

MANUALE MATLAB. Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio.

L INTERFACCIA GRAFICA DI EXCEL

Excel 2. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

Mesh e nodi di trasformazione

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Nello scorso fascicolo 8 ZAKINPROGRESS COMPONENTI

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

Segmentazione di immagini in scala di grigio basata su clustering

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

INTRODUZIONE ALLA PROGRAMMAZIONE

Introduzione a MATLAB

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

Introduzione al linguaggio C Puntatori

Questi lucidi provengono dal capitolo 2 di:

CORSO DI LABORATORIO DI INFORMATICA

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

FON DAMEN TI DI IN FORMATICA

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Programmazione Matlab

CORSO BASE DI AUTOCAD

Vettori e Matrici. Vettori. Vettori e matrici: dati. Vettori di caratteri Polinomi. Dimensione (Size) numero di righe e di colonne della matrice

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Grafici e Pagina web

DISPENSA ACCESS (OFFICE 2010 BETA)

VIRTUAL REALITY TOOLBOX

Rappresentazione di curve in tre dimensioni

Elenco comandi. Apre un progetto precedentemente salvato. Avvia il programma in memoria: la tartaruga si muove lentamente.

Esercitazione 1: Introduzione a MATLAB

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

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

Funzioni, Stack e Visibilità delle Variabili in C

Linguaggi e Ambienti di Programmazione

Tipi di linea. Tipi di Linea - R.Virili 1

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)

Introduzione. Consente la condivisione con altri sul web delle proprie creazioni

1 (7) 2 (6) 3 (6) 4 (7) 5 (6)

I Clip Filmato. I marker. Informatica Grafica per le arti. I marker. I marker. I marker. I marker. gotoandplay("inizio");

Lezione 1: Introduzione al Corso Mercoledì 30 Settembre 2009

LEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio

Guida all installazione ed all uso di ASIM

Trasformazione in immagini vettoriali

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

Microsoft Excel VI parte: Frequenze & Grafici

Linguaggi, Traduttori e le Basi della Programmazione

Modularizzazione del software

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

3. Matrici e algebra lineare in MATLAB

Note sull utilizzo di ISAGRAF V. 3.31

Avviate Specifi dall icona presente sul vostro Desktop.

C: panoramica. Violetta Lonati

Le basi del linguaggio Java

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

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

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

LabView: Corso Base pag. 7

1. Breve introduzione 2. Sfondo trasparente 3. Gif animate

AUTOCAD: INTERFACCIA AUTOCAD: INTERFACCIA 2 AUTOCAD: INTERFACCIA. 2.1 premessa: ABBREVIAzIONI E ICONE 2.2 SCELTA DELL INTERFACCIA. ICONE Cmd Mnu.

Documentazione Metodi v0.6

Nella finestra successiva dovremo cercare l immagine che vogliamo appiccicare nel file.

Perché il linguaggio C?

Arch. Antonella Cafiero Studio di Architettura Lighting Design ss 275 km Miggiano -LEwww.cafieroarchitettura.it.

SOMMARIO. Introduzione

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

Manuale SEAS 3.0 Routine Aria Primaria

Transcript:

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 APPENDICE I RAFICA VANZATA IN Materiale Didattico predisposto con la collaborazione dell Ing. Paolo Finelli

Grafica Avanzata MATLAB fornisce un insieme di funzioni di basso livello che consentono di creare e manipolare linee, superfici ed altri oggetti grafici. Questo sistema è chiamato Handle Graphics. Gli oggetti grafici sono le primitive alla base del sistema Handle Graphics di MATLAB. Gli oggetti sono organizzati in una struttura gerarchica ad albero. Questo riflette l interdipendenza degli oggetti grafici. Ad esempio, l oggetto Line richiede l oggetto Axes come frame di riferimento. Di conseguenza, l oggetto Axes esiste solo all interno di un oggetto Figure. Graphics Objects Ci sono 12 tipi di oggetti nel sistema Handle Graphics: L oggetto Root è al vertice della gerarchia. Corrisponde allo schermo del computer. MATLAB automaticamente crea l oggetto Root all inizio della sezione. Gli oggetti Figure sono le finestre sullo schermo principale aldila della finestra di comando. Gli oggetti Uicontrol sono le interfaccie utente di controllo che eseguono una funzione quando gli utenti attivano l oggetto. Queste interfaccie includono pulsanti di vario tipo, barre, ecc. Gli oggetti Axes definiscono una regione in una finestra figure e orientano tutti le successive istruzioni ad operare in tale regione. Gli oggetti Uimenu sono interfaccie grafiche utente, si tratta di menu che risiedono al di sopra della finestra figure. Gli oggetti Image sono oggetti bi-dimensionali che MATLAB mostra utilizzando gli elementi di un array rettangolare come indice in una colormap. Gli oggetti Line sono la primitiva base per la maggior parte dei grafici bi-dimensionali. Gli oggetti Patch sono poligoni bordati pieni. Una singola Patch può contenere più faccie, ognuna colorata indipendentemente dalle altre con colori pieni o interpolati. Gli oggetti Surface sono delle rappresentazioni tri-dimensionali di dati matriciali creati tracciando il valore dei dati come l altezza al di sopra del piano x-y. Gli oggetti Text sono stringhe di caratteri. Gli oggetti Light definiscono la sorgente luminosa che illumina tutti gli oggetti nella zona definite da Axes. Object Handles Ogni singolo oggetto ha un unico identificatore, chiamato handle, che matlab assegna all oggetto quando questo viene creato. Alcuni grafici, come quelli ottenuti dalla sovrapposizione di più linee, sono composti da più oggetti, ognuno dei quali ha il suo proprio handle. Al posto di tentare di leggere l handle dallo schermo e di ridisegnarlo, si può provare ad immagazzianre il valore dell handle in una variabile e passare questa variabile ogni volta che l handle è richiesto. L handle dell oggetto root è sempre zero. Quello di una figura è un intero che, per default, è mostrato nel titolo della finestra. Handle di altri oggetti sono numero in virgola mobile che contengono le informazioni usate da MATLAB. Ad esempio, sia A, la matrice magica di Durer >> h = plot(a) crea un grafico che è un insieme di quattro linee, una per ogni colonna di A. E restituisce anche il vettore degli handle 2

h = 9.00024414062500 6.00048828125000 7.00036621093750 8.00036621093750 I valori numerici in se sono irrilevanti e variano da sistema a sistema. Questi numeri sono importanti perché rappresentano gli handle dei singoli grafici: h(n) è l handle della n-ma linea. MATLAB mette a disposizione diverse funzioni per accedere agli handle degli oggetti: gcf gca gco Si possono usare queste funzioni come argomenti di input per alter funzioni che necessitano di handle per figure e axes. Tutte le funzioni MATLAB che creano oggetti restituiscono l handle (o un vettore di handle) dell oggetto creato. Per rimuovere un oggetto bisogna utilizzare la funzione delete, passandogli l handle dell oggetto come argomento. Ad esempio, per eliminare l axes corrente (e tutti I suoi eventuali figli) si usa l istruzione: delete(gca) Funzioni per la creazione degli oggetti Per creare un certo oggetto bisogna richiamare il nome dell oggetto con gli opportuni parametri. Per esempio, la funzione text crea l oggetto text, la funzione figure crea l oggetto figure, e cosi via. Le funzioni MATLAB di alto livello (come plot e surf) richiamano le opportune funzsioni di basso livello per tracciare i rispettivi grafici. Le funzioni di basso livello non fanno altro che creare uno degli undici oggetti grafici definiti da MATLAB con l eccezione dell oggetto root, che è l unico oggetto che solo MATLAB può creare. Propietà degli oggetti Tutti gli oggetti hanno delle proprietà che controllano come sono visualizzate. MATLAB fornisce due meccanismi per settare il valore delle propietà. Le proprietà degli oggetti possono essere settate dalle stesse funzioni che creano gli oggetti, o possono essere cambiate con la funzione set dopo che l oggetto è stato già creato. Ad esempio, queste istruzioni creano tre oggetti e sovrascrivono alcune delle proprietà di default. days = ['Su';'Mo';'Tu';'We';'Th';'Fr';'Sa'] temp = [21.1 22.2 19.4 23.3 23.9 21.1 20.0]; f = figure a = axes('ylim',[16 26],'Xtick',1:7,'XTickLabel',days) h = line(1:7,temp) 3

Esempio delle proprietà degli oggetti Days è un array di caratteri contenente le abbreviazioni per i giorni della settimana mente temp è un array numerico contenente le temperature. La finestra figure è creata chiamando figure senza specificare nessun argomento, in tal modo essa avrà le proprietà di default. Gli assi (axes) esistono dentro la figura (figure) ed hanno uno specifico insieme di valori per: la scala dell asse y, e per l incremento sull asse x. La linea (line) esiste all interno dell asse ed ha uno specifico valore per le coordinate x-y. I tre handle degli oggetti (f,a,h) sono salvati per un successivo uso. set e get Le proprietà degli oggetti sono specificate referenziando gli oggetti dopo la loro creazione.. Per farlo, si utilizzando gli handle restituiti dalla funzione che li crea. La funzione set consente di settare ogni proprietà dell oggetto specificando l handle e la coppia proprietà valore. Ad esempio, per cambiare il colore e lo spessore della linea dell esempio precedente, >> set(h,'color',[0.8.8],'linewidth',3) To see a list of all settable properties for a particular object, call set with the object's handle: >> set(h) Color EraseMode: [ {normal} background xor none ] LineStyle: [ {-} -- : -. none ] LineWidth Marker: MarkerSize 4

... XData YData ZData Per vedere la lista di tutte le impostazioni correnti per un particolare oggetto, bisogna richiamare la funzione handle con parametro l handle dell oggetto: >> get(h) Color = [0 0.8 0.8] EraseMode = normal LineStyle = LineWidth = [3] Marker = none MarkerSize = [6]... XData = [ (1 by 7) double array] YData = [ (1 by 7) double array] ZData = [] Per interroggare il valore di una proprietà, si utilizza get con il nome della proprietà: >> get(h,'color') ans = 0 0.8000 0.8000 L oggetto axes ha un insieme di proprietà dettagliate dei grafici. Ad esempio, il titolo è un altro figlio di axes. Le istruzioni: t = get(a,'title'); set(t,'string','temperature','fontangle','oblique') specificano un titolo particolare. La funzione title fornisce un altra interfaccia con le stesse proprietà. GUI Interfaccia Grafica Utente Segue un esempio che mostra come usare l Handle Graphics per costruire un interfaccia utente. Le istruzioni b = uicontrol('style','pushbutton',... 'Units','normalized',... 'Position',[.5.5.2.1],... 'String','click here'); creano un pulsante (pushbutton) al centro della figure window e restituiscono un handle per il nuovo oggetto. Ma cliccando il pulsante nulla accade. L istruzione s = 'set(b,''position'',[.8*rand.9*rand.2.1])'; crer una stringa contenente un commando che altera la posizione del pulsante. Un esecuzione ripetuta di eval(s) muove il pulsante in una posizione casuale. In fine, set(b,'callback',s) 5

installa s come un pulsante con la funzione callback, cosi ogni volta che si clicca su un bottone, questo viene spostato in una nuova posizione. Animazioni MATLAB fornisce diversi modi per generare movimento, animazione, grafica. Si può utilizzare la proprietà EraseMode per sequenze lunghe di grafici semplici i cui cambiamenti da frame a frame sono minimi. Quello che segue è un esempio simulato di moto Browniano. Specificando il numero di punti, n = 20 e la temperatura o la velocità, s =.02 Il miglior valore per questi due parametri dipendono dalla velocità dello specifico computer sul quale viene eseguita la simulazione. Si generano n punti con le coordinate (x,y) casualmente comprese tra -1/2 +1/2 x = rand(n,1)-0.5; y = rand(n,1)-0.5; Si tracciano i punti in un quadrato con i lati che vanno da 1 a 1. Si salva l handle per il vettore di punti e si setta EraseModo a XOR. Queste fa si che il sistema grafico di MATLAB non ritracci l intero grafico ma soltanto le coordinate dei punti che sono cambiati, tuttavia per cancellare i punti gia tracciati utilizzando l operatore "exclusive or". h = plot(x,y,'.'); axis([-1 1-1 1]) axis square grid off set(h,'erasemode','xor','markersize',18) Adesso si incomincia con l animazione. Segue un loop infinito while, questo si può eventualmente bloccare digitando <ctrl>-c. Ogni volta nel ciclo, si aggiunge un piccolo disturbo alle coordinate dei punti. È questo direttamente sulle coordinate dei punti. while 1 x = x + s*randn(n,1); y = y + s*randn(n,1); set(h,'xdata',x,'ydata',y) end Filmati Se si incrementa il numero di punti nell esempio del moto Browniano portandolo n=300, il movimento non sarà fluido; occorrerà del tempo per tracciarlo ad ogni singolo passo. E più efficiente salvare un predeterminato numero di frame come come bitmap e lo salva come un filmato. Primo, si fissa un numero di frame nframes = 50 poi, si inizializzano i punti come fatto in precedenza, eccetto che per l uso di EraseMode. x = rand(n,1)-0.5; y = rand(n,1)-0.5; 6

h = plot(x,y,'.') set(h,'markersize',18) axis([-1 1-1 1]) axis square grid off Ora, si alloca abbastanza memoria per salvare completamente il filmato, M = moviein(nframes) Questo alloca una grande matrice con un numero di colonne pari a nframes. Ogni colonna è lunga abbastanza per salvarci un frame. L ammontare totale di memoria è proporzionale al numero di frames, e all area degli assi; ma è indipendente dalla particolare complessità del grafico. Ad esempio per 50 frame e una dimensione degli assi di default, occorrono più di 7.5 megabytes di memoria. Questo esempio utilizza assi quadrati, che sono leggermente più piccoli, cosi sono necessari solo 6 megabytes di memoria. Si genera il filmato e si usa getframe per catturare ogni frame. for k = 1:nframes x = x + s*randn(n,1); y = y + s*randn(n,1); set(h,'xdata',x,'ydata',y) M(:,k) = getframe; end In fine si riproduce la sequenza di fotogrammi come filmato: movie(30) 7