E-R Model
La definizione del modello Entità-Relazione potete trovarla a questo indirizzo.
Vi posto alcuni tutorial ed esercizi svolti che possono tornarvi utili per chiarire alcuni dubbi o assimilare meglio i concetti della modello E-R.
La definizione del modello Entità-Relazione potete trovarla a questo indirizzo.
Vi posto alcuni tutorial ed esercizi svolti che possono tornarvi utili per chiarire alcuni dubbi o assimilare meglio i concetti della modello E-R.
Ho ricevuto alcune mail inerenti a come modificare o creare una interfaccia grafica per il progetto Matlab. Posso segnalarvi questo ottimo tutorial che vi permette di creare in poco tempo un’interfaccia grafica in Matlab.
In fondo alla pagina ci sono altri link relativi ad altri tutorial su come costruire GUI in Matlab più complesse. Ve li riporto per semplicità:
MATLAB GUI Tutorial – Slider
MATLAB GUI Tutorial – Pop-up Menu
MATLAB GUI Tutorial – Plotting Data to Axes
MATLAB GUI Tutorial – Button Types and Button Group
MATLAB GUI Tutorial – A Brief Introduction to handles
MATLAB GUI Tutorial – Sharing Data among Callbacks and Sub Functions
Video Tutorial: GUIDE Basics
More GUI Tutorial Videos From Doug Hull
Piccolo consiglio: molto spesso è meglio fare le cose da zero invece che cercare di adattare cose che sono state fatte da altri soprattutto nell’ambito della programmazione. Modificare vuole anche dire “sapere dove mettere le mani” altrimenti perdete solo tempo inutile.
Come sempre per ogni domanda o problema sono a disposizione.
Dunque alcuni di voi hanno chiesto chiarimenti per quanto riguarda la colomap, o mappa dei colori, sull’esercizio relativo all’insieme julia. Per prima cosa eseguite uno dei due script che trovate in questa pagina e ottenete la figura dell’insieme julia, per esempio: >> julia
e cliccate su insert color bar. Potete anche andare su Edit nel menu della figura e cliccare su Colormap… e vi appare l’editor della mappa dei colori come segue:
Dall’help di Matlab (>> doc colormap), si evince che:
A colormap is an m-by-3 matrix of real numbers between 0.0 and 1.0. Each row is an RGB vector that defines one color. The kth row of the colormap defines the kth color, where map(k,:) = [r(k) g(k) b(k)]) specifies the intensity of red, green, and blue.
Dunque, se notate la matrice è fatta da 64 righe ognuna delle quali è un vettore di tre elementi che rappresenta quanto rosso, quanto verde e quanto blu (RGB) usare per definire il colore della riga i-esima.
Come potete osservare il grafico della figura usa una scala che va da 0 a 500 su entrambi gli assi, infatti la matrice B che viene creata ha una dimensione di 500×500 e, se provata a “guardarci dentro” vedrete valori da 0 a 14. Se eseguite il comando >> find(B>14) non otterrete alcun elemento, ossia non esistono celle della matrice il cui valore è più grande di 14. Ora notate la corrispondenza tra i valori della mappa dei colori e i valori presenti nella matrice.
Vi posto una nuova versione del file julia.m che stampa i primi dieci elementi della matrice che hanno valore 14. Dovreste individuare a spanne dove si trovano e verificare che in quella zona il colore è rosso scuro. Se volete potete usare le funzioni hold on e poi plot per visualizzare sulla figura i punti trovati.
Esercizio Expert A
per usare script e funzioni dovete settare il path o percorso dove avete salvato i file, per fare ciò andate su File > Set Path… e selezionate la cartella e poi cliccate su Save. I file sono stati inviati tramite email, chi non li avesse ricevuti è pregato di contattarmi.
Vi segnalo alcuni link per Matlab
Per scaricare MatLab e qualsiasi altro programma dal repository Ides dovete prima di tutto andare sul repository, selezionare il software che desiderate e seguire la procedura. Dopo alcuni secondi riceverete una mail con le istruzioni per prelevare il software e, nel caso di MatLab, il numero seriale e il file license.dat.
Per prelevare il software in ambiente Windows dovete seguire la seguente procedura:
aprite Esplora Risorse e andate su My Network, tasto destro del mouse e nel menu contestuale selezionate la voce Map Network Drive (o Connect Network Drive). Potete fare la stessa cosa cliccando sulla voce del menu in alto Tools e poi Map Network Drive. A questo punto vi apparirà la seguente finestra:
dove vedete scritto Z: indica la lettera del drive locale su cui mapperete il drive remoto con il software. Ossia quello che state facendo è dire a Windows: “per favore mappa il mio spazio sul server con i programmi da me acquistati su questo drive avente lettera Z:”. Dove vedete scritto folder dove inserire \\ides.ethz.ch\nomeutente senza le virgolette e sostituite nomeutente con il vostro nome utente. A questo punto cliccate su Finish e in automatico avrete il drive Z: nella gestione di risorse, cliccate sopra (se non si è già aperta la finestra) e copiate il software sul vostro Desktop o in qualche altra parte del vostro computer, poi installatelo.
Per Mac OsX la procedura è molto più semplice: cliccate sull’icona del Finder (la prima a sinistra nella Dock, quella con la faccina per intenderci) premete cmd-k (il tasto Command è quello a sinistra o a destra della barra di spazio, è un quadrato con quattro cerchi sugli angoli), si apre una finestra e nel campo Server Address scrivete afp://ides.ethz.ch e poi su Connect. Il drive viene montato sotto Shared nella finestra esplora risorse del Finder.
Per ogni problema o dubbio contattatemi o lasciate un commento così da essere di aiuto anche agli altri.
Se qualcuno avesse MatLab su cd/dvd sia per Windows che per Mac è pregato di darlo ai colleghi che hanno difficoltà a prelevare il software dal repository oppure portarlo in aula domani pomeriggio.
Punto 5: calcolare l’area del cerchio
Q: un vostro collega mi ha chiesto come calcolare l’area del cerchio avendo un numero non precisato di raggi.
A: dovete creare una funzione che accetta in input un vettore v di raggi, la funzione per ognuno di essi calcola il valore dell’area del cerchio corrispondente. Download m-file: areaCerchio.m
Per svolgere l’esercizio 4 dovete conoscere un po’ di latex e capire ovviamente come funziona il sistema che compila e produce il pdf.
Vi consiglio di dare un occhiata a questo tutorial, non dovete leggerlo tutto ma solo le parti che vi servono per svolgere l’esercizio. Nel caso in cui dobbiate fare qualche cosa di più complesso allora riprenderete il tutorial o qualche altro libro di riferimento.
In particolare date un occhio alla lezione del tutorial sulle bibliografie, molto utile per capire come scrivere un file di bibliografia, usarlo, compilare correttamente il file e ottenere l’output desiderato.
Installazione di LaTeX
Prima di tutto dovete installare il compilatore LaTeX con i vari package e utility, è quasi diretta come operazione. Gli utenti Mac possono scaricare il file dmg (circa 700MB) contente proprio tutto.
Poi vi serve un editor che permetta di salvare in formato UTF-8 oppure ASCII o qualche altra codifica che dovrete specificare nel file tex.
Per Windows esiste TeXnicCenter, mentre per Linux potete usare l’ottimo Kyle. Un ottimo editor cross-platform (ossia che esiste per tutti i sistemi citati Mac, Linux, Win) è Texmate.
Google Scholar
Un altro suggerimento è relativo a google scholar, andate sulla pagina suggerita, cliccate su Scholar Preferences, andate in fondo alla pagina e spuntate l’opzione Show links to import citations into BibTeX. Ora provate a cercare qualche cosa in google scholar inserendo opportune parole chiavi (es. database o altro) e potete notare, sotto ogni risultato di ricerca, il link Import into BibTeX.
Quando cliccate sopra sul link otterrete il testo della citazione da copiare e incollare nel file di bibliografia, per esempio:
@conference{cremonesi2008evaluation,
title={{An Evaluation Methodology for Collaborative Recommender Systems}},
author={Cremonesi, P. and Turrin, R. and Neptuny, I. and Lentini, E.
and Matteucci, M.},
booktitle={Proceedings of the 2008 International Conference on Automated
solutions for Cross Media Content and Multi-channel Distribution},
pages={224--231},
year={2008},
organization={IEEE Computer Society}
}
Articolo scientifico in LaTeX
Come promesso vi allego i file tex dell'articolo e bib della bibliografia che potete scaricare e compilare nel seguente modo:
pdflatex main
bibtex main
pdflatex main
pdflatex main
ottenendo il seguente risultato in pdf.
Vediamo una differenza tra l’uso di una normale codifica ASCII e l’uso della codifica Unicode UTF-8 usando la seguente semplice stringa “ciao”. Premetto che nel linguaggio informatico le parole sono ottenute accostando caratteri e la parola prende il nome di stringa.
Codifica ASCII
Come potete osservare dall’immagine sottostante il carattere “c” è colorato di rosso per indicare che è il carattere selezionato. Una volta selezionato tale carattere possiamo ottenere tutte le informazioni necessarie come la codifica esadecimale (ossia si usano 16 simboli invece dei soliti 10 della codifica decimale) e quella binaria.
Ragioniamo un attimo sulla rappresentazione esadecimale e binaria: il carattere selezionato è “c” che secondo la tabella ASCII ha un valore decimale pari a 99. Il numero 99 in binario equivale a 01100011 e per portarlo in codifica esadecimale non dobbiamo fare altro che suddividere la rappresentazione binaria in gruppi di 4 bit partendo da destra. Quindi otteniamo 0110 0011, ora trasformiamo ogni quartetto di bit in numero secondo la codifica esadecimale e otteniamo 0110 = 6 e 0011 = 3, ossia il numero 63.
Per chiarire meglio consideriamo anche il carattere “o” che secondo la tabella ASCII vale 111. Codifica binaria uguale a 0110 1111 che in esadecimale diventa 6F.
Codifica UTF-8
Riprendiamo ora lo stesso esempio della stringa “ciao” ma aggiungiamo anche il carattere “ü” e vediamo come viene codificato.
Focalizziamoci sul carattere “ü” selezionato (in rosso) e notiamo come per esprimerlo ci servono 2 byte. La codifica UTF-8 utilizza 1 byte per i normali 128 caratteri ASCII e fino a 4 byte per tutti gli altri caratteri. Il vantaggio si nota se pensate a un testo LaTeX: nella maggior parte dei casi quando scrivete utilizzate normali caratteri ASCII e meno frequente usate caratteri speciali. Dunque perché sprecare byte?
ASCII art
L’arte ASCII è un modo di presentare contenuti o immagini usando i caratteri della codifica ASCII. Era molto in voga negli anni 80 – 90 quando si faceva uso per lo più di terminali testuali e non interfacce grafiche (GUI) per interagire con l’elaboratore o computer. Eccone un esempio:
-=[ Charlie Brown ]=- 4/97
____
.-'& '-.
/ \
: o o ;
( (_ )
: ;
\ __ /
`-._____.-'
/`"""`\
/ , \
/|/\/\/\ _\
(_|/\/\/\\__)
|_______|
__)_ |_ (__
jgs (_____|_____)