Introduction à Matlab et Scilab
|
|
|
- Félix Labranche
- il y a 10 ans
- Total affichages :
Transcription
1 Introduction à et, version 6.5 ;, version 3.0 Ph. Thieullen 2 février 2005 Les bases de et.1 Démarrer et sont des logiciels de calcul scientifique très similaires. est géré par la société Mathworks ; il est plus proféssionnel et payant. est géré par le Consortium (INRI, ENPC) ; il est du domaine publique et gratuit. Ces deux logiciels utilisent un langage de programmation très similaire, ressemblant plutôt à un langage de script qu à un langage compilé tel que le C ou le Fortran. En général un langage interprété exécute les instructions beaucoup plus lentement qu un langage compilé. Un langage interprété se justifie par contre par un temps de conception et de débogage extrèmement réduit. Par ailleurs, dans les deux cas, une très large collection de fonctions et de documentations est disponible. Pour l aide en ligne >> help nom_fonction % >> lookfor mot_cle % --> help mot_cle // --> apropos mot_cle // Le début d un commentaire est signalé par % sur, par // sur et s arrête en fin de ligne. Pour plus d aide on peut essayer : >> more on % affichage par page >> help topics: % longue liste >> demo matlab --> exec(sci+ /demos/alldems.dem ); Pour naviguer dans ces répertoires, on utilise cd modification du répertoire courant ls liste des fichiers et des répertoires pwd nom du répertoire courant Par exemple sur un PC en : --> cd c:\documents and settings... --> \nom_utilisateur\ On remarque qu on peut écrire une instruction sur plusieurs lignes, aussi bien sur que sur, en terminant la ligne avec... Il est possible de travailler directement sur la fenêtre de commande. Mais c est souvent plus commode d écrire un script ou des fonctions sur un fichier séparé et d appeler ce fichier dans la fenêtre de commande. N importe quel éditeur de fichiers.txt convient. Il est possible aussi d utiliser l éditeur local du logiciel : --> // Creation d un script ou --> // d une fonction en --> scipad nom_script.sce --> scipad nom_fonction.sci --> // fichier vide 1
2 --> scipad(); >> % Creation d un script ou >> % d une fonction en >> edit nom_script.m >> edit nom_fonction.m >> % fichier vide >> edit Les fichiers script ou fonction ont pour extension (usuelle mais non impérative).sce ou.sci en et.m en. Pour exécuter un script dans la fenêtre de commande, on utilise le nom du fichier qui le contient ; pour, il faut garder l extension ; pour, il ne faut pas la garder : --> // --> exec("nom_script.sce"); >> % >> nom_script Pour utiliser une fonction par la suite, il faut d abord charger le fichier dans --> // Sur : --> // chargement d un fonction --> getf("nom_fonction.sci"); --> // utilisation de la fonction --> resultat = nom_fonction(args); >> % Sur : >> % pas de chargement >> % utilisation directe >> resultat = nom_fonction(args); Il se peut que la pile des données (l roit de la mémoire que le logiciel se réserve) soit insuffisante. Sur, stacksize(n) fixe la taille de la pile et V = stacksize() fournit l état de la pile. Par exemple --> // --> n = > stacksize(n) --> V = stacksize() --> // V = [ , ] Sur, il n existe pas de fonction équivalente ; il faut manuellement augmenter la taille de la mémoire virtuelle. Pour sortir de ou, on exécute >> exit % --> exit // scilab.2 Un super calculateur On peut utiliser ou comme un simple calculateur..2.1 Opérateurs arithmétiques + addition soustraction multiplication / division ^ puissance () parenthèse --> -3.5e-01 // ans = > 5.0*10^4 // ans = > -2d-6 // ans = >> -3.5*10^(-1) % ans = >> 5.0e+4 % ans = >> -2d-6 % ans = e-006 Un retour à la ligne exécute le calcul (à moins que celle-ci ne se termine par trois points...) Pour éviter d afficher à l écran le résultat du calcul, on termine la ligne par un point virgule ;..2.2 Constantes prédéfinies Constante %e exp(1) %eps eps précision machine %f, %F 0 false (faux) %i i, j 1 %inf Inf infini %nan NaN not a number %pi pi realmax plus grand réel realmin plus petit réel %s indéterminée %t, %T 1 true (vrai) 2
3 --> cos(%pi) // ans = > exp(%i*%pi/3) --> // ans = i --> %eps // %eps = 2.220D-16 >> 1/2 +i*sqrt(3)/2 >> % ans = i >> 0/0 % ans = NaN >> eps % ans = e-016 Dans des calculs arithmétiques, sur, les constantes booléennes %F et %T se comportent comme les scalaires 0 et 1. --> x = 1.2; --> signe = 0+(x>=0)-(x<=0) --> //signe = Types des données Les types de données les plus importants sont : les types scalaires (entier, réels ou complexes), les types caractères. Pour connaître le type de la donnée, suivant ou, on écrira var class(var) var typeof(var) variable type de la variable variable type de la variable On récapitule dans les deux tableaux suivant la liste exaustive des types renvoyés. double logical char cell function handle int8 uint8 int16 uint16 int32 uint32 <class name> <java class> variable précision double booléen caractère cellule pointeur fonction entier signé 8 bits entier non signé entier signé 16 bits entier non signé entier signé 32 bits entier non signé objet java nom de classe java constant polynomial function handle string boolean list rational state-space sparse boolean sparse int8 uint8 int16 uint16 int32 uint32 int64 uint Type entier variable réelle ou complexe polynomiale fonction pointeur chaîne de caractères booléenne liste fraction rationnelle modèle alébrique mat. réelle creuse mat. bool. creuse entier signé sur 1 octet entier non signé sur 1 octet entier signé sur 2 octets entier non signé sur 2 octets entier signé sur 4 octets entier non signé sur 4 octets entier signé sur 8 octets entier non signé sur 8 octets single précision simple double précision double Fonctions standard acos fonction inverse à cosinus asin fonction inverse à sinus atan fonction inverse à tangente cos fonction cosinus exp fonction exponentielle log fonction logarithme sin fonction sinus sqrt fonction racine carrée tan fonction tangente --> sqrt(-1) // ans = i --> cos(%pi/2) // ans = 6.123D-17 >> sqrt(-1) % ans = i >> sin(pi) % ans = e-016 ceil partie entière supérieure fix y=sign(x).floor(abs(x)) floor partie entière inférieure round plus proche entier sign fonction signe (-1,0,1) 3
4 --> ceil(-1.9) // ans = > fix(-%e) // ans = > round(0.4999) // ans = 0. >> floor(-1.9) % ans = -2 >> round(1/2) % ans = 1 >> sign(-pi) % ans = -1 abs angle conj imag phasemag real module : argument (radian) conjugué d un complexe partie imaginaire : argument (degré) partie réele --> ii = exp(%i*%pi/2) --> // ii = 6.123D-17 + i --> abs(ii) // ans = 1. --> [phase,gain] = phasemag(ii) --> // gain = 0. phase = > atan(imag(ii),real(ii)) --> // ans = >> ii = exp(i*pi/2) >> % ii = i >> angle(ii) % ans = mod pmodulo rem modulo (M) reste euclidien (floor) (S) reste euclidien (floor) (M) reste euclidien (fix) (S) reste euclidien (fix) (M) pour, (S) pour.3 Variables On vient d utiliser une variable ii. Les règles de construction d un nom de variable diffèrent entre et..3.1 Règles de Un nom de variable est constitué de chiffres, de lettres et de caractères spéciaux abc...xyz Un nom doit commencer par une lettre. Seuls les namelengthmax = 63 premiers caratères sont pris en compte. Majuscules et minuscules sont prises en compte. >> a, _a_, 1a1 % valide >> _abc, 123 % invalide.3.2 Règles de un nom de variable est constitué de chiffres, de lettres et de caractères spéciaux abc...xyz % #! $? Un nom ne peut pas commencer par un chiffre. Le caractère % ne peut apparaître qu en première position. Seuls les 24 premiers caratères sont pris en compte. Majuscules et minuscules sont prises en compte. --> %eps, un_nom, #123 // valide --> 1abc, %,.C // invalide.3.3 Quelques commentaires Plusieurs expressions peuvent être écrites sur une même ligne à condition qu elles soient séparées par une virgule (le résultat de l expression est affiché), ou bien par un point virgule (le résultat n est pas affiché). La variable ans contient le résultat du dernier calcul non affecté. Toutes les variables d une session, y compris celles d un script qu on exécute, sont globales et sont donc conservées en mémoire..4 Opérateurs logiques == égal à ~= différent de < inférieur à > supérieur à <= inférieur ou égal à >= supérieur ou égal à ~ non & et ou Par exemple (1.5<2)&(1.5>=1) ans = 1 pour et ans = T pour. 4
5 .5 Vecteurs et matrices Une des grandes forces de et est de pouvoir travailler très rapidement sur des matrices. partir de maintenant, l invite --> de ou >> de n est plus reproduite. Un commentaire sera indiqué lorsque un logiciel possède une construction propre..5.1 Construction Un vecteur ligne, colonne ou une matrice se construit en insérant ses entrées entre deux crochets []. La virgule sert à séparer les entrées d une ligne, le point-virgule, les entrées d une colonne. Par exemple = [1,2,3,4;5,6,7,8] B = [1,2,3], C = [1;2;3] D = [ ] [ ] =, B = [ ] [ ] C = , D = On peut aussi construire des matrices par blocs par concaténation. Par exemple = [1,2;3,4]; B = [5;6]; C = [7,8]; D = 9; E = [,B;C,D].5.2 [ [ ] [ ] B E = = 3 4] 6 C D [ ] [ ] Notation deux points Il existe une syntaxe très pratique pour construire un vecteur ligne. La notation deux points : val initiale :pas :val finale val initiale :val finale Dans la deuxième construction, le pas est sous-entu égal à 1. Par exemple 1:10, 1:1:10, 1:2:10, 1:-2:-10 0:0.05:0.33 respectivement 1 : 10 = : 1 : 10 = : 2 : 10 = : 2 : 10 = : 0.05 : 0.33 = Extraction Un vecteur (colonne ou ligne) est en fait une matrice d un type particulier (m 1 ou 1 n). On accède donc aux données d un vecteur à partir de l indice 1 : V (1) désigne la première coordonnée de V. Pour une matrice de dimension m n, (i, j) désigne l entrée à la ième ligne et à la jème colonne. Par exemple = [0:2:16]; (1), (4), (9) B = [1,2,3;4,5,6]; B(1,1), B(2,3) respectivement ans = 0, 6, 16, 1, 6. On peut aussi extraire des sous-matrices (i, j) en prenant cette fois ci pour i et j des vecteurs (ligne ou colonne) d indices. Si i ou j est égal au caractère (deux points) :, il est sous entu que toutes les lignes ou toutes colonnes sont retenues. Par exemple = [1:5;5:-1:1;[0,0,0,0,0]] B = ([1,3],1:2:5) C = (:,[2;4]), D = (1,:) 5
6 respectivement = [ ] , B = C = , D = [ ] 0 0 Pour une matrice, (:) désigne le vecteur colonne obtenu en mettant bout-à-bout toutes les colonnes de. Modifier le contenu d une matrice se fait de la même manière. Dans l exemple suivant, la matrice pr les deux valeurs : = [1:4;2:5;3:6;4:7]; (:,[2,4])=[]; B = (:,2)=[4;3;2;1]; C = B = , C = On récapitule dans le tableau suivant les différentes constructions : Pour les vecteurs (ligne ou colonne) V vecteur de dim. m ii indice : 1 ii m V(ii) iième composante de V II II = [i 1,, i r ], 1 i k m V(II) [V (i 1 ), V (i 2 ),, V (i r )] Pour les matrices matrice de dim. m n ii,jj 1 ii m, 1 jj n (ii,jj) entrée (ii, jj) de II II = [i 1,, i p ], i k m JJ JJ = [j 1,, j q ], j k n (II,JJ) matrice de dim. p q ( :,JJ) matrice de dim. m q (II, :) matrice de dim. p n ( :) vect. colonne de dim. mn Les vecteurs lignes II et JJ sont composés d indices de ligne ou de colonne de la matrice initiale ; il n est pas interdit de répéter ces indices. Par exemple = [0,1,2;1,2,0;2,0,1] B = ([1,1],[3,2,1]) = B = [ 2 1 ] On peut aussi extraire des données d une matrice en utilisant comme indice des variables booléennes. Si est une matrice réelle (ou complexe) et si B est une matrice booléenne de même dimension, (B) retourne un vecteur des entrées (i, j) pour lesquelles B(i, j) est vraie. Sur, les entées de B sont du type %T ou %F. Sur, il faut convertir une matrice de 0 ou de 1 au moyen de la fonction logical. Pour des vecteurs, V(W) retourne un vecteur de même type. Pour des matrices, (B) retourne toujours un vecteur colonne. V vect. de dim m W vect booleèn de dim m V(W) V (i) si W (i) = vrai matrice m n B matrice booleènne m n (B) (i, j) si B(i, j) = vrai Par exemple % V = (1:10) W = V(logical([0,0,0,0,... 1,1,1,1,1,1])) // V = (1:10) W = V([%F,%F,%F,%F,... %T,%T,%T,%T,%T,%T]) W = [5, 6, 7, 8, 9, 10] 6
7 % = [1+i,1,1-i;1,0,-1;-i,i,0] B = logical([1,0,1;0,1,0;... 1,0,1]) C = (B) \\ = [1+%i,1,1-%i;1,0,-1;-%i,%i,0] B = ([%T,%F,%T;%F,%T,%F;... %T,%F,%T]) = 1 + i, 1 1 i B = i i (B) = [ 1 + i i 0 1 i 0 ] T Les colonnes sont parcourus les unes après les autres de haut en bas. On retira la fonction spécifique à B=logical() matrice scalaire B booléenne où B(i, j) = TRUE si et seulement si (i, i) 0. On retira aussi la fonction spécifique à matrice booléenne B=bool2s() matrice de 0 et de 1 transformant une matrice booléenne en une matrice de 0 et de 1 où 1 %T et 0 %F..5.4 Dimensions Pour calculer la dimension d un vecteur ligne ou colonne, on utilise la fonction length. Pour calculer les dimensions d une matrice, on utilise la fonction size qui retourne un vecteur ligne V vecteur de dim. m length(v) le réel m matrice de dim. m n size() le vecteur [m,n] size(,1) le réel m size(,2) le réel n Par exemple = [1:2:9;9:-2:1];V = (2,:); dim_ = size(),dim_v = length(v) nb_lignes = size(,1), nb_colonnes = size(,2) dim_=[2,5], dim_v=5 nb_lignes=2, nb_colonnes=5 possède ici une construction particulière : size(,"r") size(,"c") size(,"*").5.5 matrice de dim. m n nombre de lignes m nombre de colonnes n nombre total m n Opérations matricielles Le tableau ci-dessous résume toutes les opérations matricielles avancées que ces deux logiciels acceptent :,B matrices de dim. m n C matrice de dim n p s scalaire transposé + conjgué. transposé uniquement s* produit par un scalaire /s division par un scalaire +B addition matricielle *C produit matricielle ^s puissance d une matrice.*b produit terme à terme./b division terme à terme s./ division terme à terme.^b puissance terme à terme s.^ puissance terme à terme.^s puissance terme à terme Par exemple, le produit scalaire euclidien de deux vecteurs lignes U et V s écrit très simplement par U*V ; ici V représente le vecteur colonne transposé de U : U = [1,2,3,4]; V = [1,-1,3,-2]; a = U.*V, b = sum(a), c= U*V 7
8 et a = [1, 2, 9, 8], b = 0, c = 0 Dans l exemple suivant, remarquer bien la différence d utilisation des constructions V.^2 et ^2 V = 1:10, W = V.^2 = [0,0,0,1;1,0,0,0;... 0,1,0,0;0,0,1,0] B = ^4 V = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], W = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100], = , B = Les opérateurs logiques s appliquent aussi aux matrices. Par exemple, si et B sont deux matrices de même dimension, < B est une matrice booléenne (d entrées 0,1 pour ou %F,%T pour ) ou chaque entrée (i, j) est le résultat bouléen (i, j) < B(i, j) ; si s est un scalaire s < est aussi une matrice booléenne d entrée (i, j) égal au résultat booléen s < (i, j).,b matrice de dim m n s scalaire ==B (i, j) == B(i, j ~=B (i, j) = B(i, j) <B (i, j) < B(i, j) >B (i, j) > B(i, j) <=B (i, j) <= B(i, j) >=B (i, j) >= B(i, j) (i, j) &B (i, j&b(i, j) B (i, j) B(i, j) Par exemple V = 1:10; W = V(V>=5) W=[ 5, 6, 7, 8, 9, 10]. Les fonctions suivantes permettent de savoir si un vecteur ou matrice possède au moins une entrée non nulle, any ou or, ou toutes les entrées non nulles, all ou and. et diffèrent ici : s V W s = any(v) V = any(,1) W = any(,2) s = all(v) V = all(,1) V = all(,2) scalaire vecteur ligne vecteur colonne matrice m n s = sup i sign V (i) V j = sup i sign (i, j) W i = sup j sign (i, j) s = inf i sign V (i idem que pour any idem que pour any V,W vecteur bool. ou scal. matrice bool. ou scal. s = or(v) %T si V 0 V = or(,1) %T si col.(j) 0 W = or(,2) %T si lig.(i) 0 s = and(v) %T si tous V (i) 0 V = and(,1) %T si tous (:, j) 0 W = and(,2) %T si tous (i, :) 0 Par exemple // = [0,0,1.5;0,0.5,-1] B = bool2s(~=0) V = or(,1), W = and(,1) % = [0,0,1.5;0,0.5,-1] B = (~=0) V = any(,1), W = all(,1) = [ 0 0 ] pour la version B = [ 0 0 ] V = [F, T, T] W = [F, F, T] et pour la version V = [0, 1, 1] W = [0, 0, 1]. 8
9 On termine cette partie par un exemple un peu plus développé. Représenter une fonction y = f(x) revient à se r un vecteur d absisses x = [x 1, x 2,, x n ] et le vecteur d ordonnées correspondant y = [f(x 1 ), f(x 2 ),, f(x n )]. Par exemple pour définir numériquement la fonction sinus cardinal (f(x) = sin(x)/x si x 0, f(0) = 1) sur l intervalle [ 5π, 5π] au pas de 0.001, on écrit le code // x = 5*%pi*(-1:0.001:1); delta = (x==0); y = (sin(x) + delta)./(x + delta); plot2d(x,y) //plot(x,y) pour delta est un vecteur ligne booléen de même longueur que x valant 0 (ou %F) partout sauf à l indice i telque x(i)=0. On aurrait pu écrire plus simplement sin(x)./x mais on aurait obrenu une erreur à cet indice i. Le vecteur delta sert donc à corriger ce problème. La fonction plot2d sera examinée plus tard..5.6 Matrices spéciales zeros(m,n) matrice m n de 0 ones(m,n) matrice m n de 1 eye(m,n) matrice identité m n Par exemple = [1,2,3;4,5,6] [nb_lignes, nb_colonnes] = size() B = eye(nb_lignes, nb_colonnes) // version specifique B = eye(), C = eye(size()) % version specifique % eye() provoque une erreur B = eye(size()) = [ ] [ ] , B =, C = [ 1 0 ] La fonction diag permet, aussi bien d extraire la kième diagonale d une matrice (sous forme d un vecteur colonne), que de construire des matrices à partir de ces diagonales. matrice m n k entier > 0 ou < 0 V vecteur colonne V = diag() diagonale principale V = diag(,k) kième diagonale = diag(v) m = n = dim(v ) = diag(v,k) m = n = dim(v ) + k Dans la construction = diag(v,k), la matrice obtenue est carrée de dimension dim(v ) + k et a toutes ses entrées nulles sauf la kième diagonale égale au vecteur (colonne) V. Par exemple = [1,2,3;4,5,6]; V = diag(), W = diag(,1) B = diag([2;2;2])+diag([-1;-1],1)... + diag([-1;-1],-1) V = [ [ , W =, B = ] 6] Sur le même principe que la fonction diag, on dispose aussi de triu et de tril qui extraient d une matrice ses parties triangulaires supérieures et inférieures. matrice m n k entier > 0 ou < 0 triu() triangulaire supérieure triu(,k) idem depuis la diag. k tril() triangulaire inférieure tril(,k) idem depuis la diag. k Par exemple = [1,2,3;4,5,6]; B = triu(,-1), C = tril(,-1) B = [ ] 1 2 3, C = [ ]
10 .5.7 Opérations avancées Les fonctions suivantes agissent aussi bien sur des vecteurs que sur des matrices et évitent d utiliser des boucles de programmation (très couteux en temps pour des langages interprétés). matrice m n V vect. ligne 1 n W vect. colonne m 1 m scalaire m = sum(v) m = k V (k) V = sum(,1) somme par colonne W = sum(,2) somme par ligne m = prod(v) m = k V (k) V = prod(,1) idem pour produit W = prod(,2) idem pour produit cumsum(v) sommes cumulées cumsum(,1) somme par colonne cumsum(,2) somme par ligne cumprod(v) produits cummulés cumprod(,1) idem pour produit cimprod(,2) idem pour produit = [1,2,3,4;2,3,4,5;6,7,8,9] B = sum(,1),c = sum(,2) D = cumsum(,1), E = cumsum(,2) F = prod(,1), G = cumprod(,2) = B = [ ] C = 14 D = E = F = [ ] G = Toujours pour éviter d écrire des petits programmes élémentaires mais très lents, on dispose aussi de V m,k m = min(v) [m,k] = min(v) m = max(v) [m,k] = max(v) vecteurs lig. ou col. scalaires m = min i V (i) m = V (k) m = max i V (i) m = V (k) Les fonctions min et max agissent aussi sur des matrices mais et diffèrent ici sur la syntaxe. Dans ce qui suit : matrice m n M1,K1 : vecteurs lignes M2,K2 : vecteurs colonnes m,k : scalaires M1(j) = min i (i, j) désigne le minimum de chaque colonne, M2(i) = min j (i, j), le minimum de chaque ligne, K1(j), l indice de ligne minimisant le vecteur colonne j, K2(i), l indice de colonne minimisant le vecteur ligne i. m = min(v) [m,k] = min(v) M1 = min(,1) M2 = min(,2) [M1,K1] = min(,[],1) [M2,K2] = min(,[],2) idem pour max m = min(v) [m,k] = min(v) M1 = min(,1) M2 = min(,2) [M1,K1] = min(, r ) [M2,K2] = min(, c ) idem pour max Par exemple % = [1,2,3;3,2,1] [M1,K1] = min(,[],1) [M2,K2] = min(,[],2) // = [1,2,3;3,2,1] [M1,K1] = min(, r ) [M2,K2] = min(, c ) 10
11 dans les deux cas = [ ] 1 2 3, M2 = [ ] 1, K2 = 1 M1 = [ ], K1 = [ ]. [ ] 1 3 Dans l exemple suivant, on cherche à minimiser la fonction f(x) = x 4 x 2 sur l intervalle 10 x 10. Théoriquement, le minimum vaut m = 1/4 et les points qui réalisent ce minimum sont x min = ± 1/2, c est-à-dire x min = ± Pour une manère (peu élégante) de trouver une solution, le code suivant : x = -10:0.0001:10; y = x.^4-x.^2; m = min(y), [m,k] = min(y); x_min = *k, sqrt(1/2) m = 0.25 x min = ans = Enfin on dispose de la fonction très commode find qui permet d extraire les entrées d un vecteur V ou d une matrice qui ne sont pas nulles. Par exemple, si V est un vecteur, find(v) retourne un vecteur d indices i 1, i 2, (toujours ligne en et de même type que V en ) tel que V (i 1 ) 0, V (i 2 ) 0,...et V (i) = 0 partout ailleurs. Si est une matrice, find() retourne deux vecteurs (i 1, i 2, ) et (j 1, j 2, ) tels que (i 1, j 1 ) 0, (i 2, j 2 ) 0,...et (i, j) = 0 partout ailleurs. V vect. lig. ou col. matrice reelle II,JJ vect. lig. ou col. II = find(v) V (i) 0 [II,JJ] = find() (i, j) 0 Par exemple = 2*eye(3,3) - diag([1,1],1)... - diag([1,1],-1) [II,JJ] = find() = JJ = [ ], II = [ ] (et le même résultat sous forme de vecteur colonne sous ). Bienque un peu spécialisée aux problèmes statistique, on trouve dans la configuration de base des fonctions, appelées générateurs aléatoires de nombres, qui simulent un échantillon d une loi donnée. Les deux gńérateurs donnée en standard sont : la loi uniforme sur [0, 1], la loi normale sur R, centrée réduite. Là encore et diffèrent. k,m,n = rand(m,n) = randn(m,n) rand( state,k) entiers matrice m n distrib. uniforme distrib. normale initialise l amorce Pour modifier l amorce à chaque appelle de rand ou randn, on peut executer rand( state,100*sum(clock)) randn( state,100*sum(clock)) m,n = rand(m,n, uniform ) = rand(m,n, normal ) rand( seed,k) Par exemple % V = rand(1,5) rand( seed ) // W = rand(1,5, normal ) entiers uniforme normale amorce k 11
12 V = [0.6154, , , , ] W = [ , , , , ] Toujours en relation avec des questions statistiques, les deux logiciels proposent des fonctions de tri, de moyenne et d écart-type. et diffèrent pour la fonction de tri sort dans l ordre des données triées. Pour les données sont triées par ordre croissant, pour, par ordre décroissant. Pour une matrice C, [,B] = sort(c,1) en sortie une matrice triée suivant les lignes pour chaque colonne et une matrice de vecteurs colonnes de permutation qui assure l identité C(B( :,j),j) = ( :,j) et, B, C vecteurs [,B]=sort(C) mat. triée, B, C mat. m n [,B]=sort(C,1) trie les lig. [,B]=sort(C,2) trie les col., B, C mat. m n [,B]=sort(C, r ) trie les lig. [,B]=sort(C, c ) trie les col. // C = ceil(10*rand(1,5)) [,B] = sort(c) //C = [1, 7, 3, 4, 9] //B = [5, 2, 4, 3, 1] // = [9, 7, 4, 3, 1] % C = ceil(10*rand(3,5)) [,B] = sort(c,1) C = = B = X B =mean(x,1) B=mean(X,2) =median(x,1) B=median(X,2) matrice m n vect. lig. n vect. col. m moyenne par col. moyenne par lig. médiane par col. médiane par lig. Là encore, dans le cas de, on peut remplacer =mean(x,1) par =mean(x, r ) et B=mean(X,2) par B=mean(X, c ). xx = rand(1,1000, uniform ); mean(xx,2) //ans = Pour le calcul de l écart-type σ et utilisent des fonctions différentes. Néanmoins, dans les deux cas, le coefficient de normalisation et N 1 où N est la taille des données. Ecart-type σ X B =std(x,1) B=std(X,2) =st deviation(x,1) B=st deviation(x,2) mat. m n vect. lig. n vect. col. m σ / col. σ / lig. σ / col. σ / lig. Dans l exemple suivant, on modélise une loi binomiale de paramètres p = 1 3 et n = 4. Les valeurs PP0...PP4 représentent les fréquences empiriques d obtenir 0,1...,4. Les valeurs pp0...pp4 représentent les probabilités théoriques. 12
13 // pp = 1/3; xx = bool2s(... rand(4,10000, uniform )>1-pp); XX = sum(xx, r ); PP0 = mean(bool2s(xx==0)) PP1 = mean(bool2s(xx==1)) PP2 = mean(bool2s(xx==2)) PP3 = mean(bool2s(xx==3)) PP4 = mean(bool2s(xx==4)) pp0 = (2/3)^4 pp1 = 4*(1/3)*(2/3)^3 pp2 = 6*(1/3)^2*(2/3)^2 pp3 = 4*(1/3)^3*(2/3) pp4 = (1/3)^4 Fréquences empiriques k = 0 k = 1 k = 2 k = 3 k = Probabilités théoriques k = 0 k = 1 k = 2 k = 3 k = Chaînes de caractères Une chaîne de caractères est crée par la construction suivante : % a1 = llemagne,, b1 = Belgique,, c1 = [ C, h, i, l, i ] pays = [a1,,b1,,c1] % pays= llemagne, Belgique, Chili // a2 = Berlin,, b2 = "Bruxelle," capitales = a2 + + b2 // capitales = Berlin, Bruxelle, En fait, une chaîne de caractères pour est un tableau 1 n de caractères ; la concaténation se fait donc comme pour un tableau de scalaires. Pour, c est un type de données comme les scalaires. Les opérations suivantes peuvent être réalisées, B chaîne de caract. strcmp(,b) ans = 1 = B isletter() ans vect. bool. 0/1 isspace() ans vect. bool. 0/1 Par exemple strcmp( abc, abc ) % ans = 1 abcd == aefd % ans = [1,0,0,1] grep(,b) part(,b) strcat(,b) strindex(,b) strsubst(,b,c) tokens(,b) Par exemple : recherche de motifs extraction concatenation recherche de motifs substitution recherche des tokens //utilisation de "grep" aa = [ abc, bcd, cde, dea ]; bb = grep(aa,[ a, b ]); //bb = [1,2,4] //utilisation de "part" aa = [ abcd, bcda, cdab, dabc ]; bb = part(aa,1:3); //bb = [ abc, bcd, cda, dab ] //utilisation de "strcat" aa = [ a, b, c, d ]; bb = strcat(aa); cc = strcat(aa, - ); //bb = abcd ; cc = a-b-c-d //utilisation de "strindex" aa = " "; bb = strindex(aa,"12") //bb = [1,5,10,16]; //utilisation de "strsubst" aa = [ a1, a2 ; a3, a4 ]; bb = strsubst(aa, a, b ); //bb = [4b1, b2 ; b3, b4 ] //utilisation de "tokens" aa = "a aa aaa aaaa"; bb = tokens(aa) //bb = [ a ; aa ; aaa ; aaaa ] aa = "a+aa-aaa*aaaa"; bb = tokens(aa,[ +, -, * ]) //bb = [ a ; aa ; aaa ; aaaa ] 13
14 .7 Graphiques en 2D et ont deux approches très différentes pour représenter des graphiques. Il existe néanmoins une approche minimaliste commune aux deux logiciels. Dans ce qui suit X et Y sont des vecteurs ou des matrices. plot(x,y) plot2d(x,y) clf subplot(m,n,k) Y versus X Y versus X effacement sous graphique Il y a plusieurs cas d utilisation : X et Y sont deux vecteurs de même longueur m, le logiciel trace alors les points (X(i), Y (i)), pour i = 1, 2,, m, X est un vecteur colonne m 1, Y est une matrice m n, le logiciel trace alors chaque colonne de Y en fonction de celle de X, soit les points (X(i), Y (i, j)), pour i = 1, 2,, m pour chaque j, X et Y sont des matrices de même dimension m n, le logiciel trace chaque j-ième collone de Y versus la j-ième colonne de X. La fonction subplot(m,n,k) divise la fenêtre graphique en une matrice de sousgraphiques m lignes et n colonnes. L indice k permet de numéroter chaque sous-graphique de 1 à mn, ligne après ligne de la gauche vers la droite. %Graphique sous clf; xx = (-1):0.01:1; yy = cos(2*pi*xx); zz = 0.75*sin(2*pi*xx); ww = 0.5*sin(4*pi*xx); vv = 0.25*cos(8*pi*xx); plot(xx,[yy,zz,ww,vv ]); Graphique sous //Graphique sous clf; xx = (-1):0.01:1; yy = cos(2*%pi*xx); zz = 0.75*sin(2*%pi*xx); ww = 0.5*sin(4*%pi*xx); vv = 0.25*cos(8*%pi*xx); plot2d(xx,[yy,zz,ww,vv ]); Graphique sous %utilisation de subplot clf; xx = (-1):0.01:1; nn = size(xx,2); subplot(2,2,1); plot(xx,xx); subplot(2,2,2); plot(xx,-xx); subplot(2,2,3); plot(cos(pi*xx),sin(pi*xx)); subplot(2,2,4); plot([[-1;1],[0;0]],... [[0;0],[-1;1]]); 14
15 Utilisation de subplot Pour connaître toutes les fonctionalités graphique de, le plus simple est de l obtenir en ligne per : help Graphics On peut néanmoins se contenter des informations suivantes dans un premier temps. Par défaut, l utilisation successive de plot2d superpose les graphiques. Pour effacer un graphique on utilise clf. La fonction plot2d possède 4 variantes : plot2d1 plot2d2 plot2d3 plot2d4 voir option de plot2d graphe en marche d escalier graphe en barres verticales graphe en lignes de courant De plus, les fonctionalités de plot2d, ainsi que des versions plot2dx, peuvent être modifiées par un ensembles d options plot2d(x,y,options) Il y a deux manières de présenter ces options. Présentation ancienne : options = style,"xyz",leg,rect,nax style [i,j,...] "xyz" x=0,1 y=0 :8 z=1 :5 leg "leg1@leg2@..." rect [xmin,ymin,xmax,ymax] nax [nx,nx,ny,ny] Il y a autant d indices dans style qu il y a de courbes à dessiner. La signification des indices i,j... est donnée plus loin. Si x=0, aucune lége n est dessinée et leg="", si x=1, il y a autant de léges que de courbes à dessiner. La signification de "yz" est donnée plus loin. Le vecteur rect délimite les bornes minimales et maximales, à la fois des axes horizontaux et verticaux. Le vecteur nax le nombre de graduations principales Nx,Ny et le nombre de sousgraduations nx,ny entre deux graduations principales. Présentation moderne : options = clef1=valeur1,clef2=valeur2,... clef valeur style [i,j,...] logflag "nn" "nl" "ln" "ll" frameflag f = 0 :8 axesflag a = 0 :5 leg "leg1@leg2@..." rect [xmin,ymin,xmax,ymax] nax [nx,nx,ny,ny] style : un vecteur [i,j,...] de nombres entiers de même dimension que le nombre de courbes à dessiner ; l indice i concerne par exemple la première courbe. Si l indice est positif, la courbe est dessinée en trait plein de la couleur correspondant au tableau : Couleur des courbes : 1 black 6 magenta 2 blue 7 yellow 3 green 8 white 4 cyan red 32 gold (obtenu par getcolor() ) Si l indice est négatif, la courbe est dessinée point par point en utilisant le symbol correspondant : Type du marqueur : (obtenu par getmark() ) 15
16 On verra ultérieurement des fonctions graphiques de plus bas niveau, mais on retira déjà les fonctionalité suivantes de xset. Fonction : xset(nom,valeur) nom valeur "default" pas de valeur "line style" k = 1 :6 "mark size" l = 0 :5 "thickness" m = 1,2,3,... "mark size" détermine la taille du marqueur (l=0 pour la plus petite taille). "thickness" détermine l épaisseur du trait (m=1 pixel, m=2 pixels,...). "line style" détermine la forme du trait suivant le tableau : Forme du trait : k=1 k=2 k=3 k=4 k=5 k=6 (obtenu par getlinestyle() ) logflag : Echelle linéaire n ou logarithmique l. frameflag : Cette option permet de calculer les bornes du dessin. Elles peuvent être calculées automatiquement si l option rect n est pas utilisée. Les différentes possibilités sont données dans le tableau : Bornes du dessin : f=0 calculées précédemment f=1 données par rect f=2 calculées par min/max f=3 isométriques sur rect f=4 isométriques sur min/max f=5 idem à 1 plus harmonieux f=6 idem à 2 plus harmonieux f=7 idem à 1, tout est redessiné f=8 idem à 2, tout est redessiné Les bornes du dessin peuvent être calculées, ou bien par rect, ou bien par les bornes des données. Dans l option isométrique, les axes horizontaux et verticaux ont la même echelle. Pour les deux dernières options, tous les graphiques précédents sont redessinés. axesflag : Cette option permet de placer les axes et eventuellement un cadre autour du graphique. Les différentes options sont données dans le tableau : Placement de axes : a=0 pas d axes, pas de cadre a=1 axes bas/gauche, un cadre a=2 pas d axes, un cadre a=3 axes bas/droit, un cadre a=4 axes centrés, pas de cadre a=5 axes en x=y=0, pas de cadre leg : Cette option permet d afficher une lége "leg1", "leg2",...à chaque courbe. rect : Un vecteur ligne à 4 entrées donnant les bornes du dessin : horizontalement par [xmin,xmax], verticalement par [ymin,ymax]. nax : Cette option permet de controler le nombre de graduations principales Nx,Ny et secondaires nx,ny affichées sur les axes. Ne fonctionne qu avec l option axesflag=1. Le graphe suivant représente la fonction de Heaviside discrète sur l intervalle de temps xx = [-3,-2,-1,0,1,2,3,4,5] yy = [ 0, 0, 0,1,1,1,1,1,1] Fonction de Heaviside discrète dans le code, on commence par tracer le graphe de yy en traits épais thickness=5 puis les axes en traits minces thickness=1. //Fonction de Heaviside discrete clf;clear; xx = (-3):1:5; yy = bool2s(xx>=0); xset("thickness",5); 16
17 plot2d3(xx,yy,[1],... style=1,leg="",... frameflag=1,axesflag=0,... rect=[-3,-0.2,6,1.4]); xset("thickness",1); plot2d(0,0,[1],style=1,leg="",... frameflag=1,axesflag=5,... rect=[-3,-0.2,6,1.4]); Dans le graphe suivant, on utilise simultanément plot2d2 et plot2d3 pour obtenir un diagramme en barres : Champ de vecteurs : trace des lignes discrètes de courant d un champ de vecteur du plan. Histogramme : histplot(n,data,options) N nombre de classes N ou vecteur de classes data données à classer options options de plot2d Le graphe suivant représente un histogramme d une orbite typique sous l action du système dynamique x n+1 = 1 2x 2 n partant d une donnée aléatoire x 0 [ 1, 1] y=(sin(x)/x)^2 Diagramme en barres //Diagramme en barres clf; clear; xx = (-10):0.5:10; dd = bool2s(xx==0); yy = ((sin(xx)+dd)./(xx+dd))^2; style = 1; opt = "111"; leg = "y=(sin(x)/x)^2"; rect = [-10,0,10,1.2]; plot2d2(xx,yy,style,... opt,leg,rect); plot2d3(xx,yy,style,... opt,leg,rect); possède beaucoup d autres fonctions graphiques plus spécialisées : Histogramme : visualise la fréquence d apparition d une suite de valeurs dans un ensemble de classes. Courbes de viveau : trace des lignes de hauteur constante sur un graphe 3D paramétrique z = f(x, y). Surfaces par niveaux de couleurs : remplace les courbes de niveau par un dégradé de couleurs Histogramme dynamique //Histogramme dynamique clear; stacksize( ); nn = ; yy = zeros(nn,1); xx = 2*rand()-1; for (ii = 1:nn), yy(ii)=xx; xx = 1-2*xx^2; nb = 50; //nb de classes style = 1; opt = "011"; leg = ""; rect = [-1,0,1,1]; clf; histplot... (nb,yy,style,opt,leg,rect); Courbes de niveau contour2d(x,y,z,n,options) x vect. m des abscisses y vect. n des ordonnées z mat. m n des hauteurs N nb de courbes de niveau N vect. des courbes de niveau options options de plot2d 17
18 Le graphe suivant représente 10 courbes de niveau sur la surface z = x 2 y 2 définie sur x [ 2, 2] et y [ 2, 2] Courbes de niveau //Courbes de niveau xx = (-2):0.01:(2); yy = (-2):0.01:(2); cc = size(xx,2); ll = size(yy,2); zz = ones(ll,1)*(xx^2)... -(yy^2) *ones(1,cc); nz = 10; style = 1:10; opt = "011"; leg = ""; rect = [-2,-2,2,2]; clf; xset("fpf","%.1f"); contour2d(xx,yy,zz,nz,... style,opt,leg,rect); La fonction xset("fpf",format) a été utilisée pour formater les hauteurs des courbes de niveau ; format = "%.1f" par exemple fait référence au formatage des nombres dans le langage C. Surface par niveaux de couleurs : Sgrayplot(x,y,z,options) x vect. m des abscisses y vect. n des ordonnés z mat. m n des hauteurs options ["xyz",leg,rect,nax] Le graphe suivant visualise la surface z = cos(x) sin(y) sur le domaine x [ 2π, 2π], y [ 2π, 2π] par niveaux de gris au lieu de couleurs. Surface par niveaux de gris clf;clear; stacksize( ); x = 2*%pi*((-1):0.01:1); y = 2*%pi*((-1):0.01:1); z = y *x; //modifie la table des couleurs rr = (0:10) /10; gg = rr; bb = rr; xset("colormap",[rr,gg,bb]); rect = [-2*%pi,-2*%pi,2*%pi,2*%pi]; Sgrayplot(x,y,z,"011",rect); Champ de vecteur : champ(x,y,u,v,options) x vect. m des abscisses y vect. n des ordonnés u mat. m n des comp. sur x du champ de vecteur v mat. m n des comp. sur y du champ de vecteur options [arfact,rect,"xyz"].8 Polynômes Le traitement des polynômes est différent en et en. Un polynôme a 0 + a 1 x + + a n x n en est représenté simplement par le vecteur ligne [a n,...,a 1,a 0]. propose une nouvelle structure et permet de la généraliser aux fractions rationnelles. C,P vecteur lig. R vecteur col. P polynôme P = poly(c,"x","coeff") P = poly(r,"x","roots") Dans l expression 18
19 P = poly(c,"x","coeff") P est un polynôme d indéterminée "x" dont les coefficients sont donnés par C = [a 0,a 1,...,a n] (remarquer l ordre inverse par rapport à ). L indéterminée "x" peut être remplacée par une autre lettre ; les polynômes obtenus sont alors incompatibles. Dans l expression P = poly(r,"x","roots") P est un polynôme unitaire dont les racines sont données par les composantes du vecteur R. Le code suivant, par exemple, représente le polynôme (1 + x) 2 : % P = [1,2,1]; // P = poly([1,2,1],"x","coeff"); peut aussi construire des polynômes à partir de ces racines. On utilise : R vect. col. des racines P vecteur ligne P = poly(r) (x r 1 ) (x r n ) Par exemple, le polynôme P = z 2 + z 3 est représenté par le code % P = poly([0;0;1]); // P = poly([0,0,1],"z","roots"); possède enfin une autre possibilité de construction de polynômes en utilisant un peu d algèbre. Par exemple (1 + x) 2 s écrit sous la forme : // x = poly(0,"x","roots"); P = 1+2*x+x^2; Les deux logiciels possèdent néanmoins beaucoup de fonctions semblables : R=roots(P) vect. des rac. P=poly() det(xi ) s=polyval(p,x) éval. P en x C=conv(,B) prod. de pol. [Q,R]=deconv(,B) div. euclid. [R,P,K]=residue(,B) frac. ration. [B,]=residue(R,P,Q) frac. ration. P,Q,U,V polynôme matrice carrée R vecteur colonne R=roots(P) racines de P P=poly(,"x") P = det(xi ) P*Q prod. de pol. [U,V]=pdiv(P,Q) div. eucl. // //Racines d un polynome P = poly([6,-5,1],"s","coeff") R = roots(p) //R = [2;3] Q = poly(r,"z","roots") //produit de polynomes Z = poly(0,"z","roots"); P =1+Z; Q = 1-Z; P*Q // 1-Z^2 //division euclidienne s = poly([0,1],"s","coeff"); = s^2+3*s+1; B=s-1; [R,Q] = pdiv(,b) // R=5 Q=4+s R+B*Q // ans=1+3s+s^2.9 Programmation et, en dehors d être des super-calculateur, disposent aussi d un langage de programmation simple mais suffisament complet. Ils sont sur ce point très semblables. Contrairement aux langages compilés (C, Fortran,...), les variables ne sont pas déclarées : le type (entier, complexe, matrice, liste,...), la taille ne sont pas précisés la première fois que le compilateur rencontre l objet. C est un inconvénient en génie logiciel car les erreurs sont difficilement repérables ; c est un atout en expérimentation et prototypage. 19
20 .9.1 Les instructions de contrôle On distingue les boucles et les instructions conditionnelles. Les boucles : for var = expr, instr ; instr ;... while expr, instr ; instr ;... Dans le cas de l instruction for, la variable var pr successivement les valeurs se trouvant dans chaque colonne du vecteur ou matrice expr et à chaque prise de valeurs, les instructions instr sont exécutés les unes après les autres. clear; mot = [ n, o, e, l ]; tom = [ ]; for ii = size(mot,2):(-1):1, tom = [tom,mot(ii)]; tom // ans = [ l, e, o, n ] Pour l instruction while, Les instructions instr sont exécutées tant que l expression booléenne expr reste vraie. En, le type vrai est représenté par un réel strictement positif (1 par exemple). clear; N=7; dd = 2; resultat = zeros(n,1); fibo = ones(1,dd); ii = 1; while ii <= N, resultats(ii) = fibo(dd); fibo = [fibo(2:dd),sum(fibo)]; ii = ii + 1; resultats //ans [1,2,3,5,8,13,21] Les instructions conditionnelles : if expr1, instr1 ; elseif expr2, instr2 ; else instr3 ; Dans les instructions conditionnelles if else ou if elseif else, else est facultatif et elseif peut être répété plusieurs fois. Si l expression expr1 n est pas réalisée (%F en, 0 en ), l une des deux instructions instr2 ou instr3 est exécutée selon la valeur de expr2, sinon instr1 est exécutée. select expr, case expr1, instr1 ; case expr2, instr2 ; else, instr3 ;.9.2 Les fonctions switch expr, case expr1, instr1 ; case expr2, instr2 ; else, instr3 ; La syntaxe de construction et d utilisation des fonctions est identique en et. Il y a cepant un point important, concernant le chargement en mémoire vive, qui diffère sensiblement. Pour, chaque fonction mafonction doit être sauvegardée dans un unique fichier qui s appellera forcément mafonction.m ; l appelle à cette fonction se fait simplement par var sortie = mafonction(var entrée) ; Pour, un fichier mabibli.sci, (le nom et l extension.sci sont sans importance), peut contenir plusieurs fonctions mafonction1, mafonction2 ; son chargement en mémoire se fait par l instruction getf( mabbibli.sci ) ; et les fonctions qui s y trouvent sont appellées comme précédemment. 20
21 Syntaxe : La première ligne doit respecter le format suivant : le mot clef function, un vecteur ligne d arguments en sortie Y=[y1,y2,...], le signe =, le nom de la fonction mafonction, une liste d arguments en entrée X=x1,x2,..., un retour à la ligne, une suite d instructions instr, pour seulement, le mot clef function. //[u,v] = equa2d(%s^2+1) Y=[y1,y2,...] X=x1,x2,... function Y = mafonction(x) instr1 ; instr2 ; function // seul Sous, les lignes commentaires qui suivent directement la déclaration function Y = maffonction(x) sont visibles lorsqu on exécute la commande help mafonction. // function [r1,r2] = equa2d(p) //P : polynome du second degre //r1, r2 : racines if typeof(p) ~= "polynomial", error("l"+code2str(53)+... "argument en entree"+... "doit etre un polynome") if degree(p) ~= 2, error("le polynome"+... "n"+code2str(53)+"est pas"+... "du second degre") pp = coeff(p); a=pp(3); b = pp(2); c = pp(1); delta = b^2-4*a*c; if delta > 0, r1 = (-b+sqrt(delta))/(2*a); r2 = (-b-sqrt(delta))/(2*a); else r1 = (-b+%i*sqrt(-delta))/(2*a); r2 = (-b-%i*sqrt(-delta))/(2*a); //[u,v] = equa2d((%s-1)*(%s-2)) //u = 1; v = 2; 21
MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.
Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Calcul Formel et Numérique, Partie I
Calcul Formel et Numérique N.Vandenberghe [email protected] Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations
Calcul Formel et Numérique, Partie I
Calcul Formel et Numérique NicolasVandenberghe [email protected] Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 1.2 Où trouver des informations......................
http://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
TP 1 Introduction à Matlab Février 2009
1 Introduction TP 1 Introduction à Matlab Février 2009 Matlab pour «MATtrix LABoratory», est un logiciel qui a été conçu pour fournir un environnement de calcul numérique de haut niveau. Il est particulièrement
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3
Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique Semestre S3 Cours MÉTHODES NUMERIQUES Chargé du Cours : M. GAGOU Yaovi E-mail :[email protected] URL : http://www.u-picardie.fr/gagou
Petit Guide de Survie en Scilab
Petit Guide de Survie en Scilab Romain JOLY Institut Fourier, Université Grenoble I Le but de ce petit guide n est pas d apprendre Scilab, mais plutôt de fournir d une part une aide à l apprentissage,
Cours 7 : Utilisation de modules sous python
Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est
3.2. Matlab/Simulink. 3.2.1. Généralités
3.2. Matlab/Simulink 3.2.1. Généralités Il s agit d un logiciel parfaitement dédié à la résolution de problèmes d'analyse numérique ou de traitement du signal. Il permet d'effectuer des calculs matriciels,
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.
1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le
TP 0 : INTRODUCTION À MATLAB
TP 0 : INTRODUCTION À MATLAB Résumé. Matlab est un logiciel de calcul numérique, utilisé dans de nombreux domaines d application. Il se fonde sur le calcul matriciel. Matlab est d ailleurs un raccourci
Python - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
Simulation de variables aléatoires
Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Logiciel. Table de matières I Environnement requis...2
1 Table de matières I Environnement requis...2 I 1 - Configuration minimum conseillée...2 I 2 - Désinstallation de l application...2 I 3 - Lancement de l application...2 II Installation du logiciel...2
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Projet Matlab : un logiciel de cryptage
Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que
Premiers pas avec Mathematica
Premiers pas avec Mathematica LP206 : Mathématiques pour physiciens I Année 2010/2011 1 Introduction Mathematica est un logiciel de calcul formel qui permet de manipuler des expressions mathématiques symboliques.
Séance 0 : Linux + Octave : le compromis idéal
Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est
Les chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Cours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011
Dept. de mathématiques, Université de Fribourg (CH) SP 2011 Qu est ce que R? Un logiciel de statistiques libre et gratuit ; Un logiciel multi-plateforme (UNIX, Windows MacOS X) R permet de faire des calculs
Aide - mémoire gnuplot 4.0
Aide - mémoire gnuplot 4.0 Nicolas Kielbasiewicz 20 juin 2008 L objet de cet aide-mémoire est de présenter les commandes de base pour faire rapidement de très jolis graphiques et courbes à l aide du logiciel
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra
Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument
Formes algébriques et trigonométriques, module et argument Exercice - - L/Math Sup - On multiplie le dénominateur par sa quantité conjuguée, et on obtient : Z = 4 i 3 + i 3 i 3 = 4 i 3 + 3 = + i 3. Pour
Quelques commandes de base en SCILAB
Université des Sciences et Technologies de Lille Initiation au Calcul Scientifique (SCILAB) Quelques commandes de base en SCILAB Jean-Paul Chehab Laboratoire de Mathématiques Paul Painlevé Equipe AN-EDP,
Les algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
EXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05
EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Initiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014
numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:[email protected] Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour
URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Statistiques Descriptives à une dimension
I. Introduction et Définitions 1. Introduction La statistique est une science qui a pour objectif de recueillir et de traiter les informations, souvent en très grand nombre. Elle regroupe l ensemble des
Note de cours. Introduction à Excel 2007
Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier
Annexe commune aux séries ES, L et S : boîtes et quantiles
Annexe commune aux séries ES, L et S : boîtes et quantiles Quantiles En statistique, pour toute série numérique de données à valeurs dans un intervalle I, on définit la fonction quantile Q, de [,1] dans
Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme
Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Mathématiques I Section Architecture, EPFL
Examen, semestre d hiver 2011 2012 Mathématiques I Section Architecture, EPFL Chargé de cours: Gavin Seal Instructions: Mettez votre nom et votre numéro Sciper sur chaque page de l examen. Faites de même
Introduction. Mathématiques Quantiques Discrètes
Mathématiques Quantiques Discrètes Didier Robert Facultés des Sciences et Techniques Laboratoire de Mathématiques Jean Leray, Université de Nantes email: v-nantes.fr Commençons par expliquer le titre.
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Limites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Table des matières. I Mise à niveau 11. Préface
Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3
Initiation à la programmation OEF pour Wims (exercices).
page 1 sur 9 Initiation à la programmation OEF pour Wims (exercices). Les titres des différentes parties de ce document, en grisé, sont donnés en référence au document Wims «DocAide Exercices OEF» rédigé
Initiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Conversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Sélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
TP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Découverte de Python
Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en
SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases
SINE QUA NON Découverte et Prise en main du logiciel Utilisation de bases Sine qua non est un logiciel «traceur de courbes planes» mais il possède aussi bien d autres fonctionnalités que nous verrons tout
Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes
Chapitre 3 Gnuplot Le langage C ne permet pas directement de dessiner des courbes et de tracer des plots. Il faut pour cela stocker résultats dans des fichier, et, dans un deuxième temps utiliser un autre
Pour l épreuve d algèbre, les calculatrices sont interdites.
Les pages qui suivent comportent, à titre d exemples, les questions d algèbre depuis juillet 003 jusqu à juillet 015, avec leurs solutions. Pour l épreuve d algèbre, les calculatrices sont interdites.
Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
Chap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Exercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Tp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Continuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
L ALGORITHMIQUE. Algorithme
L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques
Correction de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Capes 2002 - Première épreuve
Cette correction a été rédigée par Frédéric Bayart. Si vous avez des remarques à faire, ou pour signaler des erreurs, n hésitez pas à écrire à : [email protected] Mots-clés : équation fonctionnelle, série
I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES
I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected]
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected] Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
SOMMAIRE. 1. Préambule...2. 2. Le calendrier...2. 3. Trajectoire d un objet lancé...6. 4. Régression linéaire...9
SOMMAIRE 1. Préambule...2 2. Le calendrier...2 3. Trajectoire d un objet lancé...6 4. Régression linéaire...9 5. Calcul de commissions par tranches...12 6. Base de données...16 7. Valeur cible...19 ATTENTION
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
TP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Algorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques
Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur
Excel Avancé Plan Outils de résolution La valeur cible Le solveur Interactivité dans les feuilles Fonctions de recherche (ex: RechercheV) Utilisation de la barre d outils «Formulaires» Outils de simulation
Traceur de courbes planes
Traceur de courbes planes Version 2.5 Manuel d utilisation Patrice Rabiller Lycée Notre Dame Fontenay le Comte Mise à jour de Janvier 2008 Téléchargement : http://perso.orange.fr/patrice.rabiller/sinequanon/menusqn.htm
Chapitre 2. Matrices
Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Complément d information concernant la fiche de concordance
Sommaire SAMEDI 0 DÉCEMBRE 20 Vous trouverez dans ce dossier les documents correspondants à ce que nous allons travailler aujourd hui : La fiche de concordance pour le DAEU ; Page 2 Un rappel de cours
