pwd
. C'est là qu'il va chercher par défaut
les fichiers à charger ou à exécuter. On peut le changer
par la commande chdir
. A défaut, il faut saisir le chemin d'accès
complet du fichier que l'on souhaite charger ou sauvegarder. Le plus
facile est d'utiliser le menu de l'interface.
Dès que les calculs à effectuer requièrent plus de quelques lignes
de commande, on a intérêt à saisir ces lignes dans un fichier
exécutable externe. Dans l'interface de Scilab,
les seules commandes qui apparaîtront seront les exécutions ou les
chargements répétés de fichiers externes.
Il est conseillé de maintenir ouvertes deux fenêtres : la fenêtre Scilab,
et une fenêtre d'édition (Emacs sous Linux, WordPad sous Windows par
exemple). Scilab distingue trois sortes de fichiers.
save
et rappelés par load
. Ceci
permet de reprendre un calcul en conservant les valeurs déjà affectées.
On peut aussi sauver des variables dans un fichier texte par write
et les rappeler par read
.
exec
. Sauvez dans le
répertoire courant les trois lignes suivantes sous le nom
losange.sce
.
Attention, la dernière ligne du fichier doit obligatoirement
se terminer par un retour-chariot pour être prise en compte.
x=[0,-1,0,1;-1,0,1,0] y=[-1,0,1,0;0,1,0,-1] plot(x,y)La commande
exec("losange.sce")
affichera x
, puis
y
, puis tracera un losange.
On peut écrire une matrice dans un fichier de texte à exécuter
(par exemple pour importer des données issues d'un tableur). Dans ce cas,
les lignes du fichier, si elles correspondent aux lignes de la matrice,
ne doivent pas se terminer par deux points. Par exemple le fichier
saisie.txt
peut contenir les trois lignes (terminées par un
retour-chariot) :
A=[1,2,3; 4,5,6; 7,8,9];La commande
exec("saisie.txt")
affectera la matrice A
.
x1,x2,...,xm
et le vecteur des variables de sortie
[y1,y2,...,yn]
.
function [y1,y2,...,yn] = nom_de_la_fonction(x1,x2,...,xm)Là encore, il ne faut pas oublier de terminer la dernière ligne par un retour-chariot. Enregistrez par exemple dans le fichier
cloche.sci
les lignes suivantes.
function d = cloche(x) // CLOCHE densite de la loi normale N(0,1) d = (1/sqrt(2*%pi))*exp(-x.^2/2);Si ce fichier est placé dans le répertoire courant,
getf("cloche.sci")
charge et compile la nouvelle fonction.
getf("cloche.sci") x=[-3:0.1:3]; y=cloche(x); plot(x,y) fplot2d(x,cloche) intg(-5,1.96,cloche)
.sce
pour les
fichiers de commandes et .sci
pour les fichiers de fonctions
sont de tradition, mais ce n'est pas une obligation.
Un fichier de commandes peut réaliser les mêmes tâches qu'une fonction et
réciproquement. Pour une utilisation courante ou de mise au point,
les fichiers de commandes permettent de suivre le contenu de toutes
les variables. Pour une programmation plus avancée, il est
préférable de définir
des fonctions, car leurs variables internes restent locales.
Un même fichier .sci
peut contenir plusieurs fonctions.
Les fonctions du langage sont regroupées dans des librairies qui
contiennent leur code Scilab (fichiers texte .sci
), et
leur code compilé (fichiers .bin
). On peut transformer
un ensemble de fichiers de fonctions en librairie, en sauvant
les versions compilées et en rajoutant les fichiers d'aide.