La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Sujets
Informations
Publié par | pefav |
Nombre de lectures | 226 |
Langue | Français |
Poids de l'ouvrage | 1 Mo |
Extrait
Une introduction a Scilab
version 0.9999
Bruno Pin con
Institut Elie Cartan Nancy
E.S.I.A.L.
Universite Henri Poincare
Email : Bruno.Pincon@iecn.u-nancy.fr
Ce document a ete initialement redige pour les etudiants ingenieurs de l’E.S.I.A.L. (Ecole Superieure
d’Informatique et Application de Lorraine). Il decrit une petite partie des possibilites de Scilab, es-
sentiellement celles qui permettent la mise en pratique de notions d’analyse numerique et de petites
simulations stochastiques, c’est a dire :
{ la manipulation des matrices et vecteurs de nombres ottants ;
{ la programmation en Scilab ;
{ quelques primitives graphiques ;
{ fonctions importantes pour ces deux domaines (generation de nombres aleatoires, resolution
d’equations, ...).
Scilab permet de faire beaucoup d’autres choses, en particulier dans le domaine de l’automatique, du
traitement du signal, de la simulation de systemes dynamiques (avec scicos)... Comme je pense completer
progressivement ce document, je suis ouvert a toutes remarques, suggestions et critiques permettant de
l’ameliorer (m^eme sur les fautes d’orthographe...), envoyez les moi par courriel.
Mini historique des versions de ce document :
{ version 0.999 : modi cations du chapitre sur le graphique et quelques ajouts pour la programmation ;
v relative a scilab-2.7 ;
{ version 0.9999 (ce document) : adaptation du chapitre graphique au \nouveau graphique objet" de
scilab ; version relative a scilab-4.0.
A force de rajouter quelques paragraphes ici et a,l ce document n’est plus tres synthetique mais il
existe maintenant d’autres introductions que vous pouvez recuperer a partir du site Scilab (voir plus
loin).
Remerciements
{ au Doc Scilab qui m’a souvent aide via le forum des utilisateurs ;
{ a Bertrand Guiheneuf qui m’a fourni le « patch » magique pour compiler Scilab 2.3.1 sur ma
linuxette (la compilation des versions suivantes ne pose pas de probleme sous linux) ;
1{ a mes collegues et amis, Stephane Mottelet , Antoine Grall, Christine Bernier-Katzentsev et Didier
Schmitt ;
{ un grand merci a Patrice Moreaux pour sa relecture attentive et les corrections dont il m’a fait
part ;
{ a Helmut Jarausch, qui a traduit ce document en allemand, et qui m’a signale quelques erreurs
supplementaires ;
{ et a tous les lecteurs qui m’ont apporte leurs encouragements, remarques et corrections.
1merci pour les « trucs» pdf Stephane !Table des matieres
1 Informations diverses 4
1.1 Scilab en quelques mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Comment utiliser ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Principe de travail sous Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Ou trouver de l’information sur Scilab ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Quel est le statut du logiciel Scilab ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 La manipulation des matrices et vecteurs 7
2.1 Entrer une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Quelques matrices et vecteurs types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 L’instruction d’a ectation de Scilab et les expressions scalaires et matricielles . . . . . . . 11
2.3.1 Quelques exemples basiques d’expressions matricielles . . . . . . . . . . . . . . . . 11
2.3.2 Operations « element par element» . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.3 Resoudre un systeme lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Referencer, extraire, concatener matrices et vecteurs . . . . . . . . . . . . . . . . . 15
2.4 Information sur l’espace de travail (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Utilisation de l’aide en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Visualiser un graphe simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7 Ecrire et executer un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8 Complements divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8.1 Quelques raccourcis d’ecriture dans les expressions matricielles . . . . . . . . . . . 20
2.8.2 Remarques diverses sur la resolution de systemes lineaires (*) . . . . . . . . . . . . 21
2.8.3 Quelques primitives matricielles supplementaires (*) . . . . . . . . . . . . . . . . . 23
2.8.4 Les fonctions size et length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 La programmation en Scilab 30
3.1 Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.1 La boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.2 La boucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Les instructions conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 La construction if then else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.2 La select case (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Autres types de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.1 Les cha^ nes de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Les listes (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.3 Quelques expressions avec les vecteurs et matrices de booleens (*) . . . . . . . . . 38
3.3.4 les expressions booleennes dans les tests (if et while) . . . . . . . . . . . . . . . . . 39
3.4 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.1 un premier exemple de fonction : la factorielle en scilab . . . . . . . . . . . . . . . 40
3.4.2 deuxieme : l’equation du second degre . . . . . . . . . . . . . . . . . . . . 41
3.4.3 troisieme exemple : l’algorithme d’Horner . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.4 quatrieme : le tri insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.5 Passage des parametres (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
13.4.6 Deverminage d’une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.7 L’instruction break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.8 Quelques primitives utiles dans les fonctions . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Complements divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.1 Longueur des identi cateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.2 Priorite des operateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.3 Recursivite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.4 Une fonction est une variable Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.5 Fen^etres de dialogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5.6 Conversion d’une cha^ ne de caracteres en expression Scilab . . . . . . . . . . . . . 50
3.6 Lecture/ecriture sur chiers ou dans la fenetre Scilab . . . . . . . . . . . . . . . . . . . . . 51
3.6.1 Les entrees/sorties a la fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6.2 Les entr a la C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7 Remarques sur la rapidite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4 Les graphiques 61
4.1 Generalites sur le nouveau graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.1 principes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.2 les fen^etres graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2 l’intruction plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3 modi er quelques proprietes des graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4 l’instruction plot2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Des variantes de plot2d : plot2d2, plot2d3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.6 Dessiner plusieurs courbes qui n’ont pas le m^eme nombre de points . . . . . . . . . . . . . 71
4.7 Jouer avec le systeme d’axes par defaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.8 Dessiner un histogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.9 Recuperer ses graphiques sous plusieurs formats . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10 Animations simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.11 Les surfaces : NOT YET UPDATED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.11.1 Introduction a plot3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.11.2 La couleur