Vous êtes sur la page 1sur 5

Semestre 2, 2018-2019 IUT Cachan

Outils logiciels GEII2

TP1 : Introduction à Scilab

1 Lancement de Scilab
Au lancement de Scilab, une fenêtre apparaît, c’est la fenêtre de commande. C’est dans cette fenêtre que l’on travaille.
Dans la fenêtre de commande apparaît le symbole −− >, appelé "invite". Ce symbole indique que Scilab attend une
instruction à laquelle il répondra ensuite.
Avant toute chose, nous allons créer un répertoire de travail dans lequel vous enregistrerez tous les programmes créés
lors de des différents TP. Pour ce faire :
- Créez un répertoire "TPScilab" dans votre espace personnel. A l’intérieur de celui-ci, créez un autre répertoire
intitulé "TP1". C’est à l’intérieur de celui-ci que vous enregistrerez les différents programmes créés durant ce TP.
- Placez vous dans ce répertoire dans Scilab (Fichier –> Browse for new). On pourra vérifier à l’aide de la commande
pwd que l’on se trouve dans le bon répertoire.

Exercice 1 Création d’un premier script Scilab


1. Ouvrir un script Scilab (premier symbole en haut à gauche).
2. À l’intérieur de celui-ci, taper :

a = 2;
b=4
c = a ∗b
d = c ∗ a;

3. Sauvegarder votre fichier en l’appelant exo1.sce


4. Lancer votre programme en tapant exec(’exo1.sce’) dans la fenêtre de commande.
5. Observez les valeurs de a, b et c ? Commentez les résultats.

6. Ajouter les lignes de commandes suivantes à la fin du script précédent :


clear
b = 3;
b ∗c
7. Observez les valeurs de b et c ? Commentez les résultats.

1
Semestre 2, 2018-2019 IUT Cachan
Outils logiciels GEII2

2 Vecteurs et matrices
2.1 Vecteurs
Dans Scilab, il y a un seul type de données : le type matrice. Par exemple :
- un nombre est une matrice 1 × 1.
- un vecteur (ligne ou colonne) est une matrice à une ligne ou une colonne.
 
2
( )
Exemple 1. A = 1 2 9 0 3 et B = 4 sont deux vecteurs.
0

Exercice 2 Opérations sur les vecteurs


À l’intérieur d’un script, saisir les deux nombres entiers a = 3 et b = 8.
1. Que fait la commande X = [a : b] ? (Faire varier le paramètre a et b avec a ≤ b)

2. Que fait la commande Y = [a : 0.1 : b] ? (Faire varier le paramètre 0.1)

3. Que fait la commande Z = l i nspace(a, b, 5) ? (Faire varier le paramètre 5)

4. Prévoir, sans utiliser scilab, ce que renvoient les commandes suivantes :

[2 : 0.5 : 4] [2 : 0.3 : 3] l i nspace(2, 7, 5) l i nspace(2, 2, 7)

2.2 Matrices
Les matrices peuvent être construites de (au moins) 3 façons :
1. En entrant explicitement la liste des éléments entre crochets. On sépare les colonnes par des virgules et les lignes
par des points-virgules.
 
1 2 3
Exemple 2. Pour implémenter la matrice A = 5 9 4 dans Scilab, on tape :
7 8 6
A = [1, 2, 3; 5, 9, 4; 7, 8, 6];
ou
A = [1 2 3; 5 9 4; 7 8 6]; (Il faut mettre des espaces entre les différents éléments d’une même ligne !)
2. En implémentant les coefficients un à un. En effet, dans Scilab A(i , j ) = ... renvoie à l’élément de la i-ème ligne et
de la j-ème colonne de la matrice A. On peut ainsi définir une matrice A en entrant successivement les éléments
A(i , j ).
( )
17 11
Exemple 3. Pour implémenter la matrice B = , on tape :
19 −13
B (1, 1) = 17 ; B (1, 2) = 11 ; B (2, 1) = 19 ; B (2, 2) = −13

B En général, on utilise cette syntaxe quand on doit changer un coefficient dans une matrice et non pour définir
la matrice en entier !

3. En utilisant des fonctions prédéfinies de Scilab telle que linspace() (voir l’exercice 4), ones(), zeros() (voir l’exercice
5).

2
Semestre 2, 2018-2019 IUT Cachan
Outils logiciels GEII2

Exercice 3 Opérations sur les matrices


   
1 1 2 3 1 2
1. À l’intérieur d’un script, saisir les matrices A = 0 2 9 et B = 0 1 4 puis effectuer les opérations
1 3 7 1 2 3
suivantes :

(a) A + B (d) A. ∗ B 1 (i) A.^2


(g) ∗ (A − B )
2
(b) A − B (e) 2 ∗ A
(c) A ∗ B (f) A ′ (h) A^2

2. Calculer "à la main" le produit matriciel A × B et A × A

3. Quelle est la différence entre les opérations A ∗ B et A . ∗ B ?

4. Même question avec les opérations A .^2 et A^2

5. Que renvoie la commande A ′ ?

6. Que renvoient les commandes A(2, 3) et A(3, 1) ? Que fait la commande A(3, 1) = 17 ?

7. Que renvoient les commandes A(1 : 2, 3) et A(:, 1 : 2) ? Même question pour A($, [1, 3]) et A([1, 3], $).

8. Quelles commandes entrer pour extraire les matrices suivantes de la matrice A :


( ) ( )
2 9 ( ) 1 2
0 2 9
3 7 3 7
9. Que donnent les instructions A = [A; 1, 2, 3] et B = [B, B ] ?
Peut-on encore effectuer les opérations A + B , A − B et A ∗ B ?

10. Déterminer la taille de la matrice A à l’aide de la commande size() de Scilab.


11. Que renvoie size(A,1) et size(A,2) ?

3
Semestre 2, 2018-2019 IUT Cachan
Outils logiciels GEII2

Exercice 4 Autour des commandes ones() et zeros()


1. Que fait la commande ones(4, 5) ? Faites varier les paramètres 4 et 5. Qu’observe-t-on ?

2. Mêmes questions avec zer os(4, 5).

3. A l’aides des commandes ones() et zeros(), construire une matrice de taille 10 × 10 ne contenant que des 2
sur les neuf premières lignes et ne contenant que des zéros sur la dernière ligne.

Exercice 5 Autour de la commande diag()


1. Que fait la commande d i ag ([1, 2, 3]) ?

2. Que fait la commande d i ag ([1, 2, 3; 4, 5, 6; 7, 8, 9]) ?

3. A l’aides des commandes diag() et ones(), construire une matrice de taille 10 × 10 contenant des 3 partout
sauf sur la diagonale qui ne contient que des 5.

 
1 1 2
( )
4. Soit A = 0 2 9. Quelle commande entrer pour extraire le vecteur 1 2 7 de la matrice A ?
1 3 7

4
Semestre 2, 2018-2019 IUT Cachan
Outils logiciels GEII2

Exercice 6 Le but de cet exercice est d’utiliser les commandes ones(), zeros() et diag() de Scilab.
1. Construire la matrice carrée A de taille 10 contenant des 1 sur la première ligne, la première colonne, la
première colonne et la dernière colonne et avec des zéros partout ailleurs.
 
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1
 
1 1
 0 0 0 0 0 0 0 0 
 
1 0 0 0 0 0 0 0 0 1
 
1 0 0 0 0 0 0 0 0 1
A=
1

 0 0 0 0 0 0 0 0 1
1 1
 0 0 0 0 0 0 0 0 
 
1 0 0 0 0 0 0 0 0 1
 
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1

2. Construire la matrice carrée C de taille 10 contenant des 1 sur la première ligne et la dernière colonne, telle
que diag(A)=[1 2 3 4 5 6 7 8 9 10] et avec des zéros partout ailleurs.
 
1 1 1 1 1 1 1 1 1 1
0 2 0 0 0 0 0 0 0 1
 
0 0 1
 0 3 0 0 0 0 0 
 
0 0 0 4 0 0 0 0 0 1
 
0 0 0 0 5 0 0 0 0 1
C =
0

 0 0 0 0 6 0 0 0 1 
0 0 1
 0 0 0 0 0 7 0 
 
0 0 0 0 0 0 0 8 0 1
 
0 0 0 0 0 0 0 0 9 1
0 0 0 0 0 0 0 0 0 10

 
0 0 0 0 2 2 2 2 2 2
0 0 0 0 2 2 2 2 2 2
 
0 2 2
 0 0 0 2 2 2 2 
 
0 0 0 0 2 2 2 2 2 2
 
3 3 3 3 0 0 0 0 0 0
3. Construire la matrice carrée D de taille 10 telle que D = 
3

 3 3 3 0 0.2 0 0 0 0
3 0 0
 3 3 3 0 0 0.4 0 
 
3 3 3 3 0 0 0 0.6 0 0
 
3 3 3 3 0 0 0 0 0.8 0
3 3 3 3 0 0 0 0 0 1

Vous aimerez peut-être aussi