Prise en main de Scilab

SCILAB (comme MATHLAB qui plus connu) est un outil formidable que j'utilise maintenant depuis des années (sous Linux et sous Windows) : il mérite bien un petit investissement (qu'il vous rendra au centuple!). Il s'agit ici de faire un peu de géométrie mais son champs d'application est beaucoup plus large...

Premiers pas avec scilab

Lancez scilab, une première fenêtre apparaît : c'est la console c'est à dire l' interpréteur de commande. La commande doit être tapée à la suite de l'invite :
-->
Par exemple :
--> a=4+6
  a=
     10.
-->
les fenters de SCILAB
Mais je vous conseille assez vite de lancer l'éditeur de texte (dans l'onglet Applications). La fenêtre qui s'ouvre vous permettra de paufiner votre code avant de le copier dans la console (avec CTRL^C et CTRL^V même sous Linux). L'éditeur permet aussi de charger (de modifier et de sauver) des fichiers "scripts" d'extension XXX.sce ou XXX.sci.

Enfin les figures sont affichées dans des fenêtres à part. Pour ouvrir une nouvelle fenêtre graphique contenant la figure numéro 11 et numéro 122 tapez :
--> scf(11);
--> scf(122);
Voilà le reste s'apprend sur le tas à l'aide du help en ligne (onglet Aide ou ?). Si nécessaire il y a pléthore de tutoriaux, d'exemples, de manuel et de memento sur le Web.

Quelques commandes utiles

Ci dessous un tableau qui rappelle quelques commande de base.
tabY=[21,17,32]Définition d'un tableau (vecteur) de 3 valeurs : 21, 17 et 32
tabX=0:5:10Définition d'un tableau (vecteur) de 3 valeurs : de 0 à 10 avec un pas de 5
tabXY=[tabX;tabY]Construction d'un matrice de 2 vecteurs
tabY=5*(tabX)^2y(i)=5*x(i)2  
tabY=tabX ./ tabZ"./" le point indique une opération terme à terme (ici une division : y(i)=x(i)/z(i)
TT=T'La transposée de T est notée T'
[nbl,nbc,..]=size(T);Donne le nombre de lignes (nbl) et le nombre de colonnes (nbc)... du tableau T
Tmn=matrix(T,m,n)Construit une matrice de m lignes et n colonne en parcourant T colonne par colonne.
plot2d(tabX,tabY,style=1)Affichage de {tabX(i),tabY(i)}
par des points si style <0 (le symbole diffère : croix, cercle, triangle...)
par des lignes si style >0 (la couleur diffère : noir, bleu, vert, cyan, rouge...)
function [res,...]=nom(data,...)
...
endfunction
Déclaration d'une fonction qui prend "data,..." en entrée et renvoi "res,..."
exec("nomfichier.sci",-1)Permet de charger un script (dans lequel des fonctions sont définies). Par exemple : exec("DSutil.sci",-1);
xfpoly(x,y)Trace les arêtes d'un polygone défini par les coordonnées (x,y)
[nutr,...]=mesh2d(x,y,front)Calcule la triangulation "nutr" d'un ensemble de points de coordonnées (x,y) limitée par la liste des points de la frontiere "front"
xfpolys(x,y,fill)Remplit des polygones (de même nombre de points : triangles par exemples) définis par les coordonnées (x,y). Chaque polygone "i" est rempli par la couleur donnée dans "fill" (fill(i)>1) 
fprintfMat("nomfichier",M)écrit la matrice dans un fichier texte de nom "nomfichier"
[M]=fscanfMat("nomfichier")lit le fichier texte "nomfichier" contenant la matrice M
le site officielPour une documentation complète