Vous êtes sur la page 1sur 27

Filière : ECT

Cours
Les bases du logiciel
Scilab

Professeur : ARROU ABDESSELAM


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Sommaire

I. Présentation de Scilab : .............................................................................................. 3


1. Téléchargement et installation de Scilab :...................................................... 3
2. Environnement de SCILAB : ................................................................................. 3
3. La console Scilab : ..................................................................................................... 4
4. Mode d'exécution d'un programme sous Scilab : ........................................ 5
5. Fenêtre graphique : .................................................................................................. 5
II. Programmation SCILAB : ........................................................................................... 6
1. L'éditeur SciNotes : .................................................................................................. 6
2. Les variables : ............................................................................................................. 6
3. Les constantes : .......................................................................................................... 7
4. L'affectation : .............................................................................................................. 7
5. Les types des données : .......................................................................................... 7
1. Les nombres réels :............................................................................................... 8
2. Les booléens :.......................................................................................................... 9
3. Les complexes : ................................................................................................... 10
4. Les chaines de caractères "String" : ........................................................... 10
6. Les instructions d'entrées et de sorties : ..................................................... 11
1. L'instruction disp ( ): ........................................................................................ 11
2. L'instruction input ( ) : ..................................................................................... 11
7. Les structures conditionnelles : ....................................................................... 12
8. Les structures répétitives : ................................................................................ 13
1. La boucle Pour … : .............................................................................................. 13
2. La boucle TantQue : ........................................................................................... 14
3. Comment sortir d’une boucle : ..................................................................... 14
9. Exercices sur les structures répétitives : ..................................................... 15
III. Les fonctions en Scilab : ...................................................................................... 16
1. Fonctions renvoyant une seule valeur : ....................................................... 16
2. Fonctions renvoyant plusieurs valeurs : ...................................................... 17
Professeur : ARROU ABDESSELAM Page | 1
LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

3. La fonction deff : ..................................................................................................... 18


4. Exercices sur les fonctions :.............................................................................. 18
IV. Les Matrices : ........................................................................................................... 19
1. Créer une matrice : ................................................................................................ 19
2. Accéder aux éléments d'une matrice : .......................................................... 19
3. Modifier les éléments d'une matrice : ........................................................... 20
4. Les opérations sur les matrices : ..................................................................... 20
1. Les opérations terme à terme : .................................................................... 20
2. Les opérations matricielles : ......................................................................... 21
3. Les opérations avec des matrices de 1x1 : .............................................. 21
5. Les fonctions matricielles : ................................................................................ 22
6. L'extraction de matrice : ..................................................................................... 22
7. Matrice particulière : ............................................................................................ 23
V. Les vecteurs : ............................................................................................................... 23
1. Créer un Vecteur de ligne : ................................................................................. 23
2. Créer un Vecteur de colonne : .......................................................................... 24
3. Accéder aux éléments d'un vecteur : ............................................................. 24
4. Modifier les éléments d'un vecteur :.............................................................. 25
5. L'extraction de Vecteur : ..................................................................................... 25
6. Vecteurs particuliers : ......................................................................................... 25
7. Exercices sur les matrices et les vecteurs : ................................................. 26

Professeur : ARROU ABDESSELAM Page | 2


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

I. Présentation de Scilab :
 Scilab1 est un logiciel de calcul et simulations numériques.
 Scilab est l'acronyme de SCIentific LABoratory.
 Scilab est un logiciel libre (open source) Développé par l’INRIA2 -France
en 1990.
 Scilab tourne sous divers OS tel que (Mac OS, Linux, Windows, etc…)
 Scilab est un langage interprété (lit les instructions et les exécutent au
fur et à mesure).
 Scilab permet de visualiser graphiquement (2D & 3D) les résultats par
des courbes, des surfaces, des histogrammes, ...
 Scilab manipule des matrices (n x p) pour représenter les données.
 Scilab utilise une syntaxe simple, claire et cohérente pour écrire des
programmes.
1. Téléchargement et installation de Scilab :
Scilab est téléchargeable à l'adresse suivante :
Le lien de téléchargement : https://www.scilab.org/fr/download/latest

2. Environnement de SCILAB :

1
Scilab : C’est un concurrent du logiciel commercial Matlab (MATrix LABoratory)
2
INRIA : Institut National de Recherche en Informatique et Automatique

Professeur : ARROU ABDESSELAM Page | 3


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Après avoir double-cliqué sur l’icône de Scilab pour lancer le logiciel,


l'environnement de Scilab présente les fenêtres suivantes :
 Console Scilab :
Espace d’exécution immédiate des commandes sous Scilab.
 L’éditeur pour écrire des programmes :
Permet d'écrire des programmes dans un fichier avec l'extension ". sce ".
 Navigateurs de fichiers :
Précise le répertoire courant (celui dans lequel on travaille), et permet de
naviguer dans le système de fichiers.
 Navigateurs de variables :
Permet de retrouver toutes les variables utilisées précédemment au
cours de la même session.
 Historiques des commandes :
Permet de retrouver toutes les commandes des sessions précédentes et
de la session courante.
3. La console Scilab :

Pour utiliser la console Scilab, il suffit juste de saisir une commande après
l’invite de commande « --> » et d’appuyer sur la touche Entrée du clavier pour
obtenir le résultat correspondant.
Exemple :
Taper les commandes ci-dessous :
 3*8
 13/3
 (2.5*2)/3+(4*3+1)*5
 sqrt(16)
 %e
 %p
 2 + 3*%i

Professeur : ARROU ABDESSELAM Page | 4


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Remarques :
 Devant le résultat, ans s’affiche pour "answer" (réponse en français).
 Il est possible de revenir en arrière à tout moment, avec les flèches du clavier ← ↑
→ ↓ ou avec la souris. Les touches gauche et droite permettant de modifier les
instructions et les touches haut et bas, donnant la possibilité de revenir sur une
commande précédemment exécutée.
 Il est nécessaire de bien respecter la casse (majuscules et minuscules) pour que
les calculs s’effectuent correctement.
 Mettre un point-virgule " ; " à la fin d’une ligne de commande, permet d'effectuer le
calcul mais le résultat ne s’affiche pas.
 La touche tabulation → permet de compléter le nom d’une fonction ou
d’une variable dont on a donné les premières lettres.
 Pour écrire des commentaires qui ne seront pas pris en compte dans les calculs, il
faut les faire précéder par "//"

4. Mode d'exécution d'un programme sous Scilab :


En cliquant sur Exécuter dans la barre de menus, trois options sont
proposées :
 Exécuter « …fichier sans écho » ou Ctrl+Maj+E :
Le fichier est exécuté sans que le programme ne s’écrive dans la console
(en ayant enregistré le fichier au préalable).
 Exécuter « …fichier avec écho » ou Ctrl+L :
Réécrit le fichier dans la console et l’exécute.
 Exécuter « …jusqu’au curseur, avec écho » ou Ctrl+E :
Réécrit la sélection choisie avec la souris dans la console et l’exécute ou
exécute les données du fichier jusqu’à la position du curseur définie par
l’utilisateur.
5. Fenêtre graphique :
Une fenêtre graphique s’ouvre pour tout tracé.il est possible de tracer
des courbes, des surfaces, des nuages de points, des histogrammes, …
Exemple :
Taper la commande ci-dessous
dans la console permet de tracer la
figure ci-après :
 plot

Professeur : ARROU ABDESSELAM Page | 5


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

II. Programmation SCILAB :


1. L'éditeur SciNotes :
Une succession d’instructions est appelée un script. On peut les saisir
directement dans la console Scilab, mais ceci a de nombreux inconvénients, car
à chaque modification du script (même mineure), il faut le réécrire en entier.
De plus, il est difficile de le sauvegarder pour une utilisation ultérieure. C’est
pour ces raisons qu’on utilise systématiquement l’éditeur intégré SciNotes.
Ouvrir l'éditeur SciNotes :
À partir de la fenêtre principale de Scilab, le menu Applications permet
de lancer l’éditeur SciNotes.

Le fichier doit être sauvegardé avec le suffixe. sce pour indiquer au


système que c’est un fichier Scilab.
2. Les variables :
Les variables sont des cases mémoires dans laquelle une valeur est
enregistrée. Cette valeur peut être modifiée tout au long du programme.
Une variable est identifiée par un nom (ou identificateur). Le nom de
variable est un mot composé de lettres et de chiffres et qui commence par une
lettre et ne doit pas comporter ni d’accents ni de caractères spéciaux. Scilab est
sensible à la casse (différence entre les majuscules et minuscules).
Dans Scilab les variables n’ont pas besoin d’être déclarées à l’avance,
mais toute variable doit avoir une valeur avec le signe d'affectation =.
Syntaxe :

Exemple : = Valeur
Nom_variable

Professeur : ARROU ABDESSELAM Page | 6


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Remarque :
 S’il n’existe pas de variable appelée Nom_variable, cette instruction crée une
variable Nom_variable et lui affecte Valeur. S’il existe déjà une variable
Nom_variable, cette instruction efface l’ancienne affectation et la remplace par
Valeur.
 Lorsqu’une variable est créée, son nom apparaît dans le Navigateur de variables
avec une icône qui indique la nature de son contenu.
Exemple :

3. Les constantes :
Une constante est une donnée ayant une valeur qui ne change pas
durant l'exécution du programme.
Quelques constantes prédéfinies en Scilab :
 %pi : π=3.14  %e : e=2.718 = { exp(1) }
 %t : la valeur booléenne Vrai  %f : la valeur booléenne Faux
 %i : représente le nombre complexe i  %eps :epsilon
 %inf : représente "l’infini machine"  %Nan: Not a number (indéterminé)

4. L'affectation :
L'affectation c'est l'instruction qui permet d'attribuer une valeur à une
variable. Le symbole de l'affectation est =.

5. Les types des données :


Scilab reconnait automatiquement le type de la variable lors de
l’affectation et n'a pas besoin d'être déclaré. (Une donnée écrasera une autre
en valeur et en type "changement de type").

Professeur : ARROU ABDESSELAM Page | 7


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Les types de données sous SCILAB :


 Les réelles
 Les booléens
 Les complexes
 Les strings (chaîne de caractères)
 Les polynômes
 Les fonctions
Remarque :
 La fonction typeof(variable ) permet de retourner le type de variable.
 La commande who liste tous les noms des variables de l’environnement Scilab.
 La commande clear permet d'effacer toutes les variables (clear x : efface jsute x).

1. Les nombres réels :


Les objets de base du langage Scilab sont les nombres réels. Ils sont
représentés par des nombres flottants à double précision.
Les nombres en Scilab contient toujours le caractère ".", y compris les
nombres entiers (même si le point est facultatif lors de la saisie).
Les opérateurs arithmétiques :
+ Addition
- Soustraction
* Multiplication
/ Division
^ ou ** Puissance

Exemple :

Remarque :

 Dans une ligne de calcul, l’ordre (priorité de calcul) utilisé par Scilab est le même
que celui que nous utilisons en mathématiques, c’est-à-dire par ordre décroissant
de priorité : ^, ensuite * ou /, puis + ou -. Pour modifier cette ordre, on utilise des
parenthèses.

Professeur : ARROU ABDESSELAM Page | 8


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Quelques fonctions Mathématiques :

sqrt(x) Racine carrée


abs(x) Valeur absolue
modulo Le reste de la division entière
exp() Exponentielle
log(x) Logarithme népérien ln
floor(x) Partie entière
round(x) Arrondir
ceil(x) Partie entière supérieur
sin(x) Sinus
cos(x) Cosinus
tan(x) Tangente
2. Les booléens :
Le résultat d’une expression logique (c’est-à-dire « vrai » ou « faux »)
peut être stocké dans une variable, appelée alors variable booléenne.
Les deux valeurs "Vrai" et "Faux" sont deux constantes définies en Scilab
par %T (ou %t) et %F (ou %f).
Les opérateurs logiques et les opérateurs de comparaisons :
== Egal
<> Ou ~= Différent
> Supérieur strict
< Inférieur strict
>= Supérieur ou égal
<= Inférieur ou égal
%T ou %t Vrai
%F ou %f Faux
& Et
| Ou
~ Négation
Exemple :

Professeur : ARROU ABDESSELAM Page | 9


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

3. Les complexes :
Scilab permet de manipuler des nombres complexes en utilisant la
constante prédéfini %i avec la partie imaginaire.
Exemple :

Les fonctions complexes :


real(x) Rend la partie réelle du nombre complexe x
imag(x) Rend la partie imaginaire du nombre complexe x
conj(x) Rend le complexe conjugué du x

4. Les chaines de caractères "String" :


On appelle chaîne de caractères ("String" en anglais), une suite de
caractères alphanumériques (caractères, nombres, caractères spéciaux...).
Scilab permet de manipuler facilement les chaînes de caractères. Pour
créer une chaîne de caractères, il suffit de la mettre entre apostrophes ' '.
Exemple :

Remarque :
 Scilab distingue une chaîne de chiffres du nombre qu’elle représente.
Par exemple ’12’ est différent de 12 : le premier est du type chaîne de caractères
et le second du type nombre.
 Donc la valeur de variable résultat sera la chaine"1213" et non pas la somme 25.

Les fonctions prédéfinies "String" :


+ L'opérateur de concaténer deux chaines par +.
length(ch) Rend la longueur (nombre de caractères) d'une chaine.
Permet d'extraire le kème caractère d’une chaîne (les caractères sont
part(ch,k)
numérotés à partir de 1 ).
part(ch,i,j) Rend la sous-chaîne extraite de ch, formée des caractères entre les
positions i et j (incluses).
string(ch) Convertir un résultat de calcul en chaine de caractères.

Professeur : ARROU ABDESSELAM Page | 10


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

6. Les instructions d'entrées et de sorties :


1. L'instruction disp ( ):
Pour qu’un programme affiche du texte ou la valeur d’une variable, on
utilise l'instruction disp().
Syntaxe :

 disp('message') : affiche le message entre les apostrophes.

 disp(variable) : affiche la valeur de la variable.

Exemple :

Remarque :
 On peut afficher plusieurs objets sur la même ligne avec la commande
disp(objetn,....,objet2,objet1).
 Il faut les mettre dans l’ordre inverse de celui souhaité pour l’affichage.

2. L'instruction input ( ) :
Affiche le message entre les apostrophes demandant une valeur à
l'utilisateur, puis affecte la valeur donnée par l'utilisateur à une variable.
Syntaxe :
Nom_variable=input('Saisir votre texte')

Exemple :

Exercice :
1-Ecrire un programme qui demande trois réels et renvoie leur
moyenne.
2-Écrire un programme qui, à partir de la saisie d’un rayon R et d’une
hauteur h, calcule puis affiche le volume d’un cône suivant cette formule :
S= (π × R2 × h) /3.

Professeur : ARROU ABDESSELAM Page | 11


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

7. Les structures conditionnelles :


La structure conditionnelle "if … then … "permet d'exécuter certaines
instructions selon une condition (soit vrai ou faux).
Scilab fournit trois possibilités de programmer avec la structure
conditionnelle " if...then... ".

if condi1 then
Instruction1
Syntaxe : end
Alternative Simple
Si la condition cond1 est vraie alors l’instruction1 est
réalisée.
if cond2 then
Instruction1
else
Syntaxe : Instruction2
Alternative Compète
end
Si la condition cond2 est vraie, l’instruction1est exécutée
sinon l’instruction2 est exécutée.

if cond1 then
Instruction1
elseif cond2 then
Instruction2
Syntaxe :
Alternative Imbriquée else
Instruction3
end
L’utilisation de if… elseif permet de spécifier plusieurs
conditions.

Exercice :
Ecrire l’algorithme qui permet de lire deux nombres A et B puis afficher le
maximum de deux nombres.

Solution :

Professeur : ARROU ABDESSELAM Page | 12


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

8. Les structures répétitives :


La structure répétitive permet de répéter une instruction ou une suite
d'instructions tant qu’une condition est vraie.
Une structure répétitive est aussi appelée boucle.
On distingue deux grands types de boucles :
 "boucle Pour..."
 "boucle TantQue…"
1. La boucle Pour … :
La boucle Pour est utilisée impérativement lorsqu’on connaît à priori le
nombre de répétitions à effectuer (Pas d'incrémentation par défaut est 1).
Syntaxe :

for compteur =valeur_debut : pas : valeur_fin


Instruction1
Instruction2
Instruction3
…………………
InstructionN
end

Exemple :

Ecrire un programme qui calcule et affiche la somme des N premiers nombres


entiers pour un N non nul saisie par l’utilisateur. Exp :S=1+2+3+4+5+6+…..+N

Solution :

Exercice :

Ecrire un programme qui calcule et affiche le factoriel n! pour un n saisie


par l’utilisateur.

Professeur : ARROU ABDESSELAM Page | 13


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

2. La boucle TantQue :
Par opposition à la boucle for, la boucle while s’emploie dès qu’on ne
connaît pas à l’avance le nombre d’itérations à effectuer.il permet de répéter
une série d'instructions tant qu'une certaine condition est vérifiée(vraie).
Syntaxe :

while Cond1
Instruction1
Instruction2
…………………
InstructionN
end

Exemple :

Ecrire un programme qui calcule et affiche la somme des N premiers nombres


entiers pour un N non nul saisie par l’utilisateur. Exp : S=1+2+3+4+5+6+…..+N

Solution :

3. Comment sortir d’une boucle :


L'instruction break permet de quitter immédiatement une boucle for ou
une boucle while. Lorsque break est exécutée dans une boucle, cela arrête la
boucle et on passe à l’instruction qui suit la boucle.
Exemple :

Professeur : ARROU ABDESSELAM Page | 14


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

9. Exercices sur les structures répétitives :


Exercice 1 :

Ecrire un programme qui calcule et affiche pour un n non nul saisie


par l’utilisateur.
Exercice 2 :
Ecrire un programme qui calcul les 20 termes d’une suite définie par
récurrence par : u1 = 4 et un+1 = un + 2n + 3

Exercice 3 :
Soit la suite u définie par : un+1 = 3un - 3
Ecrire un programme qui calcule et affiche les termes successifs de cette
suite pour une valeur initiale U1 et jusqu’à un rang n, ces deux valeurs étant
entrées par l’utilisateur et afficher les termes successifs de la suite.

Exercice 4 :
On considère la suite de Fibonacci définie par :
un= un-1 + un-2 ; u1=1 et u2=1
Écrire un programme qui calcule et affiche la valeur de Un pour un n choisi
par l’utilisateur.

Exercice 5 :
On considère les suites définies par :

Ecrire un programme qui calcule et affiche les n premiers termes de chacune


des suites (Un) et (Vn) pour une valeur de n entrée par l’utilisateur.

Exercice 6 :
Ecrire un programme qui permet de calculer la somme de la formule

suivante :
Exercice 7 :
Ecrire un programme qui imprime pour n
donné le Triangle ci-après :
Professeur : ARROU ABDESSELAM Page | 15
LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

III. Les fonctions en Scilab :


Les fonctions sont le moyen le plus simple et le plus naturel pour faire
des calculs à partir de variables et obtenir des résultats à partir de celles-ci.
Une fonction est un bloc d’instructions nommé et paramétrées réalisant
une certaine tâche. Elle admet zéro, un ou plusieurs paramètres et renvoie
toujours un résultat.
Exemple des fonctions prédéfinies :
 Fonction d'entrées/Sorties : input () et disp()
 Fonctions mathématiques : sin (), cos (), tan() ,sqrt() , …

1. Fonctions renvoyant une seule valeur :


Pour définir nos propres fonctions en utilisant la syntaxe ci-dessous :
Syntaxe :
function valeur_retour=nom_fonction(x1,x2,…xn)
Instruction1
Instruction2
Instruction3
…………………
InstructionN
Valeur_retour=….
endfunction
Remarque :
 Valeur_retour : représente la valeur rendue par la fonction.
 Nom_fonction : correspond au nom qu'on choisit pour la fonction.
 X1, n2,..Xn : représente les arguments ou les paramètres de la
fonctions(x1,x2,..Xn sont des variables locales).

Exemple :

Ecrire une fonction f(x) qui prend en paramètre le paramètre x et rend le


résultat de calcul de l'image x selon la fonction : f(x)=
( )

Solution :

Professeur : ARROU ABDESSELAM Page | 16


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

L'appel d'une fonction :


Pour appeler une fonction f, il suffit de taper son nom suivi de listes des
paramètres.
Appel de la fonction f(x) :

Remarque :
 La fonction feval(x,f) : permet l'évaluation et l'exécution d'une fonction.

2. Fonctions renvoyant plusieurs valeurs :


Syntaxe :
function [y1,y2,… yn]=nom_fonction(x1,x2,…xn)
Instruction1
Instruction2
…………………
InstructionN
y1=…
y2=…
………
yn=…
endfunction

Exemple :

Ecrire une fonction operation(a,b,c) qui renvoie la somme, le produit et la


soustraction.

Solution :

Remarque :
 Pour récupérer toutes les valeurs, on utilise les crochets [ ] . Sinon on ne récupère
qu’une seule valeur, c’est la première qui est retournée.

Professeur : ARROU ABDESSELAM Page | 17


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

3. La fonction deff :
La fonction " deff " permet de construire simplement des fonctions
mathématiques. Elle prend en argument deux chaînes de caractères la
première correspondant à l’en-tête de la fonction définie et la seconde
correspondant à sa définition mathématique.
Exemple :

4. Exercices sur les fonctions :


Exercice 1 :
Écrire un fonction carre(n) qui rend le carré d'un nombre n passé en
paramètre.
Exercice 2 :
Créer une fonction factorielle nommée fact(n) qui prend en argument n et
qui renvoie la valeur n!.
Exercice 3 :
Ecrire une fonction max_entier(n,m) qui prend en arguments deux nombre n
et m et qui :
 Renvoie -1 si n < m
 Renvoie 0 si n = m
 Renvoie 1 si n > m

Exercice 4 :
Ecrire une fonction f(x) qui prend en paramètre le nombre x et rend le
résultat de calcul de l'image x selon la fonction : f(x)=ex-3x.

Exercice 5 :
Calculez 40 termes des suites an et bn définies par : a1=20 et b1=60
et pour tout entier naturel n : an+1=2an+bn/4 et bn+1=an+2bn/4 .
Puis calculez les termes des suites (un ) et (vn ) définies par :
un = an + bn et vn = bn - an

Professeur : ARROU ABDESSELAM Page | 18


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

IV. Les Matrices :


Scilab permet de construire toutes sortes de matrices, à partir des réels,
mais aussi en utilisant des booléens, des chaînes de caractères . . . On peut
ensuite effectuer toutes les opérations algébriques usuelles définies sur les
matrices.
1. Créer une matrice :
Il y a plusieurs manières de définir une matrice. La plus simple consiste à
saisir la liste des coefficients d’une matrice ligne par ligne, les lignes étant
séparées par des points-virgules, et les colonnes sont séparées par des espaces
ou virgules en utilisant les crochets [ ].
Exemple :

Créer les deux matrices A= et B=

2. Accéder aux éléments d'une matrice :


On peut accéder aux valeurs stockées dans une matrice en utilisant
l’opérateur d’extraction ().
Pour récupérer la valeur en position i,j de la matrice A il suffit d’appeler
la commande A(i,j) .
Exemple :

Professeur : ARROU ABDESSELAM Page | 19


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

On peut aussi utiliser l'opérateur " : " pour désigner toutes les lignes ou
toutes les colonnes d’une matrice.
Exemple :

3. Modifier les éléments d'une matrice :


Pour modifier la valeur en position i, j de la matrice A, on peut effectuer
l'opération suivante : A(i,j)=valeur
Exemple :

Remarque :
 Lorsqu’on modifie un élément qui "déborde" de la matrice de départ, la matrice est
augmentée du nombre de lignes et de colonnes nécessaires, et les cases
correspondantes sont mises à 0.

4. Les opérations sur les matrices :


1. Les opérations terme à terme :

Les opérations terme à terme s’appliquent à des matrices de même


taille. Pour faire des opérations élément par élément, on fera précéder le signe
opératoire d’un point : ". * ", " ./ ".
Tableau des opérations terme à terme sur les matrices :

L'addition Soustraction Multiplication Division Puissance


+ - .* ./ .^

Professeur : ARROU ABDESSELAM Page | 20


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

Exemple :

2. Les opérations matricielles :

Tableau des opérations matricielles sur les matrices :

Multiplication Division Puissance tansposition


* / ^ .' ou '
Exemple :

3. Les opérations avec des matrices de 1x1 :

Ce sont les opérations qui combinent une matrice et un nombre. C'est-à-


dire on fera une opération terme à terme entre un nombre et une matrice.
Exemple :

Professeur : ARROU ABDESSELAM Page | 21


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

5. Les fonctions matricielles :


inv(a) Calcule d’inverse de la matrice A.
size(a) Rend les dimensions d'une matrice nxp.
det(a) Calcule le déterminant de la matrice A.
diag(a) Extrait la diagonale de la matrice A.
min(a) Retourne le cœfficient le plus petit de la matrice A.
max(a) Retourne le cœfficient le plus grand de la matrice A.
prod(a) Calcule le produit des cœfficients de la matrice A.
sum(a) Calcule la somme des cœfficients de la matrice A.
rank(a) Calcule le rang de la matrice A.
poly(a) Calcule le polynôme cractéristique de la matrice A.
norm(a) Calcule la norme de la matrice A.
Cond(A) Calcule le conditionnement de la matrice A.
A.' ou A' Calcule la transposée de la matrice A.

6. L'extraction de matrice :
Opération Description

A(i,j) Rendre l'élément d'indice i,j de A.

A(i1:i2,:) Récupère les lignes de i1 à i2 de A.

A($,:) Récupère la dernière ligne de A.

A(i1:i2,:)=[ ] Supprime les lignes de i1 à i2 de A.

A(:,j1:j2) Récupère les colonnes de j1 à j2 de A.

A(:,$) Récupère la dernière colonne de A.

A(:,j1:j2)=[ ] Supprime les colonnes de j1 à j2 de A.

A(i1:i2,j1:j2) Extraire la sous-matrice de i1 à i2 et de j1 à j2 de A.

Professeur : ARROU ABDESSELAM Page | 22


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

7. Matrice particulière :
Fonction Description

zeros(n,p) Matrice nulle de taille nxp remplie 1.

ones(n,p) Matrice des un de taille nxp remplie 1.

Matrice unité ou identité de taille nxp avec des 1 sur la


eye(n,p)
diagonale et des 0 d'ailleurs.

rand(n,p) Matrice aléatoire (loi uniforme sur [0,1])

V. Les vecteurs :
1. Créer un Vecteur de ligne :
Pour créer un vecteur de ligne on donne la liste des éléments, entre
crochets [ ], séparés par des espaces ou des virgules .
Exemple :

On peut utiliser l'opérateur d'incrémentation " : " pour créer un


vecteur.il suffit de taper la commande V=[a:pas:b] ou V=a:pas:b où a
représente la valeur de départ, b représente la valeur finale à atteindre et pas
représente le pas d'incrémentation (si le pas est omis sa valeur par défaut 1).
Exemple :

Professeur : ARROU ABDESSELAM Page | 23


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

On peut aussi utiliser aussi la fonction linspace(a,b,n) pour crée un


vecteur ligne de n coefficients régulièrement espacés entre a et b, c’est-à-dire
une subdivision de l’intervalle [a,b] en n points, et donc n -1 sous-intervalles (le
pas est donc égal à pas=(b-a)/n-1).
Exemple :

2. Créer un Vecteur de colonne :


Pour créer un vecteur de colonne on donne la liste des éléments, entre
crochets [ ], séparés par des points virgules.
Exemple :

3. Accéder aux éléments d'un vecteur :


On peut accéder aux valeurs stockées dans un vecteur(ligne\colonne) en
utilisant l’opérateur d’extraction ().
Pour récupérer la valeur en position i du vecteur V, il suffit d’appeler la
commande V(i).
Exemple :

Professeur : ARROU ABDESSELAM Page | 24


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

4. Modifier les éléments d'un vecteur :


Pour modifier la valeur en position i du vecteur V, on peut effectuer
l'opération suivante : A(i)=valeur.
Exemple :

5. L'extraction de Vecteur :
Opération Description
x:y Créer le vecteur des nombres de x à y avec un pas égal à 1.
x:p:y Créer le vecteur des nombres de x à y avec un pas égal à p.
linspace(a,b,n) Créer le vecteur de n nombres de x à y.
V(i) Rendre l'élément d'indice i de V.
V($) Récupère le dernier élément de V.
V(i1:i2) Récupère les éléments de i1 à i2 de V.
V(i1:i2)=[ ] Supprime les éléments de i1 à i2 de V.

6. Vecteurs particuliers :
Fonction Description

zeros(1,n) Créer un vecteur ligne de n coefficients tous nuls.

zeros(n,1) Créer un vecteur colonne de n coefficients tous nuls.

ones(1,n) Créer un vecteur ligne de n coefficients tous égaux à 1.

ones(n,1) Créer un vecteur colonne de n coefficients tous égaux à 1.

rand(1,n) Créer un vecteur ligne de n coefficients de valeurs aléatoire [0,1].


rand(n,1) Créer un vecteur colonne de n coefficients de valeurs aléatoire [0,1].

Professeur : ARROU ABDESSELAM Page | 25


LYCEE LISSANE EDDINE IBN KHATIBE ANNEE SCOLAIRE 2017/2018
CENTRE CPGE -LAAYOUNE-

7. Exercices sur les matrices et les vecteurs :

Professeur : ARROU ABDESSELAM Page | 26

Vous aimerez peut-être aussi