Example: biology

Quelques commandes de base en SCILAB

Universite des Sciences et Technologies de Lille Initiation au Calcul Scientifique ( SCILAB ). Quelques commandes de base en SCILAB . Jean-Paul Chehab Laboratoire de Mathe matiques Paul Painleve . Equipe AN-EDP, Ba t. M2. Universite des Sciences et Technologies de Lille F-59655 Villeneuve d'Ascq Cedex - France me l : SCILAB est un logiciel de calcul scientifique (du type de matlab ), de veloppe par l'INRIA, dans lequel sont implente s des outils voue s a des simulations en analyse nume rique (matricielle notamment) et en statistiques ; des interfaces en Fortran et en C sont pre vues. Les calculs sont effectue s en double pre cision (16 chiffres significatifs), ce n'est donc pas un logiciel de calcul formel. Ce logiciel est a diffusion non commerciale, il ne cou te pas un euro. Il existe des versions Windows et Linux de SCILAB , qu'on peut te le charger aise ment en se connectant sur le site oue be La documentation comple te est e galement disponible sur ce site ; on peut te le charger sa version postscript ou bien la consulter en ligne (version html ).

SCILAB est un logiciel de calcul scientifique (du type de MATLAB), d´evelopp´e par l’INRIA, ... D’autres commandes de SCILAB seront introduites avec les feuilles d’exercices suivant les besoins. On abordera des probl`emes d’analyse num´erique et de proba stats ; les exercices por- ... 4.2 Les boucles On distingue essentiellement ...

Tags:

  Matlab, Cave, Avec le, Boucles, 2 les boucles

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Quelques commandes de base en SCILAB

1 Universite des Sciences et Technologies de Lille Initiation au Calcul Scientifique ( SCILAB ). Quelques commandes de base en SCILAB . Jean-Paul Chehab Laboratoire de Mathe matiques Paul Painleve . Equipe AN-EDP, Ba t. M2. Universite des Sciences et Technologies de Lille F-59655 Villeneuve d'Ascq Cedex - France me l : SCILAB est un logiciel de calcul scientifique (du type de matlab ), de veloppe par l'INRIA, dans lequel sont implente s des outils voue s a des simulations en analyse nume rique (matricielle notamment) et en statistiques ; des interfaces en Fortran et en C sont pre vues. Les calculs sont effectue s en double pre cision (16 chiffres significatifs), ce n'est donc pas un logiciel de calcul formel. Ce logiciel est a diffusion non commerciale, il ne cou te pas un euro. Il existe des versions Windows et Linux de SCILAB , qu'on peut te le charger aise ment en se connectant sur le site oue be La documentation comple te est e galement disponible sur ce site ; on peut te le charger sa version postscript ou bien la consulter en ligne (version html ).

2 On donne ici Quelques commandes de bases en SCILAB ; il est recommande d'utiliser le help et de s'inspirer des de mos pour effectuer des manipulations plus sophistique es technique- ment. Ce qui suit n'est donc pas un manuel de SCILAB mais simplement un vade-mecum pour de butants. D'autres commandes de SCILAB seront introduites avec les feuilles d'exercices suivant les besoins. On abordera des proble mes d'analyse nume rique et de proba stats ; les exercices por- tant sur des proble mes de probabilite s et de statistiques sont dus a Olivier Garet (Laboratoire de Mathe matiques, Applications et Physique Mathe matique d'Orle ans UMR 6628). 1. Contents 1 Les types de donne es simple 3. les constantes re elles .. 3. Les boole ens .. 3. Les complexes .. 4. Fonctions pre de finies .. 4. 2 Les types matrices et vecteurs 5. Les vecteurs .. 5. Les matrices .. 5. De finitions et fonctions pre de finies .. 5. Quelques ope rations.

3 6. 3 Les polyno mes et les fonctions re elles 7. Polyno mes simples .. 7. Matrices de polyno mes .. 8. Les fonctions re elles .. 8. 4 La programmation en SCILAB 9. Les ope rateurs de comparaison .. 9. Les boucles .. 9. Les tests .. 9. Les sorties de boucles .. 10. 5 Les fichiers de commandes 10. Les fichiers de type script .. 10. Les sous-programmes function .. 11. 6 Repre sentations graphiques en SCILAB 11. Graphiques 2D .. 11. Plusieurs courbes dans un me me graphique .. 12. Diffe rentes courbes dans diffe rents graphiques .. 12. Parame tres de la commande plot2d .. 12. Titres et le gendes .. 12. La commande plot3d .. 12. Sauver un graphique .. 13. 7 Liste des fonctions e le mentaires 14. 2. 1 Les types de donne es simple les constantes re elles On distingue deux types de constantes : celles pre de finies SCILAB %pi %e %eps math e -machine celles de finies par affectation --> a=3; // ces deux barres permettent de placer un commentaire --> A=5; // SCILAB distingue majuscules et minuscules --> a+A // une ope ration simple ans=.

4 8. --> 1+%eps // definition de l'epsilon machine ans=. 1. On peut effectuer plusieurs commandes sur une me me ligne : pour cela on se pare deux com- mandes successives par un '; ' si on ne de sire pas que le re sultat s'affiche a l'e cran (lorsqu'on effectue un calcul interme diaire par exemple). Si au contraire on veut voir le re sultat affiche , il faut se parer les deux commandes par ' , '. --> a=2; b=2;3*a+8*b^3 // le resultat de ce dernier calcul sera affiche ans=. 70. Re ciproquement une commande peut s'e taler sur plusieurs lignes. Pour cela on place ' .. '. a la fin de la ligne que l'on de sire prolonger --> x=10*(a*sin(b)+.. --> 3*b^2);. Cela est utile lorsqu'une commande est trop longue pour tenir en une seule ligne, par exemple quand on e crit une expression arithme tique kilome trique. Les boole ens Les constantes boole ennes sont %t et %f. -->%f %f =. F. -->%t %t =. 3. T. exemple : On de finit la suite de nombres entiers 3, , 15 par -->suite=3:15.

5 -->suite>7// on donne une valuation a la proposition "terme(suite)>7". ans =. ! F F F F F T T T T T T T T ! Les complexes On de finit --> %i ; // la racine de -1 ; c'est une constante predefinie --> z=3+5*%i; // affectation A l'instar des re els on effectue les ope rations alge briques usuelles avec les complexes de finis par SCILAB . --> z1=3+5*%i;. --> z2=2+%i;. --> z1+z2 // addition de deux complexes ans =. 5+6*%i --> z1*z2 // multiplication ans=. 1.+13*%i Fonctions pre de finies On retrouve les fonctions usuelles (comme sur une calculatrice) : sin, cos, tan, exp, log, abs, sqrt Ces fonctions auront pour argument un re el. Pour les complexes les fonctions suivantes sont pre de finies : abs module real partie re elle imag parie imaginaire sqrt racine carre e Par exemple --> sqrt(2*%i) // si si ca marche ! ans=. 1+%i 4. 2 Les types matrices et vecteurs Les vecteurs On peut de finir un vecteur ligne par affectation : --> v=[1 2 3] // ne pas oublier l'espace entre chaque nombre !

6 V=. ! 1. 2. 3.! --> v' // vecteur colonne (tranpose de v). v'=. ! 1. ! ! 2. ! ! 3. ! Si v et w sont deux vecteurs de me me taille et de me me type (ligne ou colonne), on peut conside rer les ope rations suivantes --> v+w ; // la somme des vecteurs v et w --> v'*w ; // le produit scalaire (v et w sont des vecteurs lignes ici). --> abs(v) ; // le vecteur ligne [abs(v1), ..,abs(vn)]. Remarque 1 On peut e galement de finir un vecteur a l'aide d'incre ments. --> v=5 :3. v=. ! 5. 4. 3. ! Les matrices De finitions et fonctions pre de finies --> A=[1 2 ; 3 4] // affectation A=. ! 1. 2. ! ! 3. 4. ! Il existe des matrices constantes en SCILAB . Regardez la description des commandes ones (matrice n'ayant que des 1 pour coefficient), de zeros (idem mais avec des 0) et eye (matrice identite ). Il est a noter que si A a e te de finie comme matrice 2 3 en SCILAB la commande --> eye(A). ans=. ! 1. 0. 0. ! ! 0. 1. 0. ! de finira la matrice identite de me me taille ; c'est pratique.

7 On peut effectuer les ope rations alge briques usuelles : -->A*B ; // multiplication des matrices 5. -->A*b' ; // multiplication matrice - vecteur -->A+B ; // addition de matrices. Enfin, et cela est important dans la pratique, les fonctions usuelles d'alge bre line aire sont pre programme es en SCILAB . Alge bre line aire SCILAB . de terminant de H det(H). conditionnement de H cond(H). valeurs propres de H spec(H). polyno me caracte ristique de H poly(H,'s'). inverse de H inv(H). trace de H trace(H). rang de H rank(H). norme de H norm(H,flag). kHkf robenius si flag='fro'. kHk si flag='inf'. kHk2 par de faut taille de H size(H). Exemple : les commandes suivantes sont e quivalentes : --> det(%s*eye(H)-H) ; // %s signifie que s est utilisee comme variable et --> poly(H,'s');. Remarque 2 L'application d'une fonction nume rique pre de finie a une variable multidimen- sionelle (vecteur, matrice) a pour effet d'gir sur chaque composante de cette variable.

8 Par exemple, exp(H) est la matrice dont les coefficients sont les nombres eHi,j . L'exponentielle matricielle de H est calcule e au moyen de la commande expm(H). Dans le me me ordre d'ide es, l'instruction H+1. a pour effet d'ajouter 1 a chaque coefficient de H. Quelques ope rations a) Extraction de matrices i. H(3,4) donne le coefficient H3,4 . ii. H(:,4) donne la quatrie me colonne de H. iii. H(4,:) donne la quatrie me ligne de H. 6. iv. H(6:9,5:6) donne la matrice extraite de H : Hi,j , i = 6, , 9, j = 5, 6. v. H(:,$) : dernie re colonne de H. Il existe des fonctions d'extraction incorpore es ; on pourra consulter dans le help la description des commandes diag, tril, triu b) Les diffe rents produits Par commodite , les matrices sont note es par des majuscules et les vecteurs par des minus- cules. i. M*N : produit matriciel M N. ii. M\b : la solution du syste me M x = b iii. M\N : le produit matriciel M 1 .N. iv. M/b : la solution de = b v.

9 M/N : le produit matriciel 1 . vi. M.*N : produit d'hadamard des matrices M et N , composantes par composantes. vii. : division composantes par composantes, cette commande renvoie la matrice de coefficients Mi,j /Ni,.j . N. viii. M.^ N renvoie la matrice de coefficients Mi,ji,j 3 Les polyno mes et les fonctions re elles Polyno mes simples L'objet polyno me existe en SCILAB . On peut le de finir directement de deux manie res : A partir des racines --> p=poly([ 1 2],'s') // polynome de la variable s dont les racines sont 1. et 2, p=. 2-3s+s2. A partir des coefficients --> q=poly([1 2],'s','c'). q=. 1+2s Les ope rations usuelles avec les polyno mes sont pre vues par SCILAB : --> p*q ; // multiplication --> p+q ; // addition 7. --> p/q ; // division Remarque On peut de finir en SCILAB une variable s comme e tant le polyno me e gal a s : --> poly(0,'s'). La recherche des racines d'un polyno me est importante. Aussi en SCILAB est inte gre une proce dure nume rique qui permet de de terminer, de manie re approche e, les racines sous forme de vecteur colonne.

10 Il s'agit de la commande roots. Exemple --> p=poly([2 3 1],'s','c');. --> roots(p). ans=. ! 1. ! ! 2. ! Cela est aussi valable quand il existe des racines complexes. On pourra consuter dans le help la description des commandes derivat, degree, horner, pdiv Remarque 3 On peut faire Quelques calculs de type formle sur les polyno mes : changements de variables, developpements et simplification, de rivation (cf plus bas). Par exemple, executez la suite d'instructions -->poly(0,'s'). -->w=s*s+%pi*(1-3*s)^2. -->p=poly([1 2 3 4 5],'s'). -->horner(p,w). Matrices de polyno mes Exemple : tapez les commandes suivantes -->p=poly([1 2 3 4],'s','c'). -->H=[ p derivat(p) ; p-1 derivat(p)*p/(p^2+1)]. -->H('num'). -->H('den'). -->derivat(H). Les fonctions re elles Voici Quelques ope rations que l'on peut effectuer avec une fonction f i. Inte gration Z 1p -->4*integrate('sqrt(1-x^2)','x',0,1) donne une valeur approche e de 4 1 x2 dx. 0.


Related search queries