Grafica

SCILAB possiede un vasta gamma di sistemi per visulizzare vettori e matrici come grafici, cosi' come annotazioni e stampa di questi grafici. Questa sezione descrive alcune delle piu' importanti funzioni grafiche assieme ad alcuni esempi sulle applicazioni tipiche.

E' possibile usare svariate finestre grafiche, ScilabGraphicxx ha il numero di finestre usate per la gestione delle finestre ma in qualsiasi momento solamente una finestra e' attiva. Sulla finestra principale di SCILAB, il bottone Graphic Window x viene usato per gestire le finestre : x denota il numero della finestra attiva. Possiamo settare (creare), attivare o cancellare la finestra numerata con x, in particolare possiamo creare direttamente la finestra grafica numero 10. L'esecuzione di un comando di plot automaticamente crea la finestra se necessario. (Nota del traduttore: Su PC questa descrizione è da considerare rispetto ai titoli della finestra).

Ci sono 4 pulsanti sulla finestra grafica:
3D Rot.: per applicare una rotazione con il mouse ad un plot 3D. Il pusante e' inibito per un  plot 2D. Per l'aiuto sulla manipolazione (rotazione con angoli specifici) gli angoli di rotazione sono dati nella parte superiore della finestra.
2D Zoom: Ingrandimento su un plot 2D. Questo comando puo' essere ricorsivamente invocato. Per un plot 3D questo pulsante non e' inibito ma non ha provoca nessun effetto anche se selezionato.
UnZoom: ritorna al plot iniziale (non al plot corrispondente al precedente zoom in caso zoom ulipli).

Questi 3 pulsanti che agiscono sul plot non sono sempre in uso; vedremo successivamente che ci sono scelte differenti per i dispositivi sottostanti  cosi' come per gli zoom e le rotzioni che richiedono una registrazione dei comandi di plot.
File: Questo pulsante apre differenti comandi e menu'.

Il primo e' semplice : Clear semplicemente cancella la finestra (senza avere alcun effetto sul contenuto grafico della finestra).

Il comando Print... apre un pannello per la stampa. In Unix, le stampanti sono definite nelo script principale di SCILAB, SCIDIR/bin/scilab (ottenuto da "make all'' dal file origine SCIDIR/bin/scilab.g).

Il comando Export apre un pannello di selezione per ottenere una copia del plot in un file con un formato specifico (Postscript, Postscript-Latex, Xfig).

Il comando save direttamente salva il plot su un file con un specifico nome. Il file puo' essere trovato caricato successivamente in SCILAB per un nuovo plot.

Il comando Close e' lo stesso comando del precedente Delete Graphic Window dalla finestra principale ma semplicemente applicato alla finestra corrente (il contenuto grafico viene ovviamente cancellato).

 

 

 

Per creare un Plot

La funzione plot ha differenti forme, dipendenti dagli argomenti in ingresso. Se y ie' un vettore, plot(y) prodcue un  un ragionevole grafico lineare degli elementi di y rispetto ad un indice degli elementi di y stesso. Se specifichi due vettori  come argomento, plot(x,y) produrra' un grafico di y rispetto ad x.

Per esempio, per plottare il valore della funzione seno da 0 a 2, usa:

   t  =  0:%pi/100:2*%pi;

   y = sin(t);

   plot(t,y);

 

 

Multiple coppie x-y creanomutipli grafici con una singola chiamata a plot. SCILAB automaticamente cicla attraverso una predefinita (ma dall'utente settabile) lista di colori per poter discriminare tra ciascun set di dati. Per esempio, questi comandi stampano due funzioni relative a t, dove ciascuna viene plottata in un colore distinto.

Per esempio,

plot([sin(t);cos(t)]);

 produces,

 

 

 

 

 Sotto-plots (subplots)

La funzione subplot permette di visualizzare plot mltipli nella stessa finestra o stqamaparli sullo stesso foglio di carta.

Digita,

        subplot(m,n,p)
        subplot(mnp)

spezza la visualizzazione della finestra in una m per n matrice di sotto plots e seleziona il pth subplot per il corrente plot. I plots sono numerati seguendo la prima riga della figura nella finestra, quindi la seconda riga e cosi' via. Per esempio, per plottare dati in quattro diferenti sottoregioni :

        subplot(221)
        plot2d()
        subplot(222)
        plot3d()
        subplot(2,2,3)
        param3d()
        subplot(2,2,4)
        hist3d()

produce,

 

 

 

 

 

 

Controllo degli assi

Ordinariamente, SCILAB trova il massimo ed il minimo dei dati e sceglie un appropriato plot box ed una etichetta per l'asse. La funzione axis sovrascrive il set di default con limiti degli assi customizzati,

        square(xmin xmax ymin ymax)

I valori richiesti xmin, xmax, ymin, ymax sono il confine della squadratura grafica e square, cambia la dimensione della finestra grafica per avere un plot isometrico.

Digitando,

        xset("default")

La misura originale verra' usata per la finestra grafica.
 

 

Etichette e titoli degli assi

Le etichette degli assi x e y e il testo del ttitolo del plot possono essere dati dalla funzione plot stessa. Digitando

        plot(x,y,[xcap,ycap,caption])

Per esempio,

        x=0:0.1:2*%pi;
        // simple plot
        plot(sin(x))
        // using captions
        xbasc()
        plot(x,sin(x),"sin","time","plot of sinus")

Produce,

 

 

 

 

 

 

 

Stampare grafica

L'opzione Print nel menu' File ed il comando print appartengono entrambi al modod'uso di MATLAB. Il menu' Print apre un box didialogo per permettere la stamapa della figura.

 

Dalla finestra alla carta

Il comando piu' semplice per ottenere una copia su carta di un plot e' di cliccare sul pulsante print  nella finestra grafica di SCILAB.

Creare un file Postscript

         La via piu' semplice per creare un file Postscript contenente il plot SCILAB e' :

        driver('Pos')   // seleziona un driver di stampa

        xinit('foo.ps')  // inizializzazione del driver di stampa

        plot3d1();       // dimostrazionedi plot3d1

        xend()           // chiude la sessione grafica

        driver('Rec')

        plot3d1()

        xbasimp(0,’foo1.ps’)   //spedisce la grafica ad una stampante postscript o ad un file

       

Il file postscript (foo.ps or foo1.ps ) generato da SCILAB nonpuoì essere spedito direttamente ad una stampante postscript, gli serve un "preambolo" di stampa. Quindi, la stampa avviene atraverso l'uso di Unix scripts o programmi  che sono inclusi in SCILAB. Il programma Blpr viene usato per stampare un set di grafica SCILAB su un singolo foglio e viene usato come segue:

Blpr string-title file1.ps file2.ps > result

Puoi stampare poi il file risultante con il classico comando unix :

lpr -Pprinter-name result

oppure usare l'interprete postricpt ghostview sulla tua workstation unix e vederne il risultato.