Initiation Scilab Boyer

Telechargé par philippe_doc
Université de Provence Master Mathématiques et applications
Année 2010-2011
Initiation à Scilab
Version Matlab par Florence Hubert
adaptation à Scilab par Franck Boyer
Table des matières
1 Première utilisation de Scilab, l’aide en ligne 3
2 Les matrices dans Scilab 4
2.1 Créationdematrices......................................... 4
2.2 Matricesetvecteurs ......................................... 6
2.3 Les premières opérations sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Matricesettableaux ......................................... 8
3 Le calcul vectoriel 8
4 Programmation en Scilab 9
4.1 Lesfonctionsélémentaires...................................... 9
4.2 Créerunefonctionouunscript................................... 9
4.2.1 Lesfonctions ......................................... 9
4.2.2 Bibliothèquedefonctions .................................. 10
4.2.3 Remarqueimportante .................................... 11
4.2.4 Lesscripts........................................... 11
4.2.5 Exécuter un script par Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.6 Syntaxe des opérations logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.7 Syntaxedesboucles ..................................... 13
4.2.8 Structuredechoix ...................................... 14
4.3 Conseilsdeprogrammation ..................................... 14
4.4 Enregistrer ou lire des données créées par Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Graphisme dans Scilab 16
5.1 Graphedepointsen2D ....................................... 16
5.2 Graphedunefonction ........................................ 16
5.3 Graphe d’une courbe dans l’espace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Graphedunesurface......................................... 16
5.5 Graphe d’une fonction de deux variables réelles ou d’une surface paramétrée . . . . . . . . . . 17
5.6 Gestiondesgures .......................................... 18
5.6.1 Ouvrirunegure ...................................... 18
5.6.2 Ouvrirplusieursgures ................................... 18
5.6.3 La commande clf ...................................... 18
5.6.4 Créer plusieurs graphes sur une même figure . . . . . . . . . . . . . . . . . . . . . . . 18
5.6.5 Sauvegarde et export d’une figure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7 Animationdegraphisme....................................... 18
6 Quelques commandes utiles 19
6.1 Opérations sur les coefficients d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Propriétés élémentaires d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3 Norme et conditionnement d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.4 Réduction classiques pour les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
TABLE DES MATIÈRES 2
6.5 Interpolationnumérique ....................................... 20
6.6 Intégrationnumérique ........................................ 20
6.7 Equations différentielles ordinaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.8 Equations aux dérivées partielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.9 Algorithmes de minimisation et de recherche de racines . . . . . . . . . . . . . . . . . . . . . 20
6.10Zérosdefonctions .......................................... 20
6.11Fourier................................................. 20
Introduction
Scilab est un programme de calcul numérique. La grande majorité des objets en jeu dans Scilab sont des
matrices, y compris les scalaires (matrices 1×1).
Avec quelques petits efforts, vous pourrez (en utilisant Scilab) mettre en oeuvre les différentes méthodes
que vous connaissez (ou que vous ne tarderez pas à connaître) pour :
Résoudre des systèmes linéaires du type Ax =bou calculer des valeurs propres et vecteurs propres de
matrices.
Calculer des valeurs approchées d’intégrales.
Résoudre des équations non-linéaires du type f(x) = 0.
Calculer des solutions approchées d’équations différentielles ordinaires.
Calculer des solutions approchées d’équations aux dérivées partielles.
Tracer les solutions des problèmes ci-dessus de la manière la plus propre possible pour que les résultats
soient exploitables. On pourra même faire afficher une animation montrant l’évolution de la solution
en fonction du temps.
Et bien d’autres choses ....
Nous proposons ici des rappels non exhaustifs des commandes utiles en calcul scientifique. Les exemples
donnés ont été effectués avec Scilab 4.1.1 mais doivent fonctionner à l’identique dans les versions plus récentes.
1 Première utilisation de Scilab, l’aide en ligne
Une fois Scilab lancé, les instructions que l’utilisateur va donner à Scilab doivent suivre le sigle –>.
Les instructions ainsi données au logiciel sont exécutées (ou pas s’il y a une erreur de syntaxe !) au moment
ou vous validez la ligne de commandes avec la touche ENTREE.
Par exemple :
-->1+1
ans =
2.
-->%pi
%pi =
3.1415927
-->%eps
%eps =
2.220E-16
-->%i^2
ans =
- 1.
-->t=1+1
t =
2.
-->t=1+1;
-->t
t =
2.
2 LES MATRICES DANS SCILAB 4
-->u=sin(t)
u =
0.9092974
-->v=exp(u)
v =
2.4825777
-->format(’e’,20);
-->v
v =
2.4825777280150E+00
-->format(’v’,6);
-->v
v =
2.48258
-->exit
On remarque que :
Par défaut, tout calcul est affecté dans la variable ans (pour « answer » en anglais).
Les variables %pi, %eps, %i sont déjà affectées et ne peuvent être réaffectées.
L’affectation se fait grâce au sigle =
Le résultat d’une affectation est imprimé sauf si cette affectation est suivie du sigle ;
La commande format permet de modifier l’affichage du format des différentes variables.
La commande clear efface le contenu de toutes les variables utilisées.
Attention : il très fortement déconseillé d’utiliser des noms de variables déja utilisées par Scilab.
Pour sortir de Scilab, il suffit d’utiliser les commandes quit ou exit. Lorque l’on veut interrompre un
programme, la commande CTRL-c permet de récupérer la main.
Une façon efficace de découvrir Scilab est d’utiliser son aide en ligne.
help : "help" tout seul donne la liste des aides générales possibles.
help nom de commande : exemple, help plot indique la syntaxe des graphes en 2D.
apropos nom de commande : exemple, apropos plot donne une liste de toutes les commandes qui ont
un rapport avec plot.
Attention, il n’est pas possible de sauvegarder la fenêtre de commande de Scilab. Pour sauvegarder un
travail, il est conseillé de travailler dans une fenêtre d’édition. On peut utiliser l’éditeur de Scilab et ouvrir
ou créer un fichier en cliquant sur File puis Open ou New. Tout autre éditeur de texte (Emacs, Nedit,...)
convient également. Pour exécuter les commandes d’un fichier qui s’appelle toto.sce, il suffit alors de taper
exec toto.sce ou exec ’toto.sce’ dans la fenêtre de commandes de Scilab.
2 Les matrices dans Scilab
2.1 Création de matrices
A= [a11 . . . a1m;...;an1. . . anm]
Exemple :
-->A=[1 2 3 4;2 3 4 1;3 4 1 2;4 1 2 3]
A =
1. 2. 3. 4.
2 LES MATRICES DANS SCILAB 5
2. 3. 4. 1.
3. 4. 1. 2.
4. 1. 2. 3.
Quelques matrices prédéfinies
-->B=zeros(2,3)
B =
0. 0. 0.
0. 0. 0.
-->C=ones(3,2)
C =
1. 1.
1. 1.
1. 1.
-->Id=eye(2,3)
Id =
1. 0. 0.
0. 1. 0.
-->D=rand(4,4)
D =
0.8784126 0.5896177 0.3493615 0.3435337
0.1138360 0.6853980 0.3873779 0.3760119
0.1998338 0.8906225 0.9222899 0.7340941
0.5618661 0.5042213 0.9488184 0.2615761
-->E=rand(3,4,’normal’)
E =
- 1.7350313 - 2.0735088 - 0.4534087 - 1.2317066
0.5546874 2.5891773 - 1.6565358 - 0.1325739
- 0.2143931 0.0424792 1.7224151 - 1.7242355
zeros(n,m) construit une matrice nulle de taille n×m,
ones(n,m) construit une matrice dont tous les éléments sont égaux à un et de taille n×m,
eye(n,m) construit une matrice de taille n×mdont tous les éléments diagonaux sont égaux à un,
rand(n,m) construit une matrice de taille n×mdont tous les éléments sont choisis aléatoirement
avec la loi uniforme sur [0,1],
rand(n,m,’normal’) construit une matrice de taille n×mdont tous les éléments sont choisis aléa-
toirement avec la loi normale centrée réduite.
Construction élément par élément
Exemple :
-->for i=1:3,for j=1:4, F(i,j)=i+(j-1)*3;end;end;
-->F
F =
1. 4. 7. 10.
2. 5. 8. 11.
3. 6. 9. 12.
La commande size permet d’obtenir la taille de la matrice :
-->size(A)
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !