Ovviamente si, ed è la scelta che vi consiglio. La cosa funziona così: supponiamo che siano stati generati alcuni file relativi alle osservazioni o stime di un parametro del sistema, al variare di un fattore (es. la stima del throughput al variare del numero utenti ). Abbiamo quindi un file che raccoglie i dati del throughput del sistema A (nome del file: Thr_sist_A) con questo contenuto:
2 0.543 0.537 0.560
4 0.789 0.775 0.812
10 1.23 1.15 1.40
....
200 22.34 20.65 24.18
Ogni riga del file contiene 4 valori separati da almeno un blank: il primo valore (facoltativo) è il valore del fattore numero di utenti (2,4,10...200) ovvero il valore in ascissa del grafico per il quale vale la stima che segue, poi c'è il valore centrale della stima del throughput (obbligatorio), e quindi i due estremi (facoltativi) dell'intervallo di confidenza per la stima. In sintesi, il minimo richiesto è un file di dati con un dato su ogni riga: in tal caso tutti i valori sono mostrati nel grafico con l'ascissa incrementata di una unità. Nel caso venga specificato il valore del fattore (2,4,10,...200) i valori della stima saranno invece inseriti alla distanza corretta, secondo l'ascissa (cioè per x=2, x=4, x=10...).
A questo punto potremmo avere diversi file di questo tipo (es. Thr_sist_A e Thr_sist_B), e intendiamo mostrare il confronto tra i sistemi A e B nello stesso grafico (ovviamente, per quanto visto prima, entrambi i grafici devono avere o non avere entrambi l'etichetta relativa al valore del fattore a cui la stima fa riferimento, altrimenti le curve che ottengo non sono messe in alcuna relazione utile al confronto).
Per ottenere il grafico posso quindi creare un file di testo con estensione (.gp): ad esempio "grafico_throughput.gp" simile a questo:
1 set terminal postscript eps
2 set size 1,1
3 set output "grafico_throughput.ps"
4 set title "Confronto del throughput sistemi A e B"
5 set xlabel "Numero di utenti nel sistema"
6 set ylabel "Throughput del sistema"
7 set xtics (2, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200)
8 set yrange [0.0:0.9]
9 set key 180,0.64
10 plot [2:200] \
11 "Thr_sist_A" title "sistema A" with lines 1, \
12 "Thr_sist_A" notitle with errorbars, \
13 "Thr_sist_B" title "Sistema B" with lines 2, \
14 "Thr_sist_B" notitle with errorbars
15 show key
16 show xlabel
17 show ylabel
18 show output
La numerazione delle righe è stata inserita per i riferimenti
che seguono (e va omessa).
Va considerato che molte delle righe presenti sono opzionali (vedere help
di gnuplot per i dettagli).
In generale ogni riga corrisponde a un comando che è possibile invocare dalla shell dell'applicazione gnuplot.
Riga 1: specifica il tipo di grafico creato (postscript)
2: specifica la dimensione (standard 1,1) della figura: alterando uno degli
indici si ottiene la modifica delle proporzioni Orizz. e Verticale
3: specifica il nome del file di output creato (il grafico)
4: specifica l'etichetta Titolo del grafico
5: specifica l'etichetta dell'ascissa
6: specifica l'etichetta dell'ordinata
7: specifica esplicitamente i valori dell'ascissa per i quali si vuole un'etichetta
valore
8: specifica il range dell'ordinata che si vuole mostrare nel grafico
9: specifica la posizione della legenda del grafico (x,y)
10: questa è l'invocazione del comando che crea il grafico. [2,200]
rappresenta il range di valori di ascissa (delle osservazioni) da graficare.
Notare che si fa riferimento al valore specificato in colonna 1 del file,
oppure all'indice ordinale dell'osservazione. [,] causa la graficazione di
tutti i dati disponibili. Notate che il carattere \ (backslash) determina
un "a capo" senza interruzione della linea. Il comando splot permette
di creare grafici 3D z=f(x,y), ma per questo potete vedere l'help.
11: questo è il primo parametro del comando plot: Tra ""
occorre inserire il path/nome del file di dati da graficare. Può seguire
(sulla stessa linea) il parametro title "testo del titolo della linea
nella legenda del grafico" (oppure notitle) e quindi il parametro
with lines 1, oppure with errorbars.
Nel caso specificato si usa with lines, il che implica un grafico per linee
(le alternative sono molte, vedi help). Il valore 1 indica il tipo di linea
usata per differenziare le curve (1,2,3,4,5....)
12: questo parametro ripete il file precedente, in quanto questa linea indica
l'inclusione nel grafico degli intervalli di confidenza (errorbars) per le
osservazioni su colonna 3 e 4 del file Thr_sist_A.
13 e 14: vedi 11 e 12 per il file B. N.B. le linee 11 e 12 possono essere
estese a molti altri file di dati....
Le linee finali servono a mostrare e includere nel file grafico i componenti inclusi nella definizione.
A questo punto, basta invocare gnuplot con argomento il file.gp e ottenete il grafico (salvo errori). That's all folks!
Il manuale in linea e': file:///scsusr/software/simulog/modline/doc.dir/user.html
I dettagli vorrei darli a lezione (la prossima settimana), ma per i più impazienti....(comunque prudenza! e segnalate via e-mail eventuali problemi)
I passi da 1 a 5 sono da fare solamente la prima volta che
si utilizza il simulatore.
N.B. consiglio di fare una copia della configurazione di ambiente originale,
a scanso di sorprese nell'utilizzo di applicazioni predefinite (es. latex).
1) Collegarsi ad una macchina del cluster SUN (attraverso ssh)
2) cd /scsusr/software/simulog/modline
3) make user (tutte le scelte di default che il programma propone possono
essere accettate senza problemi)
A questo punto e' stato creato il file .modlinerc.csh nella popria home.
Per rendere attiva la nuova configurazione occorre tornare nella propria home:
4) cd
ed eseguire:
5) source .cshrc
Per cominciare un progetto potete creare un oggetto "dir" tramite:
6) make dir NAME=name_you_want
poi entrate nella nuova cartella creata e lanciate il workbench grafico (sotto
X):
7) xdtm (X desktop manager)
Li potete scaricare da
/scsusr/software/simulog/modline/packages.toolbox/qnet.tool/demo.dir/ in formato tar.gz.
Basta copiarli nella propria home e scompattare il tutto, poi procedere come abbiamo visto a lezione.
Leggete il README che si trova nella stessa cartella per avere informazioni su cosa rappresentano i modelli e quali sono le loro caratteristiche peculiari.
X 100000 i 1 727633698 1061288424 276090261 721958466 1808217256 373135028 1521138112 706178559 1341315363 851767375 263032577 |
X 100000 (i+1) 46831694 933588178 1961692154 1066728069 1371272478 2095021727 717419739 298370230 110356601 709314158 606179079 753643799 |
X 100000 (i+2) 1841581359 804159733 1227283347 209208115 675466456 1769349045 881155353 1140279430 884434366 591449447 1500869201 202794285 |
X 100000 (i+3) 1193163244 1671059989 1171034773 554590007 1095462486 904914315 1489529863 1335826707 962338209 431918286 1434868289 715851524 |