Home

Initiation Scilab I Indroduction - CMAP

image

Contents

1. e A est un nombre al atoire compris entre 0 et 1 ici 0 2113249 e Si lt 0 5 alors on affecte B la valeur O e sinon on donne B la valeur 1 o fin du test e Ici B vaut donc 0 M me chose en mode diff r Cela donne l criture du script suivant A rand if A lt O 5 then B 0 end disp A disp B Remarque On peut ommettre then et le remplacer par un point virgule Cela donne A rand if A lt O 5 B 0 else B 1 end disp B 15 Test polydirectionnel suite d instructions 1 I e seif oondition wae then suite d instructions 2 DT eiseif condition 3 vraie then suite d instructions 3 Ceise one dinsiueomsg RE EE 6 oeo wX scilex scilsb d 1 acilab 4 1 Scilab Consortium Inria Enpe File Control Demos Graphic Hindow 0 Help Editor A rand l gt if A lt O 1 then E bonjour elseif 450 9 then au revoir elseif 4i0 4 i then E bye else E good morning end dispi dispil D 2360439 bye Cela peut tre crit sur un script de la fa on suivante A rand if A lt O 1 then B bonjour elseif A gt 0 9 then B au revoir elseif A gt 0 4 then B bye else B good morning end disp A disp B 16 OCA Test de branchement select Jamesin ooo SE case expression 1 suite d instructions 1 SE ca
2. e Application while choix gt 0 amp choix lt 4 choix x choose titre Choisissez une fonction if choix 0 choix 4 disp Au revoir xdel O else clf plot2d x y choix 2 choix xselect xgrid xtitle titre choix end end e Tant que l option Quitter 0 ou cancel 4 n ont pas t choisies on propose un choix suivi d une action 38 Dialogue fichier utilisateur 4 gt Scilab Il est possible de sauvegarder des r sultats ou des fonctions int ressantes dans des fichiers binaires Scilab pour les r cup rer dans une autre session en utilisant l instruction save e On sauve avec save puis on efface toutes les variables temporaires de la session avec clear x 0 0 1 2 pi y sin x M Cx y save Exemple1 M clear e On r cup re le fichier Exemplel avec load pour l utiliser ventuellement dans un autre pro gramme ici un graphe de la fonction sinus load Exemplei clf plot24 M 1 M 2 2 Jour Aujourd hui nous sommes le save Exemple2 Jour On sauve Jour dans le fichier Exemple2 clear On efface la m moire temporaire load Exemple2 On charge le fichier disp Jour date A Les donn es sauvegard es sont dans des fichiers binaires et ne peuvent tre lues que par Scilab Pour sauver les donn es dans un fichier ascii donc lisibles il est n cessaire d util
3. condition do suite d instructions end Ce que l on peut traduire par tant que la condition reste vraie faire la suite d instructions donn e fin de tant que e condition fournit un r sultat bool en e suite d instructions consiste en une ou plusieurs instructions se terminant par une virgule ou un point virgule avec le sens habituel On veut calculer 10 en utilisant la r currence 0 1 et pour n gt 1 n nx n 1 Calcul de factoriel 10 avec la boucle while b 1 a 1 initialisation de la boucle while a lt 11 do tant que a est lt 11 faire b b a b est remplac par la valeur en m moire de b fois a a a i a est remplac par la valeur en m moire de a plus 1 end fin de la boucle disp a Autre possibilit en utilisant le mot cl else b n a i while n gt 0 do a n a n n i else disp a end On remarque que les boucles doivent tre initialis es par des constantes ou variables judicieusement choisies 14 Le test conditionnel if then else Test bidirectionnel condition vraie suite d instructions I O D ee O te d instructions 2 end a 6009 x scilex acilab 4 1 acilab 4 1 Scilab Consortium Inris Enpci File Controli Demos Graphic Hindow 0 Help Editor gt rand if A lt O 5 then gt B 0 else gt B 1 end dispiA l dispil 0 211345 Ce
4. On consid re le script suivant qui calcule s POUT T 172 5 0 et repr sente les r sultats dans des cellules distinctes x 0 0 01 2 pi yi sin x y2 y1 1 2 xsin 2 xx y3 y2 1 3 xsin 3 x y4 y3 1 4 sin 4xx y5 y4 1 5 xsin 5 xx y6 y5 1 6 xsin 6 x Y y1 y2 y3 y4 y5 y6 clf for i 1 6 do subplot 2 3 i plot2d x Y i i xtitle cellule string i end 26 On obtient la figure suivante 60e x Scilab Graphic 0 File Zoom Unzoom zI Rot Edit cellule 1 10 06 06 O4 D2 O0 02 04 DE 0 MEE E cellule 4 20 15 10 o5 0 0 05 10 15 EX es Fi Li E on Ci 1 5 cellule 2 15 1 0 0 5 0 0 0 5 1 0 ai 1 2 3 a DE 7 cellule 5 20 1 5 1 0 0 5 0 0 0 5 1 0 1 5 5 2 0 j 1 23 4 5 6 7 cellule 3 Len Fi Li on Ci cellule amp 20 1 5 1 0 0 5 0 0 0 5 1 0 1 5 2 0 mm M Li E on Ci On remarquera nouveau la num rotation sp cifique associ e la proc dure subplot Variantes de la fonction plo2d La fonction plot2d poss dait dans l ancien mode graphique plusieurs variantes plot2d2 plot2d3 et plot2d4 On consultera l aide pour plus de pr cisions Avec l diteur graphique du nouveau mode graphique plot2d fournit beaucoup plus d alternatives de repr sentations graphiques En voici pour tant une
5. courbes sur une m me figure clf efface la figure courante x linspace pi pi 100 vecteur colonne plot2d x sin x cos x Repr sentation de la fonction x f x x x x 1 sur un rep re rectangulaire x 2 2 On crit alors le script suivant clf on efface la figure pr c dente x linspace 2 2 100 VX O4 2x plot24 x y 22 Cela donne la figure 60e IX Scilab Graphic 0 Filei Zoom UnZoom 3 Rot Edit i Apr s une modification partir le l diteur graphique on obtient 60e IX Deuxieme exemple File Zoom UnZoom 31 Rot Editi On remarque que la barre de menu comporte les menus compl mentaires Zoom et UnZoom e Le menu Zoom s lectionn permet de d terminer sur la fen tre graphique l aide du pointeur une zone rectangulaire agrandir Une nouvelle fen tre appara t on peut it rer cette op ration et ainsi observer le comportement d une courbe dans une zone pr cise UnZoom permet un retour au graphe initial 23 Quelles sont les racines de l quation 1 2x4 x On crit le script exp rimental suivant x 2 0 01 2 y 1 2 xx 2 x 3 x 5 clfO plot2d x y 2 Apr s modification classique de la figure on obtient successivent en utilisant la loupe ou le zoom eee IX Scilab Graphic 0 606 IX Scilab Graphic 0 Filej Zoom UnzZaom
6. exemple x 0 0 5 10 clf subplot 2 2 1 plot2d x sin x xtitle plot2d subplot 2 2 2 plot24d2 x sin x xtitle plot242 subplot 2 2 3 plot2d3 x sin x xtitle l plot2d30 subplot 2 2 4 plot2d4 x sin x xtitle plot244 27 Caract ristiques du nouveau mode graphique Scilab Trac s par plot2d et diteur graphique Les trac s de courbes sont r alis s dans des figures form s d objets graphiques comme les axes les trac s appel Polylines pour les courbes les labels etc Ces objets ou parties de la figure sont appel es entit s et poss de chacune des propri t s que l on peut modifier On a vu qu il est possible d utiliser l diteur Edit de la fen tre graphique On peut utiliser le sous menu D marrer s lecteur d entit start entity picker et cliquer avec la souris sur la partie de la figure que l on veut modifier Il est galement possible de modifier les param tres d une figure l aide d instructions Scilab ins r es dans le script e scf Pour les propri t s g n rales de la figure e gca Pour les propri t s des axes du titre etc e gce Pour les propri t s des trac s compound f scf 1 clf 1 x 7 0 01 7 clf plot2d x sin x cos x a gca get current axes e gce get current entity La figure suivante pr sente de fa on simpl
7. graphiques avec en particulier la commande plot2d Soit repr senter la fonction x sin x sur une p riode dans un rep re rectangulaire e On d finit d abord en absisses 100 valeurs x 1 lt lt 100 r guli rement espac es entre T et r e On calcule ensuite les valeurs en ordonn es pour 1 100 y f xi sin x e Le graphe de cette fonction sera trac dans une fen tre graphique par la commande plot24 x y Ceci donne script suivant x linspace pi pi 100 suite de 100 points quir partis entre 7 et 7 y sin x plot2d x y On compile le script Scilab qui donne figure peu satisfaisante suivante 60e XI Scilab Graphic 0 File Zoom UnZoom 31 Rot Edit Ce graphe l mentaire peut tre modifi dans un deuxi me temps en utilisant l diteur graphique 20 Modification interactive d une figure graphique Le pr sentation d une figure peut tre modifi e de fa on interactive On s lectionne dans la fen tre Scilab Graphic 0 qui appara t le menu Edit et le sous menu Propri t s de la figure Exemple de modification eee Graphic Editor eee Graphic Editor X Figure Editor X Axes Editor Objects Browser A Aresti Objects Browser Figure 1 EI Compound 1 Poldine 1 Object Properties Object Properties x h rs Title St
8. pr d finies 06 IX Scilab Browse Help 1 RS Browse Help E Frogramming Graphics Library Elementary Functions InputGutput Functions Handling of functions and libraries Character string manipulations QUI and Dialogs Utilities Linear Algebra Folynomial calculations General System and Control Robust control toolbox Optimization and simulation Signal Processing toolbox Arma modelisation and simulation toolbox Metanet graph and network toolbox acicos Bloc diagram editor and simulator Done F On navigue dans les diff rents dossiers propos s la recherche d une information adapt e On peut galement utiliser le moteur de recherche situ en haut gauche de menu Help en entrant un mot cl suppos 60e X Scilab Browse Help 1 RE Browse Help tez fiog log HB tilda logical not FX Scilab Function getcolor opens a dialog to show colors A getfont dialog to select font A getlinestyle dialog to select linestyle A getmark dialog to select mark symbol A getsymhol dialog to select a symbol anc E plot2d1 2D plot logarithmic axes obsi E xsetm dialog to set values of the graphic and amp logical and A gammaln The logarithm of gamma functii log natural logarithm E log10 logarithm log1p computes with accuracy the natu E log base 2 logarithm logm square matrix logarithm not logical not E or lo
9. 2 et en base 10 e La fonction disp a affiche la cha ne de caract res repr sentant a sans l affecter la variable ans qui conserve alors son affectation courante Les types de donn es ou d objets simples Les commandes interpr t es par Scilab peuvent tre des expressions ou des instructions construites partir d objets reconnus par le logiciel Les objets ou donn es Scilab de base sont des matrices de diff rents types scalaires bool ens cha nes de caract res polyn mes listes etc e On dispose de divers types d objets Scilab ceci sera d velopp dans la suite Objets R els ou complexes Bool ens Cha nes de caract res Polyn mes Fonctions Type scilab Constant boolean strings polynomial function e Par ailleurs on distingue deux formes de donn es celles qui sont pr d finies et celles qui sont d finies par affectation e Les donn es num riques pr d finies Constantes math matiques e Instructions Scilab he e Les donn es bool ennes pr d finies Constantes bool nnes Instructions Scilab Ht Ces constantes bool ennes permettent d valuer la valeur logique d une relation e Les donn es ou variables scalaires d finies par affectation L affectation est l instruction qui consiste donner une valeur une variable que l on cr e ou que l on modifie Sa syntaxe est simple on choisit un nom qui peut tre une lettre ou un groupe d
10. 7654 cos 0 1987654 gt xcos 0 1987654 gt disp a pour display e Une ligne ou un groupe de caract res pr c d par n est pas lue par Scilab Il peut s agir alors d un commentaire e Les r sultats sont donn s epsilon machine eps pr s Il s agit d un calcul num rique et non d un calcul symbolique e On notera que Scilab est con u pour travailler sur des nombres r els ou complexes gt sqrt 4 donnera pour r ponse ans 2 i puis gt sqrt ans donnera la r ponse answer ans 1 i ans est une variable temporaire e Avec cette calculette on dispose d un grand nombre de fonctions pr d finies On dispose par exemple des fonctions sqrt pour racine carr e d finie sur C exp pour l exponentielle log pour le logarithme n p rien sin pour la fonction sinus etc e Dans Scilab les calculs sont essentiellement num riques Les nombres r els ou complexes sont en double pr cision avec une pr cision maximale de 16 chiffres d cimaux et leur valeurs absolues est comprise entre 107808 et 107308 e Par d faut les r sultats sont affich s avec 10 caract res comprenant le point d cimal et le signe e On notera que log comme beaucoup de logiciels de ce type repr sente le logarithme N p rien In On utilise les fonctions log2 et log10 pour avoir respectivement les logarithmes en base
11. IX COURBES PARAMETREES vi e On remarquera que les commandes d clin es dans un script ne sont valables que pour la figure courante e Si l on veut modifier le comportement par d faut du graphisme la fonction gda get default axes doit tre utilis e car elle retourne les axes par d faut Par exemple si l on veut des axes orthonorm s et que les axes se coupent en 0 0 par d faut louverture d une session on crit en d but de session Scilab les commandes 31 A gda A x_location middle A y_location middle A isoview on Pour que Scilab ex cute toujours par d faut ces commandes son lancement il faut les mettre dans son fichier d initialisation Celui ci s appelle scilab ini S il n existe pas il faut le cr er Il doit se trouver dans un dossier particulier de la machine Pour avoir le nom de ce dossier on tape dans Scilab la commande SCIHOME Par exemple sous macOSX cela donne gt SCIHOME SCIHOME Users Moi Scilab scilab 4 0 Il existe bien s r d autres commandes graphiques qui seront abord es dans la suite du cours au fil des chapitres L aide Scilab comporte la syntaxe de toutes les fonctions graphiques Exemple de graphe anim hf scf 1 xselect clfO hf figure_name Animation hf pixmap on x 0 0 005 1 t 0 0 005 20 ui zeros x for i 1 1001 plot2d x u1 8 rect 0 2 1 2 ui cos 4x
12. UNIVEBSITE A DIERRE amp MARIECURBIE CST IENCE A pAniS Universit Pierre et Marie Curie L 206 2007 2008 Charles Billon Initiation Scilab I AI Indroduction Scilab est un logiciel de calcul num rique d velopp par l ENPC et l INRIA et distribu gratuitement par le consortium Scilab Ce logiciel peut tre install sur diff rentes plate formes Microsoft Unix Linux mac OS X etc Il peut tre t l charg sur le site www scilab org Les fonctionnalit s de Scilab sont tr s proches de celles de matlab qui est un logiciel commercial L int r t de ce logiciel est de pouvoir disposer d un outil la fois souple et puissant pour r soudre num riquement de nombreux probl mes de math matiques appliqu es et de trouver presque exp rimentalement des solutions ces probl mes On notera enfin que la connaissance de Scilab est requise pour tout les candidats l agr gation de math matiques dans la cadre d une preuve orale de mod lisation De nombreux cours et exercices sont disponibles sur la toile Il commence de plus tre enseign au lyc e Ce logiciel scientifique en d veloppement constant poss de plusieurs versions dont la plus r cente est la version 4 1 1 1 Comprenant entre autres les soci t s ou organismes Anagram Technologies Appedge Axs Ingenierie CEA CNES Cril Technology Dassault Aviation Ecole polytechnique EADS EDF Esterel Technol
13. des instructions ins r es dans le script f scf 1 On ouvre la figure num ro 1 f figure_name EXEMPLE 1 Nom de la fen tre graphique f background 7 Couleur de fond externe jaune Xx 7 0 01 7 clf plot2d x sin x cos x l a gca e gce pi e children 1 p2 e children 2 pi foreground 5 la couleur du graphe 1 est rouge p2 foreground 2 la couleur du graphe 2 est bleue a x_location middle Propri t s des Axes a y_location middle a isoview on axes orthonorm s a grid 4 4 grilles de couleur 4 et 4 vert t a title bras titre de Axes t text Figure et courbes apres transformations LX a x_ label Handle ou bras de Axes des X LX text x en abscisse LX position 8 0 LY a y_ label Handle ou bras de Axes des Y LY text y en ordonnee LY position 0 4 LY font_angle 0 eee X EXEMPLE 1 Enr cnmmmmmmmmmmmponmmmmmmmmmmmtommmmmmmmmmmmtommmsmmmmm O m mmmmmmmmmcqgommmmmmmmmmmmmmmmmmmmmmmmtemmmmmmmmmmm 30 Exemple d une courbe param tr e t 0 0 01 2 pi x sin t y cos t f scf 1 clf 1 f figure_name COURBES PARAMETREES f background 7 plot2d x y 5 a gca a isoview on a x_location middle a y_location middle plot2d sin 2 t cos 3 xt 2 t a title t text En rouge un cercle En bleu f scf 1 f figure_name COURBES PARAMETREES 6606
14. e lettres et on lui attribue une valeur l aide du signe Ma donnee sin 2 pi disp a e Les variables cha nes de caract res Une cha ne de caract res est d finie par affectation sous la forme a Bonjour le serveur est occup merci de rappeler plus tard b L an 1515 c est Marignan On affecte a la valeur Bonjour le serveur est occup merci de rappeler plus tard en utilisant les deux s parateurs identiques d initialisation puis de fermeture Pour Scilab le s parateur a la m me valeur que En revanche ces deux signes ont des valeurs diff rentes int gr es dans une cha ne de caract res Ainsi pour distinguer les caract res ou ins r s dans une cha ne de caract res d un s parateur de fermeture il faut les crire ou ou ou Ces cha nes de caract res sont de type Scilab strings On peut fusionner deux cha nes de caract res par l op rateur de concat nation Les op rations simples e Op rations arithm tiques Op rations math matiques Instructions Scilab e Op rateurs relationnels RES e Conversion cha ne scalaire Conversion Instructions Scilab scalaire J gt strings strings a scalaire A 0 11 a evstr A Les tableaux Les tableaux ou matrices de donn es peuvent
15. gical or B getio get Scilab input output logical unit E tk_getdir dialog to get a directory path E tk_getfile dialog to get one or more file E tk_savefile dialog to get a file path for x xget le dialog to get a file path GUI and Dialogs Cette aide en fran ais ou en anglais est videmment essentielle et doit tre utilis e sans mod ration logspace logarithmically spaced vector B buttondialog Create a simple button dial Last update April 1993 log natural logarithm Calling Sequence p log x Parameters x constant vector or constant matrix Description Log x is the element wise logarithm y i j logix i j For matrix logarithm see Logm Examples exp log 1 i 1 i See Also exp logm ieee FI lt amp Done Editeur de texte Le logiciel poss de un diteur de texte int gr d nomm SciPad qui permet d utiliser Scilab en e Pour acc der cet diteur de texte on utilisera le menu Editeur de la fen tre principale e On dite alors un fichier source comportant des suites d instructions selon les r gles du mode imm diat attention aux valeurs des virgules des point virgules des retours la ligne etc e Le fichier ainsi compos et termin par un retour la ligne constitue un script ou encore un programme e On valide save ce script en lui donnant un nom adapt avec l extension sce On cho
16. i 3 Rot Editi 60e IX Scilab Graphic 0 Filei Zoom UnZoom 3 Rot Editi On peut conclure qu il existe une racine peu diff rente de 1 185 24 Les arguments de la commande plot2d sont toujours consid r s comme r els Ainsi si l on donne des nombres complexes comme argument plot2d utilise leurs parties r elles sans donner de message d erreur Par exemple si l on trace la fonction y ln x sur 5 5 en utilisant la suite de commandes x linspace 5 5 100 plot2d x log x La fonction plot2d tracera entre 5 et 0 la partie r elle du logarithme qui est complexe pour ces valeurs 60e IX Scilab Graphic 0 File Zoom UnZoom 3 Rot i Editi s Autre exemple trac du graphe de y y xz 1 sur 4 4 l aide de plot2d 0 09 X Scilab Graphic 0 Filej Zoom UnZoom 3 Rot i Editi 25 Trac s de plusieurs cellules graphiques dans une m me fen tre L instruction permet de partager la fen tre graphique en un tableau de cellules graphiques On veut repr senter par exemple sur une m me fen tre graphique 6 courbes chacune dans une cellule propre dans un tableau de deux et trois colonnes On utilise la proc dure subplot 2 lignes 3 colonnes i num ro de la cellule On notera dans la figure suivante le principe de num rotation particulier des cellules de droite gauche et de haut en bas
17. ifi e l arbre correspondant aux trac s effectu s Chaque trac est compos d objets appel s entit s qui ont des propri t s et des liens hi rarchiques entre eux On peut modifier de fa on interactive chaque l ment de la figure axes trac s couleurs titres l gendes etc Ces modifications peuvent tre inscrite dans le corps d un script en utilisant la hi rarchie sp cifique de chacune des composantes 28 f figure_name bla bla f background 7 couleur a isoview on a a x_location middle LT a y_location middle bras a t a title d t text bla bla p1 foreground 5 A p1 e children 1 gt p1 file_mode off p2 foreground 2 p2 e children 2 N p2 file_mode off Hi rarchie du trac e La commande a gca Get Current Axes permet d acc der l entit axes courant c est dire aux axes de la figure que l on vient de tracer e La commande e gce Get Current Entity permet d acc der la derni re entit trac e c est dire l entit Compound qui est l ensemble des deux courbes trac es appel es Polyline e On passe d une entit ses enfants en utilisant le champ children Ces diff rents champs sont accessibles par les commandes suivantes 29 a gca e gce pi e children 1 p2 e children 2 On peut alors modifier les propri t s de axes ou des courbes par
18. ion des deux courbes u xclick v xclick w xclick t u v w sont des vecteurs lignes associ s aux quatre appels successifs la fonction xclick Les deux figures suivantes donnent la repr sentation graphique associ ce script et les r sultats affich s dans le fen tre principale 34 606 IX Scilab Graphic 0 File Zoomi Ungoomi 3D Rot Editi Exemple clicki On pratique successivement un click gauche sur chacun des points d intersection des deux courbes apr s un ou deux zoom On obtient le r sultat t J 0 65 0 6057095 LI J 2 8780761 0 2561083 i J 6 4178971 0 134962 laJ J g 3280355 0 0564308 Les vecteurs obtenus poss dent trois composantes Par exemple pour t t 1 0 repr sente le num ro et le mode du click pratiqu t 2 0 65 repr sente l abscisse du pointeur associ au click pratiqu t 3 0 6057095 repr sente l ordonn e du pointeur associ au click pratiqu e V rifier la pertinance de ces quatre r sultats On consultera l aide en ligne pour plus de pr cision sur cette fonction 39 Les entr es et sorties sous Scilab Dialogue utilisateur 4 gt Scilab Pour inclure des donn es lors de l ex cution d un script on dispose de plusieurs instructions permettant l utilisateur de commander l volution du programme En voici quelques exemples simples utiliser en mode diff r Cette commande interrompt l ex cu
19. iser des instructions issues de la pr histoire informatique write et read 39
20. isira un dossier de sauvegarde permettant de le retrouver facilement 099 x SciPad Fichierl sce Fichier Edition Rechercher Ex cuter D bug Langage Options Fen tres Aide ie premier script Ligne 13 Colonne 1 Ligne logique 13 Il est possible d acc der d anciens fichiers AnciensFichier sce de les modifier ou d effectuer des t ches r p titives par Copier Coller puis de sauvegarder le fichier transform sous un autre nom NouveauFichier sce etc e On compile load alors le fichier sauvegard dans Scilab en utilisant le menu Ex cuter et le sous menu Charger dans Scilab Cela donne alors dans la fen tre Scilab le r sultat suivant 10 scilab d 1 scilab 4 1 Scilab Consortium Inria Enpc File Controli Denosi Graphic Hindow 0 Helpi Editor 30 25 43 56 0 6944444 62 7264 1062977 9944450 9944450 La compilation du script entra ne l ex cution imm diate des instructions et l affichage des r sultats Remarque Il est possible galement charger le fichier fichieri sce partir du menu File de la fen tre principale Scilab puis en passant par le sous menu File Operations choisir le chemin conduisant au fichier fichieri sce Il suffit de valider le chargement de ce fichier par la commande Exec Alternatives Fichieri sce WHacTrek 1 2 0 drg TIS Stats_fr pdf WireTapPro dmg matr_intro_2 png option_keys
21. itor E gt 2 3 ans gt a 3 0 5 b 2 c 3 d a b c Teb gt ans 1 ans 6 E dans ans ans 12 gt 20 Mode d emploi de la calculette e La derni re ligne affich e dans la fen tre principale de Scilab et qui d bute par invite gt E est la ligne courante ou ligne de commandes ou encore ligne d instructions e C est sur cette ligne que l on inscrit les instructions destin es au logiciel Il est possible de ce d placer horizontalement sur cette ligne au moyen des fl ches directionnelles du clavier ou gt d liminer ou d ajouter des caract res e La ligne courante peut comporter plusieurs commandes s par es par une virgule ou un point virgule e Le point virgule est un inhibiteur d affichage l instruction une fois valid e est valu e son r sultat est gard en m moire mais n est pas affich sauf si la commande indique explicitement laff chage e La ligne d instructions qui se termine par la commande Entr e est imm diatement ex cut e e La commande Entr e est appel e suivant l humeur retour chariot Enter Ex cute etc e Il est possible pour des suites d instructions n cessitant plusieurs lignes d criture d indiquer que la commande en cours se poursuit sur la ligne suivante en utilisant trois points cons cutifs en fin de ligne gt a sin 0 1987654 x sin 0 198
22. n affecte la valeur 12 la variable a est mis en m moire gt b 16 On affecte la valeur 16 la variable b est mis en m moire gt sqrt a 2 b 2 La variable temporaire par d faut ans est affect e de la valeur Va b2 gt disp ans disp pour display On affiche la valeur de la variable temporaire ans gt c sqrt a 2 b 2 La nouvelle variable c est affect e de la valeur V a2 b2 e Quelle est l aire d un disque de 12 cm de diam tre gt r 12 2 A Ypixr 2 disp A e Soit c 3 4x pi comment obtenir les parties r elle et imaginaire de c son conjugu son module et son argument e Calculer le logarithme n p rien de 10 gt a 10 Reponse log 10 disp Reponse 0 09 X scilex scilab 4 1 scilab 4 1 Scilab Consortium Inria Enpc File Controli Demos Graphic Window 0 Help Editor loading initial environment a sqrt 6 b i c a conj a E gt e a 3 e 14 6969381 gt f exp b f _ 0 5403023 0 84147101 e cos 1 i sin 1 g 0 5403023 0 8414710i gt h real f i imag f h 00 5403023 0 8414710i gt Le menu d aide en ligne H elp La fen tre principale Scilab propose divers menus Le menu d aide Help est particuli rement important Ce menu donne de fa on interactive en fran ais ou en anglais les propri t s de chacune des instructions symboles fonctions proc dures Scilab
23. ogies IFP INRIA Klippel PSA Renault Styrel Technologies Thales TNI Scaleo Chip Mandriva Ouverture d une session Scilab Une fois lanc le logiciel Scilab affiche dans sa fen tre principale la suite de caract res gt E c est le l invite de commande Cette invite signale que Scilab est en attente d une commande de l utilisateur Fen tre initiale sur Mac OS X Ea UN A K scilex Scilab d Copyright ci 1989 2006 Consortium Scilab INRIA ENFC Warning the operational team of the Scilsb Consortium does not directly provide nor officially support the port of 5cilab to MacOS Startup execution loading initial environment gt On remarque que cette fen tre comporte une barre de menus qui peuvent tre explor s l aide du pointeur li la souris Les propri t s de ces diff rents menus seront d clin es dans la suite du cours e Le menu File e Le menu Control e Le menu Demos e Le menu Graphic window e Le menu Help e Le menu Editor Utilisation de Scilab comme une calculette Scilab peut tre utilis comme une calculette en prenant en compte les r gles habituelles de priorit relatives aux op rations math matiques classiques X x pour Scilab pour puissance associ es aux parenth ses 0 09 X scilex scilab 4 1 scilab 4 1 Scilab Consortium Inria Enpc Filei Controli Denos Graphic Hindow 0 i Helpi Ed
24. se expression 2 suite d instructions 2 a case expression 3 suite d instructions 3 clse instructions par d faut nd S O e La valeur de expression 0 est donn e puis compar e aux valeurs de expression 1 expression Das e D s que l une de ces comparaisons rend la valeur bool enne Vraie la suite d instructions correspon dante est effectu e les autres ne sont pas test es e Si toutes les comparaisons propos es donnent Faux la suite d instructions par d faut introduite par else est effectu e Dans un fichier Salutation sce on peut crire A floor 4 rand select A case 0 then disp BONJOUR case 1 then disp AU REVOIR case 2 then disp ni hao else disp zai jian end 17 Fonctions ou macros Les fonctions ou macros sont des encha nements de commandes qui peuvent tre individualis es par un nom global singulier l int rieur d un script et utilis es chacune une fois d finie comme une nouvelle instruction e La syntaxe utilis e est function y MaCommande param tres instructions instructions y endfunction e On veut construire une commande qui calcule le prix toutes taxes comprises ttc d un ordinateur connaissant son prix hors taxe ht function y PrixTTC x y 1 195 x endfunction application MonOrdiHT 1520 Entr e a PrixTTX MonOrdiHT Sortie disp a e On veut cons
25. supertux 0 1 macosx universal dma G _COURSTOUT_E Mob Envoie kalman AYRIL 2007 FOUBELLE_SCE 2 FOUR_ALICE Fhoto_debut_z00r Progr_Boug_2007 SCILAE_2008 S HS_NATURELS Sci lab 4 1 10 4 PPC 11 Cela donne alors le r sultat suivant dans la fen tre principale 60e X scilex scilab d 1 scilab d4 1 Scilab Consortium Inria Enpc File Controli Denos Graphic Hindow 0 Help Editor exec Users chillon Desktop Fichieri sce 30 25 B 43 56 C S 0 6944444 62 7264 E 01052577 e 0 9944450 0 9944450 gt 00 On remarquera que cette proc dure affiche clairement dans la fen tre principale le nom du fichier compil et son chemin d acc s On peut modifier ce fichier le sauvegard puis le rappel en utilisant les commandes de rappel A V e Un script peut tre compos sur n importe quel autre diteur de texte l mentaire en fichier texte ascii sce ind pendamment de l diteur de texte de Scilab On dispose donc de deux modes Scilab le mode imm diat ou en ligne pour tester rapidement des instructions et le mode diff r ou mode programmation qui permet d laborer des calculs plus longs ou plus labor s A Remarque propos la r daction d un script Pour Scilab le caract re espace poss de une valeur qui lui est propre par d faut d pendant du contexte On vitera d utiliser ce caract re alors qu il existe un caract re d di q
26. t i xsin 5 pi x sin 16 x pixx t i xsin 5 pixx t i plot2d x ui 2 modulo i 5 rect 0 2 1 2 show_pixmap end delete hf 32 Exemple de repr sentation en coordonn es polaires On veut repr senter en coordonn es polaires sur un rep re orthonorm la fonction 0 p 0 exp 0 0E 0 27 Cela donne le script suivant theta linspace 0 2 pi rho exp theta CLT polarplot theta rho Apr s arrangement de la repr sentation par l diteur graphique cela donne o 00 IX polarplot LC File Zoomi UnZoom ZD Rot Edit Courbe en coordonn es polaire 0 6 33 Juelques commandes graphiques importantes Efface la fen tre courante clf x efface la fen tre num ro x xtitle bla bla Inscrit un titre qui est une cha ne de caract res dans le graphe courant consulter l aide pour conna tre ses diff rents param tres Le programme se met en pause dans l attente d un appui sur l un des boutons de la souris l int rieur le cadre de la fen tre graphique Cette commande est int ressante pour permettre de relever exp rimentalement les coordonn es de points sur un graphe 1 On cherche graphiquement les solutions de l quation sin x Pr sur 0 10 On peut utiliser le script suivant x 0 0 01 10 y sin x z 1 0 1 x clf plot2d x y 2 plot24 x z 1 t xclick On clique sur l intersect
27. tion du programme en attente d une frappe sur le clavier disp Je suis bloqu Pour continuer appuyer sur une touche halt 0 disp Merci Cette commande interrompt l ex cution du programme et propose un message l adresse de l utilisateur et attend une r ponse clavier sous forme soit d un scalaire soit d une cha ne de caract res La r ponse utilisateur est alors affect e une variable judicieusement choisie le programme continue alors 1 Affectation scalaire x input Donner la valeur initiale de temp rature entre O et 100 if x lt 15 then disp c est trop froid else disp c est bon merci end 2 Affectation cha ne de caract res x input Donner un mot d au moins 4 lettres string L length x u v sort rand 1 L y str2code x Y y v X code2str Y disp Avez vous donner X 36 readc Cette commande interrompt l ex cution du programme en attente d une cha ne de caract res sur le clavier suivie d un retour chariot e Si la cha ne est vide readc_ est quivente halt e Si la cha ne correspond l criture ou au calcul d un nombre on peut la transformer en une constante r elle par l instruction evstr x_dialog Cette commande interrompt l ex cution du programme et propose une boite de dialogue comportant sous forme de matrice de cha ne de caract res Resultat
28. tre d finis par affectation sous la forme suivante a21l 2 5 p5 5 6 8 4 2 101 dispia j 1 Za 53 1415927 4 5 5 zZ 7182818 F z g 10 e Le symbole initialise le tableau On d finit alors des lignes de donn es de m me taille e Les l ments successifs d une ligne sont s par s par le symbole virgule e Le passage d une ligne une autre est indiqu par le symbole point virgule amp e Le symbole cl t le tableau e v est un tableau vide L exemple pr c dent donne un tableau de scalaires On construit de la m me fa on un tableau de cha ne de caract res 5A a bb ccc Bonjour l abeille Au revoir gt dispil A bb CCC Bonjour l abeille Au revoir gt e Un tableau doit comporter des donn es de m me type les lignes doivent comporter le m me nombre d l ments e Lors de l criture d un matrice la virgule s parant deux l ments d une m me ligne peut tre remplac par un espace Ceci est fortement d conseill car source d erreurs e Nous tudirons dans la suite de multiples autres fa ons de d finir des tableaux ainsi que les diverses op rations que Scilab propose Exercices e Soient a 12 et b 16 les longueurs des cot s d un angle droit d un triangle rectangle Calculer la longueur de son hypot nuse gt a 12 O
29. truire une commande qui inverse l ordre des l ments d une cha ne de caract res function y Renversement x X ascii x Y X sel 1 y ascii Y endfunction Utilisation de la fonction a engagelejeuquejelegagne Cha ne de caract res entr e b Renversement a sortie disp b On d veloppera dans la suite de cette introduction la notion de fonction 18 Scilab et applications graphiques l mentaires On veut repr senter par exemple le graphe de la fonction d finie dans un rep re rectangle par la param tisation suivante pour t 1 5 1 5 Cela donne par exemple le script suivant zlte 2 6 5 V t 2 t 3 t 5 clf plot2d X Y On obtient la figure suivante 606 X Scilab Graphic 0 File Zoom UnZoom 31 Rot Editi On a d fini t comme un tableau de valeurs allant de 1 5 1 5 avec un pas de 0 01 s On calcule les valeurs X t et Y t pour chaque point du tableau t ce qui donne les deux tableax X pour les abscisses et Y pour les ordonn es 19 La commande plot24 X Y trace dans une figure l ensemble des points X t Y t dans un rep re rectangulaire adapt Le logiciel Scilab poss de de nombreuses de commandes permettant de tracer des courbes On a ainsi la possibilit de visualiser imm diatement et simplement des r sultats num riques On donne dans ce qui suit un aper u l mentaire de quelques commandes
30. uivalent Exemple d finition de tableaux gt 1 2 B 1 2 C 12 A a 1 E Ts a C i 12 Scilab les boucles et les tests La boucle it rative for La boucle for est une instruction it rative de la forme for variable valeurs do suite d instructions end e variable est la variable de boucle suite d instructions repr sente les commandes que l on veut r p ter valeurs est l ensemble des valeurs que doit d crire la variable de boucle e En introduction on d finira l ensemble des valeurs l aide de l instruction suivante d but est la valeur initiale de la variable de boucle ss fin est la valeur finale qui ne doit pas tre d passer pas est le pas de progression de la variable de boucle Lorsque le pas vaut 1 il peut tre omis d but fin Calcul de factoriel 10 10 a 1 for i 1 10 do a a i1 end disp a disp i On remarquera que la variable a est initialis e avant le d but de la boucle La suite d instructions se termine par ceci vite l affichage des valeurs interm diaires de la variable a avant le d but de la boucle Il est possible de remplacer do par then par amp amp ou par un passage la ligne La boucle r p titive while tant que La boucle while est une instruction r p titive de la forme
31. x dialog commentaire valeurs sugg r es e Un commentaire e Des valeurs sugg r es e Cette commande affecte Resultat La ou les valeurs sugg r es si O K est press Et vide si Cancel est press e Le programme continue alors a x dialog Donnez un entier entre 0 et 10 par exemple 5 disp a a disp typeof a b evstr a disp b string b disp typeof b a x dialog entrer une matrice 3x3 1 O O O 1 O O O 1 M evstr a On peut facilement g n rer un menu lorsque l utilisateur a besoin de faire un choix parmi plusieurs options avec la commande x_choose qui s utilise de la fa on suivante choix x_choose Saucisses Frites Boeuf Carottes Couscous Menu du midi 37 Le menu qui appara t pr sente l aspect suivant 606060 x Xscilab Menu du midi Saucisses Frites Boeuf Carottes Couscous Cancel e Le premier argument de x_choose est une matrice de cha nes de caract res contenant les textes associ s aux diverse options e Le deuxi me argument est le titre du menu apparaissant au dessus des options e Apr s un clic de la souris sur l une des options la fonction affecte choix le num ro de l option choisie ici 1 2 ou 3 0 correspondant Cancel e Initialisation choix l1 titre sin x cos 2x sin 3x Quitter x 2 pi 0 01 2 x pi y sin x cos 2 x sin 3 x
32. yle Aspect Viewpoint Label Options Style Mode Colormap visibility W on Labet fem UUU Figure name Nouvelle Fenetre visibility W on Fill mode W on Figure id 0 Auto position W on Position 10 2488689 X position 24 Auto rotation W on Y position 90 Font angle amp 0 v 90 v 180 270 x size 610 1 2 Fore Back colors v size 461 CC Xx axis size 600 Font size L Y axis size 400 Font style Helvetica v fi SRE EE do Location middle cno coor ur Data bounds F3 1415927 31415927 Scale Lin Log Ticks Reverse _ ee IX Polyline Editor Graphic Editor Objects Browser Object Properties LS Style Data Clipping me Res M on Line mode W on Closed J Fill mode Interp mode _ Polyline style linterpolated v Line solid xn Arrow size Foreground Background Interp vector Mark mode Mark style Mark size Mark foreground Mark background On obtient finalement la nouvelle repr sentation 21 dot tabulated v 0 ENEI zi C F Em aut Quit 606 IX Nouvelle fenetre On peut tracer deux courbes sur la m me figure par surcharge x linspace pi pi 100 y sin x z cos x plot2d x y plot24 x 2 Il existe une autre possibilit de repr senter deux

Download Pdf Manuals

image

Related Search

Related Contents

44-道路事業者からのお願い 5  Hotpoint LI2JDA User's Manual    user manual  ISaGRAF WinCE ViewPAC User Manual  Visual Pharmacy Software  EverFocus Electronics Corp.    TaskMaster v4 User's Guide - Netware  Digitus DA-14006 mobile phone case  

Copyright © All rights reserved.
Failed to retrieve file