Come creare, modificare e organizzare i moduli scilab (in Windows)

A cura di: Felice Fusco, Disat, Università dell'Aquila, 2006.
Corso: Laboratorio informatico per l'ingegneria civile, Facoltà di Ingegneria, Università dell'Aquila.


Organizzazione di file e Directory

Un file è un'insieme di informazioni memorizzate su un supporto magnetico.

Una directory (chiamata anche Folder o Cartella) è un contenitore in cui possono essere collocati gruppi di file o altre directory; le directory contenute in altre directory cono chiamate subdirectory (o sottocartelle).

Le Directory

L'organizzazione delle cartelle secondo uno schema gerarchico “ad albero” (organizzazione in cui, tranne una directory chiamata root, ogni directory è contenuta in un'altra), ha lo scopo di ordinare l'insieme dei file presenti in un sistema e di permettere il recupero delle informazioni in essi contenuti in modo rapido ed intuitivo.

Fig. 1 – Esempio di struttura ad albero.


In fig. 1 è raffigurato un esempio di organizzazione delle cartelle secondo uno schema gerarchico ad albero. Nel caso illustrato in fig. 1 la directory Laboratorio Informatico è un contenitore che raccoglie tutte le informazioni relative all'omonimo corso e le separa da quelle relative ad altri ambiti presenti nel sistema; al suo interno sono presenti tre sottocartelle (Lezioni – Scilab – Varie) che servono a differenziare ulteriormente le informazioni relative al corso. Seguendo lo stesso principio, la subdirectory Lezioni contiene altre sottocartelle, ciascuna nominata con il giorno in cui è stata svolta la lezione, che conterranno i file di scilab sviluppati in quella data. Nel corso delle lezioni del Laboratorio Informatico si consiglia di organizzare file e directory in modo simile a quello esposto. È consigliabile, comunque, non eccedere né limitare eccessivamente l'annidamento delle cartelle (livelli successivi di subdirectory), perché nel primo caso diventa laborioso e nel secondo difficoltoso raggiungere l'informazione ricercata.

Ogni directory è raggiungibile seguendo il percorso che individua la sua posizione all'interno del sistema. Un percorso inizia con l'indicazione della lettera che individua il supporto magnetico nel quale è situata la cartella (hard disk, Cd-rom, DVD, floppy, Usb Pen, ecc.) seguita da : , e prosegue con la lista della sequenza di directory, separate da barre oblique (slash), che porta alla directory che si desidera specificare.

Ad esempio il percorso che individua la posizione della directory Laboratorio Informatico presente in fig. 1 è:

E:\win\

Il percorso della cartella 05_10_05 è:

E:\win\Laboratorio Informatico\

I Files

Un file è identificato dal nome e dall'estensione; nome ed estensione sono separati da un punto.

Ad esempio in funzioni.sce, funzioni rappresenta il nome del file ed sce rappresenta l'estensione.

L'estensione di un file, che è rappresentata dai caratteri che seguono il punto, serve a permettere al sistema operativo di un computer di determinare il tipo di dati memorizzati nel file ed utilizzare un appropriato programma per eseguirlo o modificarlo; così l'estensione sce indica che si tratta di un file Scilab, un file con estensione bmp indica che contiene un'immagine, uno con estensione mp3 contiene audio, ecc..

Anche un file, come una directory, è raggiungibile seguendo il percorso che individua la sua posizione all'interno del sistema; ad esempio il percorso che individua la posizione del file retta tangente.sce presente in fig. 1 è:

E:\win\ Laboratorio Informatico\05_10_05\

Le operazioni più comuni fatte sui file sono:

  • Apertura - procedura che permette, di accedere alle informazioni contenute in un file ed utilizzarle;

  • Salvataggio - procedura che rende definitive le modifiche apportate al file e che, quando è eseguita la prima volta, porta alla creazione del file stesso. E' opportuno, per una immediata individuazione dei contenuti di un file, mettere questi in relazione al suo nome. Ad esempio un file di Scilab che conterrà delle funzioni potrebbe essere chiamato funzioni.sce;

  • Chiusura - operazione che si esegue quando non si ha più bisogno della disponibilità delle informazioni contenute del file.

Un'indicazione delle modalità operative per l'esecuzione delle operazioni elencate, effettuate con l'ausilio del programma appropriato al tipo di file cui sono destinate, è data più avanti (con riferimento ad un tipo di file Scilab).

Altre operazioni possono essere effettuate sulle directory e sui file senza l'utilizzo di alcun programma; le più comuni sono:

  • Copia - procedura che permette di duplicare un file/directory;

  • Rinomina - procedura per modificare il nome di un file/directory;

  • Taglia - procedura che sposta il file/directory in un percorso differente da quello originario;

  • Elimina - operazione che cancella il file/directory con conseguente perdita definitiva delle informazioni in esso contenute;

Le operazioni su elencate si possono fare in tanti modi; i più comuni sono:

  • Attraverso la barra dei menù (menù file o modifica);

  • Attraverso il menù contestuale (visualizzato premendo il tasto destro del mouse sul file/directory);

  • Attraverso shortcut (abbreviazioni ottenute con combinazioni di tasti).

A fianco di molti dei comandi presenti nella barra dei menù sono indicate delle combinazioni di tasti la cui esecuzione è equivalente a cliccare sul comando presente nella barra dei menù; ad esempio la pressione contemporanea dei tasti Ctrl e c equivale a selezionare Copy e quella di Ctrl e v equivale a selezionare Paste.

L'operazione Copia si esegue selezionando con il tasto sinistro del mouse il file o directory da copiare, eseguendo il comando Copia in una delle differenti modalità su elencate, raggiungendo il percorso dove si vuole copiare il file o la directory, ed eseguendo il comando incolla in uno dei modi su elencati. La copia se effettuata nello stesso percorso impone che il file o la directory copiata abbiano un nome differente da quello originario, in quanto non possono coesistere, nello stesso percorso file o directory omonimi.

L'operazione Taglia, va eseguita con le stesse modalità dell'operazione Copia ( ad eccezione del fatto che il primo comando da eseguire è Taglia).

Le operazioni Rinomina e Elimina vanno eseguite selezionando con il tasto sinistro del mouse il file o la directory interessate, ed eseguendo il relativo comando utilizzando una delle modalità elencate in precedenza.

Fig. 2 - Primo passo della procedura Copia di un file (si seleziona il file con il tasto sinistro del mouse e, attraverso il menù contestuale, si seleziona il comando copia)


Fig. 3 - Secondo passo della procedura Copia di un file (si raggiunge il percorso dove si vuole copiare il file e, attraverso il menù contestuale, si seleziona il comando incolla)


Fig. 4 - Procedura Copia di un file (viene effettuata la copia del file nel percorso prescelto)


Fig. 5 – Primo passo della procedura Taglia relativa ad un file (si seleziona il file con il tasto sinistro del mouse e, attraverso la barra dei menù, si seleziona il comando Taglia)


Fig. 6 – Secondo passo della procedura Taglia relativa ad un file (si raggiunge il percorso dove si vuole spostare il file e, attraverso la barra dei menù, si seleziona il comando incolla)


Fig. 7 - Procedura Taglia relativa ad un file (viene effettuato lo spostamento del file nel percorso prescelto)


Fig. 8 - Procedura Elimina relativa ad un file (si seleziona il file da eliminare e tramite il menù contestuali si selezione il comando elimina)


Fig. 9 - Procedura Elimina relativa ad un file (il sistema può essere impostato in modo tale da richiedere la conferma dell'eliminazione del file selezionato)


Le finestre di Scilab.

Le finestre del programma Scilab utilizzate nelle esercitazioni del Laboratorio Informatico sono:

  • Scilex;

  • Scipad;

  • Scilab Graphic.

La finestra Scilex, che è quella che compare quando avviamo il programma, ha questo aspetto:

Fig. 10 – Finestra Scilex


Questa finestra viene utilizzata per eseguire comandi, per visualizzare risultati e, qualora fossero presenti, per visualizzare messaggi di errore.

Per eseguire un comando su questa finestra è sufficiente digitare il nome del comando e premere il tasto return (invio).

Se ad esempio digitiamo

-->a=2*5;

e premiamo return, abbiamo eseguito il comando che attribuisce alla variabile a il valore del prodotto 2*5.

Digitando

-->a

e premendo return, visualizziamo il contenuto della variabile a.

Digitando

-->c

e premendo return sulla finestra Scilex verrà visualizzato il seguente messaggio di errore:

  !--error 4
undefined variable : c

che ci informa del fatto che la variabile c non è definita.

Nelle esercitazioni svolte durante il Laboratorio informatico la finestra Scilex sarà utilizzata soprattutto per la ricerca degli errori e per visualizzare i risultati dei comandi impartiti, mentre per eseguire i comandi, salvarli e modificarli verrà utilizzata la finestra Scipad.

La finestra Scipad è un editor di testo incluso nel programma Scilab; per visualizzarlo è sufficiente selezionare, cliccando con il tasto sinistro del mouse, Editor nella barra dei menù della finestra Scilex, o eseguire, sulla stessa finestra, il comando Scipad() e premere return.

Fig. 11 – Apertura della finestra Scipad dalla barra dei menù.


Fig. 12 – apertura della finestra Scipad da riga di comando.


La finestra Scipad, come tutti gli editor di testo, permette di scrivere, modificare e salvare del testo; in più, ha delle funzioni specifiche che consentono di mandare in esecuzione i comandi che vi sono scritti, sulla finestra Scilex.

Per scrivere all'interno dell'editor Scipad basta, dopo aver cliccato all'interno dello stesso, digitare sulla tastiera il contenuto che vi si vuole trasferire. I caratteri digitati vengono impressi nel punto dove è posizionato il cursore che è quella barra verticale che lampeggia sull'editor.

Alcuni tasti della tastiera presentano più di un carattere; in tal caso per digitare il carattere più in alto, è necessario premere il tasto che lo contiene tenendo premuto il tasto Maiusc (Shift – può esservi rappresentata una freccia verticale con la punta rivolta in alto), mentre per digitare il carattere posizionato più a destra bisogna premere il tasto che lo contiene tenendo premuto il tasto AltGr. Per cancellare del testo un carattere per volta, si utilizzano i tasti Canc (Del) o Backspace (Bksp - che può presentare una freccia orizzontale con la punta rivolta a sinistra); ogni pressione del tasto Canc cancella un carattere a destra del cursore, mentre la pressione del tasto Backspace ne cancella il carattere a sinistra. Nel caso si voglia eseguire un'operazione su una porzione di testo bisogna prima selezionarla e poi eseguire l'operazione. Per selezionare una porzione di testo tramite la tastiera si tiene premuto il tasto Maiusc e, mediante i tasti cursori (i quattro tasti su cui sono rappresentate delle frecce, due verticali e due orizzontali) si estende la selezione del testo nella direzione del tasto cursore premuto. Per selezionare una porzione di testo tramite il mouse, una volta posto il cursore nella posizione voluta, tenendo premuto il tasto sinistro del mouse si estende la selezione nella direzione del movimento dello stesso. Dopo aver selezionato una porzione di testo si può, ad esempio:

  • cancellarlo premendo il tasto Canc o il tasto Backspace;

  • fare una copia selezionando Edit Copy dalla barra dei menù e, dopo aver posto il cursore nella posizione scelta, selezionando Edit Paste (oppure utilizzando la successione di shortcut Ctrl-c e Ctrl-v);

  • spostarlo, premendo Ctrl-x e, dopo aver posto il cursore nella nuova posizione, premendo Ctrl-v (volendo agire tramite la barra dei menù selezionare prima Edit Cut e poi Edit Paste).

Supponiamo di avviare la finestra Scipad e di scrivere il seguente codice:

function
y=f(x), y=10+20*x^2+x^3,endfunction;
x=[-20:.1:10];
x0=-2
d=8
plot2d(x,f(x))

per mandare in esecuzione la totalità dei comandi presenti sull'editor è sufficiente cliccare sulla barra dei menù su Execute Load into Scilab, o in alternativa premere contemporaneamente i tasti Ctrl-L (shortcut)

Fig. 13 – Esecuzione della totalità dei comandi presenti sulla finestra Scipad.


Per eseguire soltanto una parte dei comandi scritti sull'editor si può, dopo aver selezionato la parte interessata, cliccare sulla barra dei menù su Execute Evaluate Selection, o premere contemporaneamente i tasti Ctrl ed y.

Fig. 14 – Esecuzione dei soli comandi selezionati.



Per preservare la sessione di lavoro ai fini di un uso successivo è necessario memorizzarla sul disco del computer eseguendo il comando Save (Salva); a tale scopo è sufficiente cliccare sulla barra dei menù su File Save, o premere contemporaneamente i tasti Ctrl ed s. Questa operazione porterà alla generazione di un file che potrà essere riutilizzato in sessioni di lavoro successive.

Se la sessione di lavoro viene salvata per la prima volta, il programma chiede di indicare il percorso dove salvare il file ed il relativo nome; negli altri casi le modifiche alla sessione di lavoro vengono salvate nel file creato in precedenza.

Ad esempio, per salvare il testo scritto in precedenza su Scipad, in un file di nome esempio.sce nel percorso C:\

  1. premiamo i tasti Ctrl-s;

  2. nella finestra Salva con nome ricerchiamo il percorso scelto C:\;

  3. nella casella di testo della finestra Salva con nome indicare il nome del file compresa l'estensione ossia esempio.sce1;

  4. nella finestra Salva con nome cliccare sul pulsante Salva.

Fig. 15 – Salvataggio di un file di scilab.


Per riutilizzare il lavoro svolto in una sessione di lavoro precedente bisogna eseguire il comando Open (Apri), ossia cliccare sulla barra dei menù su File Open, o premere contemporaneamente i tasti Ctrl-o e selezionare il file nel quale la sessione di lavoro era stata salvata.

L'editor Scipad permette di visualizzare ed operare contemporaneamente con più files; cliccando sulla barra dei menù su File Open in new horizontal tile, oppure su File Open in new vertical tile è possibile aprire più files e suddividere la finestra in modo da visualizzarne ciascuno in una sezione.

Fig. 16 – Suddivisione della finestra Scipad in tre sezioni per visualizzare un file in ciascuna di esse.


Nel caso vengano aperti più files, per poter operare con uno di essi si deve rendere attiva la sezione della finestra di Scipad che lo contiene, cliccando al suo interno.

È possibile di includere le funzioni definite in un file di Scilab all'interno di un altro senza trascriverle.

La funzione che svolge questa compito è getf. Se ad esempio volessimo includere le funzioni contenute nel file di nome funzioni.sce all'interno del file aperto nell'editor Scipad, il comando da scrivere è:

getf('d:\Laboratorio_informatico\funzioni\funzioni.sce')

La funzione getf richiede come unico parametro il percorso completo del file da includere, che quindi va riportato nelle parentesi tonde tra apici. Se vogliamo evitare di indicare il percorso completo del file, dobbiamo fare in modo che la directory nella quale esso è situato diventi quella di lavoro corrente; questo, nel caso dell'esempio precedente si ottiene, attraverso l'utilizzo del comando cd (change directory), digitando sulla finestra Scilex:

cd  d:\Laboratorio_informatico\funzioni\
e premendo return. A questo punto per includere le funzioni contenute nel file di nome funzioni.sce all'interno del file aperto nell'editor Scipad basterà scrivere:
getf('funzioni.sce')

Volendo visualizzare quale è la cartella di lavoro corrente basta digitare sulla finestra Scilex il comando pwd (print working directory) e premere return.

La finestra Scilab Graphic è utilizzata per visualizzare i grafici.

Alcune funzioni, come ad es. Plot2d, producono automaticamente l'apertura della finestra Scilab Graphic e la visualizzazione del relativo grafico.

Scrivendo su Scipad questi comandi:

x=[-20:0.1:10];
y=10+20*x^2+x^3;
plot2d(x,y);

ed eseguendoli, otterremo l'apertura della finestra Scilab Graphic (0) e la visualizzazione del grafico della funzione y=10+20*x^2+x^3. Ogni grafico è riprodotto sulla finestra Scilab Graphic attiva; nel caso non venga specificata quale finestra Scilab Graphic attivare, la finestra predefinita è la Scilab Graphic (0) (come avviene nell'esempio precedente).

Volendo rendere attiva una finestra Scilab Graphic differente da quella predefinita il comando da eseguire è:

scf(1)

dove il numero tra parentesi indica l'indice che identifica la finestra Scilab Graphic attivata. Tutti i grafici prodotti da comandi eseguiti dopo l'attivazione di una specifica finestra Scilab Graphic, vengono rappresentati su di essa.

Volendo rappresentare il grafico di due funzioni sulla finestra Scilab Graphic di indice 2 scriveremo:

x=[-20:0.1:10];
y1=10+20*x^2+x^3;
y2=6+x^2-2*x^3;
scf(2)
plot2d(x,y1);
plot2d(x,y2);

Volendo rappresentare il grafico di due funzioni su due finestre Scilab Graphic di indice rispettivamente 1 e 2 scriveremo:

x=[-20:0.1:10];
y1=10+20*x^2+x^3;
y2=6+x^2-2*x^3;
scf(1)
plot2d(x,y1);
scf(2)
plot2d(x,y2);

il comando scf(1) attiva la finestra Scilab Graphic(1) sulla quale viene rappresentato il grafico prodotto dal successivo comando plot2d(x,y1); il comando scf(2) attiva la finestra Scilab Graphic(2) sulla quale viene rappresentato il grafico prodotto dal comando plot2d(x,y2).

Una volta riprodotto un grafico su una finestra Scilab Graphic è possibile salvarlo in un file (di estensione scg) cliccando sulla barra dei menù su File Save, scegliendo il percorso dove salvare il file ed il relativo nome.

Volendo visualizzare un grafico salvato in precedenza, una volta aperta una finestra Scilab Graphic con il comando scf(), è necessario cliccare sulla barra dei menù su File Load e selezionare il relativo file.

Se si vuole cancellare un grafico rappresentato su una finestra Scilab Graphic, il comando da utilizzare è :

clf()

dove tra parentesi va indicato il numero che rappresenta l'indice della finestra Scilab Graphic su cui il grafico è rappresentato; se l'indice non viene indicato la sarà cancellato il grafico presente sulla finestra Scilab Graphic predefinita.


1 Può capitare che l'estensione di un file non sia visualizzata, perché il sistema operativo è impostato in modo da visualizzare soltanto il nome del file; in tal caso, volendo visualizzare l'estensione del file, cliccare su Start Impostazioni Pannello di controllo e sulla barra dei menù cliccare su Strumenti Opzioni cartella Visualizzazione, e rimuovere il flag dall'impostazione Nascondi l'estensione dei file per i tipi di file conosciuti.