ECS2 MÉMENTO SCILAB PREMIÈRE ANNÉE
I – Commandes de base
– Affectation de variables : nom=expression où l’expression peut être de type numérique, matricielle ou chaîne de caractères.
– Constantes prédéfinies : π e
%pi %e – Fonctions mathématiques prédéfinies :
ln exp b·c |·| p
· sin cos log exp floor abs sqrt sin cos
– Opérations élémentaires :
– opérations arithmétiques : + - * / ^ – comparaisons / tests :
égalité supérieur supérieur inférieur inférieur différent strict ou égal strict ou égal
== > >= < <= <>
– opérations logiques : et ou
& and | or
II – Matrices
1o) Création et accès aux coefficients – Matrice ligne : [ , , . . . , , ]
– Matrice colonne : [ ; ; . . . ; ; ]
– Matrice quelconque : [ , . . . , ; , . . . , ; . . .]
Lavirguleest le séparateur decolonnes, lepoint virguleest le séparateur delignes.
– A(i,j) correspond au coefficient de ligneiet de colonnejde la matriceA.
– A(i,:) correspond à lai-ième ligne de la matriceA.
– A(:;j) correspond à laj-ième colonne de la matriceA.
2o) Fonctions matricielles – Opérations algébriques :
– matricielles : les symboles + - * ^ correspondent aux opérations matricielles usuelles. Cas particulier :A + kcorrespond à l’ajout du réel kà chacun des coefficients de la matriceA.
– pointées : .* ./ .^ correspondent aux opérations termes à termes (produit ou quotient des termes 2 à 2 de deux matrices de même taille, élévation à un exposant réel de chacun des coefficients d’une matrice).
– Fonctions mathématiques : les fonctions prédéfinies ci-contre peuvent être appliquées aux matrices (elles opèrent sur chacun des termes des matrices).
– Fonctions spécifiques :
– rank(A) renvoie lerangde la matriceA;
– inv(A) renvoie l’inversede la matriceA, si elle est inversible ; – A’ renvoie latransposéedeA;
– size(A) renvoie une matrice ligne à 2 colonnes [n,p] oùnest le nom- bre de lignes deAetple nombre de colonnes deA;
– find(condition) renvoie une matrice contenant les indices des co- efficients d’une matrice vérifiant une condition donnée (par exemple find(A<2)renvoie tous les indices des coefficients de la matrice Aqui sont strictement inférieurs à 2).
III – Aléas
Attention la séquence des nombres aléatoires renvoyés est la même à chaque démarrage de Scilab : pour éviter ceci on écrira par exemple dans la console rand(’seed’,getdate(’s’))avant la 1ièreutilisation d’une fonction aléatoire.
1o) Nombres aléatoires
– rand() renvoie un réel aléatoire compris entre 0 et 1 (correspond à la réali- sation d’une variable aléatoire suivant la loi uniforme sur [0, 1]).
– rand(n,p) renvoie une matrice de taillen×pcontenant des réels aléatoires compris entre 0 et 1.
Page 1/2
ECS2 MÉMENTO SCILAB PREMIÈRE ANNÉE 2o) Variables aléatoires
grand() permet de simuler la réalisation d’une variable aléatoire suivant une loi usuelle :
– loi uniforme discrète : grand(l,c,’uin’,n,m) renvoie une matrice de taille l×ccontenant des entiers suivant la loiU¡££
n,m¤¤¢
.
– loi binomiale : grand(l,c,’bin’,n,p) renvoie une matrice de taillel×c contenant des entiers suivant la loiB(n,p).
– loi géométrique : grand(l,c,’geom’,p) renvoie une matrice de taillel×c contenant des entiers suivant la loiG(p).
– loi de Poisson : grand(l,c,’poi’,mu) renvoie une matrice de taille l×c contenant des entiers suivant la loiP(µ).
– loi uniforme continue : grand(l,c,’unf’,a,b) renvoie une matrice de taillel×ccontenant des réels suivant la loiU([a,b[).
– loi exponentielle : grand(l,c,’exp’,m) renvoie une matrice de taillel×c contenant des réels suivant la loiE
µ1 m
¶
(attention le dernier paramètre donné dans la fonctiongrandest l’espérance).
– loi normale : grand(l,c,’nor’,mu,sigma) renvoie une matrice de taille l×ccontenant des réels suivant la loiN(µ,σ2) (attention le dernier paramètre donné dans la fonctiongrandest bien l’écart-type et non la variance).
IV – Graphiques
– clf : efface la fenêtre graphique en cours.
– plot(x,y) : représente la courbe joignant les points dont les abscisses se trouvent dans la matricexet les ordonnées se trouvent dans la matricey(si la variablexn’est pas donnée, par défaut les abscisses seront les entiers de 1 àn, oùnest la taille de la matricey). La fonctionplot2dfait à peu près la même chose (avec des options de personnalisation du tracé supplémentaires).
– x=linspace(a,b,n) : crée une matrice lignexcontenantnréels régulière- ment espacés et allant deaàb(inclus).
– x=a:pas:b : crée une matrice lignexcontenant des réels régulièrement es- pacés depaset allant deaàb(inclus).
– bar(x,y) : dessine un histogramme dont les abscisses se trouvent dans la matricexet les ordonnées se trouvent dans la matricey(si la variablexn’est pas donnée, par défaut les abscisses seront les entiers de 1 àn, oùnest la taille de la matricey).
– histplot(n,x) : dessine un histogramme dont les ordonnées se trouvent dans la matricex, l’histogramme contenantn classes de même amplitude et l’aire totale des rectangles valant 1.
V – Programmation
1o) Structures conditionnelles if ... then
...
end
ou
if ... then ...
else ...
...
end
2o) Structures répétitives (boucles) for k= .. : ..
...
end
ou
while ... then ...
end
3o) Fonctions
function sortie=nom(entrée1,entrée2, ....) ...
sortie= ...
endfunction
Crée la fonction s’appelantnomayant pour argumentsentrée1,entrée2, . . . et renvoy- ant la variablesortie.
4o) Entrées et sorties
– variable=input(’texte’) : affiche le textetexte, attend que l’utilisateur saisisse quelque chose au clavier, et stocke ceci dans la variablevariable.
– disp(variable, ’texte’) : affiche la variablevariableprécédéedu textetexte.
Page 2/2