L'œil sur...

Mémento ScilabMémento des fonctions principales de Scilab

(Télécharger le mémento en version pdf)

Nous sommes heureux de vous proposer, ci-dessous, un résumé des fonctions les plus utilisées avec le logiciel Scilab.

 

Obtenir de l'aide

help afficher l’aide en ligne de Scilab (F1)
demo_gui ouvrir les démos

 

Extensions de fichiers Scilab

.sce script Scilab
.sci macro Scilab (fonction)
.sod fichier binaire Scilab de données (Scilab open data)
.scg fichier de sauvegarde d'une figure (rechargée avec load)

 

Raccourcis clavier de l'éditeur

Ctrl + D commenter
Ctrl + Maj + D décommenter
Ctrl + I indenter proprement
F5 enregistrer et exécuter un script
Ctrl + E exécuter la sélection
Ctrl + Maj + O ouvrir la sélection dans l’éditeur
Ctrl + S sauver
Ctrl + G aller à une ligne
Ctrl + F rechercher dans un fichier
F1 ouvrir l’aide en ligne / aide sur la sélection

 

Initialisations

.scilab ou scilab.ini script d’initialisation de l’environnement (défini par le développeur) qui s’exécute automatiquement à l’ouverture de Scilab dans le répertoire qui le contient ou systématiquement pour un utilisateur donné s'il est placé dans SCIHOME
clc effacer le contenu de la fenêtre de commandes
xdel (winsid()) fermer toutes les figures

 

Navigation

cd afficher le répertoire courant ou change de répertoire courant
dir / ls lister le contenu du répertoire courant
pwd afficher le répertoire courant
get_absolute_file_path connaître le chemin absolue d'un fichier ouvert
getlongpathname connaître le chemin au format nom long
getshortpathname connaître le chemin au format nom court

 

Constantes spéciales

ans dernier résultat de calcul
%pi, %e, %i constantes π, e, i=√(-1)
%nan Not a Number, résultat d’un calcul indéfini
%inf infini
%eps précision machine
%t, %f vrai, faux
TMPDIR chemin du répertoire temporaire
SCI chemin du répertoire d'installation de Scilab
SCIHOME chemin du répertoire des données de l'application Scilab

 

Matrices

ones créer une matrice de 1
zeros créer une matrice de 0
eye créer une matrice identité
linspace créer un vecteur d’éléments linéairement espacés
logspace créer un vecteur d’éléments logarithmiquement espacés
rand générer des matrices de nombres aléatoires

 

Taille, dimension

size taille d’une matrice
length

longueur d’une matrice
nombre de caractères d'une chaîne
nombre de caractères de chaque chaîne d'une matrice de chaînes

ndims nombre de dimensions d'un tableau

 

Caractères spéciaux

// commentaires
" encadrer les chaînes de caractères
' transposer une matrice
, séparer les éléments d’une même ligne d’une matrice
séparer les arguments d’une fonction
séparer les instructions d’une même ligne
; marquer la fin d’une instruction en supprimant l’affichage
marquer la fin d’une ligne dans la déclaration d’une matrice
( ) opérateur d’indexation des matrices (ligne, colonne)
[ ] opérateur de définition et de concaténation des matrices
{ } opérateur de définition et d’indexation des cells arrays
: opérateur de création de vecteurs
>> a = 1 : 2 : 10
.. indiquer que l’instruction continue sur la ligne suivante
. séparateur décimal
= opérateur d’assignation
$ désigner le dernier élément (ligne, col...) dans une indexation

 

Calculs

+ - * / addition, soustraction, multiplication, division
\ division à gauche (résolution d’un système d’équations par les moindres carrés)
^ puissance
. opérateur associé aux opérateurs arithmétiques pour indiquer un calcul élément par élément

 

Fonctions mathématiques

sqrt racine carrée
abs valeur absolue
log logarithme népérien
exp exponentielle
log10 logarithme décimal
10^ puissance de 10
modulo modulo

 

Fonctions trigonométriques

sin, cos, tan, cotg sinus, cosinus, tangente et cotangente
asin, acos, atan arcsinus, arccosinus, arctangente
sinh, cosh, tanh sinus, cosinus, tangente hyperboliques
asinh, acosh, atanh ...

 

Arrondis

round arrondir à l’entier le plus proche
ceil arrondir au prochain entier vers +∞
floor arrondir au prochain entier vers -∞
int arrondir au prochain entier vers 0

 

Statistiques / analyse de données

cumsum somme cumulée
sum somme
mean moyenne
median médiane
stdev écart-type
variance variance
min, max minimum, maximum
gsort tri
prod produit
cumprod produit cumulé
geomean moyenne géométrique
harmean moyenne harmonique

 

Opérateurs relationnels

==, <>, <, >, <=, >=  

 

Opérateurs logiques

& | ~ et, ou, non terme à terme
and tester si tous les éléments sont non-nuls
or tester si au moins un élément est non-nul

 

Nombres complexes

>> a = 12 + 5*%i  
real partie réelle
imag partie imaginaire
abs module
complex création d'un nombre complexe
conj conjugué

 

Chaînes de caractères

Manipulation  
str1 = 'une' ; str2 = 'chaîne'  
str = str1 + " " + str2 concaténer des chaînes
strcat concaténer les chaînes d'un vecteur de chaînes
strsplit découper une chaîne en un vecteur de chaînes
convstr convertir en minuscule ou en majuscule
strsubst remplacer des morceaux de chaînes
stripblanks supprimer des espaces inutiles
strcmp, ctrcmpi comparer des chaînes
strtok décomposer une chaîne
Conversion chaînes / nombres  
eval, evstr évaluer des chaînes de caractères
strtod extraire les nombres d'une chaîne
string matrice vers matrice de chaînes
msprintf, mprintf écriture données formatées

 

Figures et tracés

Opérations sur les figures  
figure créer ou sélectionner une figure
xdel fermer une ou toutes les figures
clf vider le contenu d’une figure
windsid lister les fenêtes graphiques existantes
subplot décomposer la figure pour créer un axe
drawlater rendre invisible la figure en cours de création
drawnow rendre visible les objets graphiques masqués
xsave sauver une figure dans un fichier .scg
xload charger une figure sauvée dans un fichier .scg
Tracés 2D  
plot, plot2d tracé linéaire ou logarithmique
plot2d2 tracé en escalier
plot2d3 tracé en peigne
plot2d4 tracé sous forme de flèches
Tracés 3D  
surf tracé de surface colorée
mesh tracé de surface maillée
plot3d, plot3d1 tracé linéaire 3D
Couleurs  
  [.75 .75 0]     'y'     'yellow'
  [.75 0 .75]     'm'   'magenta'
  [0 .75 .75]     'c'     'cyan'
  [1 0 0]     'r'      'red'
  [0 .5 0]     'g'     'green'
  [0 0 1]     'b'     'blue'
  [1 1 1]     'w'     'white'
  [.25 .25 .25]     'k'     'black'
Marqueurs  
'.'
'o'
'x'
'+'
'*'
's'
'd'
'v'
'^'
'<'
'>'
'p'
Autres tracés  
pie camembert
histplot histogramme
bar tracé en barres
champ champ de vecteurs
contour isocontour
Annotations  
legend légende
xlabel, ylabel, zlabel label des axes
title titre du graphe
Opérations diverses  
colorbar afficher l'échelle des couleurs
zoom_rect zoomer sur un rectangle
un_zoom restaurer le zoom par défaut
xstring dessiner des chaînes de caractères
xinfo afficher une chaîne dans la barre d'état
Échelle des couleurs  
colormap échelle des couleurs

 

Gestion de fichiers

edit ouvrir un fichier dans l’éditeur de texte de Scilab
copyfile copier des fichiers
deletefile supprimer un fichier
fileinfo afficher des informations sur un fichier
mkdir créer un répertoire
rmdir détruire un répertoire
Manipulation de chemins  
fullfile construire un chemin de fichiers
fileparts décomposer un chemin complet de fichiers en chemin, nom de fichier et extension
basename extraire le nom du fichier dans un chemin
dirname extraire le nom du répertoire dans un chemin
fileext extraire l'extension dans un chemin de fichier
filesep séparateur de fichier de la plateforme
fullpath convertir un chemin rleatif en chemin absolu

 

Analyse de performances

tic, toc chronométrer le temps écoulé
timer mesurer le temps CPU consommé
profile récupérer le profil d'exécution d'une fonction Scilab
getmemory renvoyer les informations de répartition de la mémoire

 

Lecture / écriture de fichiers

Haut niveau  
csvread/csvwrite lire, écrire un fichier tabulé avec délimiteur
xls_open, mclose ouvrir, fermer un fichier Excel pour le lire
xls_read lire une feuille dans un fichier Excel ouvert
load, save lire, écrire un fichier binaire Scilab (.sod)
imread, imwrite lire, écrire un fichier image (toolbox SIP)
Bas niveau (1 - ouvrir le fichier    2 – se positionner, lire, écrire, …     3 – fermer le fichier)
mopen, mclose ouvrir, fermer un fichier
mscanf, mrpintf lire, écrire un fichier de données formaté
mgetl, mputl lire, écrire une ligne de fichier formaté
meof tester la fin d’un fichier
mtell indiquer la position de lecture dans le fichier
mseek positionner le curseur de lecture dans un fichier

 

Structures de contrôle

Boucles itératives  
for
for var = vector 
    // instructionsScilab
end
while
while
   // instructionsScilab
end
Structures conditionnelles  
if
if expression logique 1 then // Obligatoire
   // instructionsScilab
else expression logique 2 // Facultatif
   // instructionsScilab
elseif % Facultatif
   // instructionsScilab
end % Oligatoire
switch
switch expression // Chaîne, double, booléen
    case value 1 // Obligatoire
        // Instructions Scilab
    case {value 2 , value 3} // Facultatif
        // Instructions Scilab
    otherwise % Facultatif mais recommandé
        // Instructions Scilab
end
Instructions de contrôle  
break terminer l’exécution d’uneboucle
continue interrompt l’exécution d’une itération et passe à la suivante
return retour à l’appelant
pause fait une pause

 

Test de cas

isempty est vide ?
isnan est un NaN ?
isinf est un nombre infini ?
isequal est égal ?
isdef est une variable qui existe ?
isfile est un fichier ?
isdir est un répertoire ?
isnum est une chaîne qui représente un nombre ?
isfield est un champ de la structure ?

 

Gestion des erreurs

try
try
     // Instructions Scilab
catch
    // Instructions Scilab
end
warning afficher ou gérer les messages d’alerte
error afficher des messages d’erreur et terminer l’exécution
lasterror renvoyer la dernière erreur (et l'effacer !)
errcatch intercepter un type d'erreur
errclear effacer une erreur

 

Gestion des fonctions

function
Créer un fichier MaFonction.sci :
     function [S1, S2, …] = MaFonction(E1, E2, …)
     // Commentaire d'entête de la fonction
     // Instructions Scilab
     endfunction
  Charger MaFonction.sci pour pouvoir l'utiliser :
     exec ("MaFonction.sci", -1)
argn nombre d'arguments passés en entrée et en sortie de la fonction
varargin, varargout liste des arguments variables d'entrée et de sortie
exec charger une fonction en mémoire
getd charger toutes les fonctions (.sci) d'un répertoire
genlib compiler tutes les fonctions (.sci) d'un répertoire
lib définir / charger ue bibliothèque de fonctions

 

Communication avec l'utilisateur

disp afficher des données dans la fenêtre de commandes
input afficher un message et attend un retour utilisateur
pause faire une pause
waitbar gérer une boîte de dialogue d'attente
x_dialog, x_mdialog boîte de dialogue de saisie utilisateur
messagebox boîte de dialogue d'alerte, d'erreur ou d'aide
uiputdir boîte de sélection de répertoire
uigetfile, uiputfile boîtes de sélection de fichiers
uigetcolor boîte de sléection d'une couleur

 

Polynômes

poly définir un polynôme
coeff connaître les coefficients d'un polynôme
roots calculer les racines d'un polynôme
detr calculer le déterminant d'un polynôme
determ calculer le déterminant d'une matrice de polynômes
rational définir une fraction rationnelle

 

Dates

date date courante sous forme de chaîne de caractères
now, clock date courante sous forme de nombre ou de vecteur
Format  
chaîne jj-mmm-aaaa
nombre nombre de jours écoulés depuis le 1er janvier 0000
vecteur [année, mois, jour, heures, minutes, secondes]
Conversion  
datenum passer du format vecteur au format nombre
datevec passer du format nombre au format vecteur
  DateScilab = DateExcel + datenum(1899, 12, 30);