O UTILS DE P ROGRAMMATION Mr. BENDIB. I MAA, LAMIS Laboratory, Université de Tébessa.

Slides:



Advertisements
Présentations similaires
Les matrices.
Advertisements

3. Variantes de l’algorithme
Portée des variables VBA & Excel
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Calcul numérique (avec Maple)
Dossier TICE Excel.
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
MATLAB Initiation à Matlab.
Cours 3 : bases de Matlab Niveau : Licence pétrochimie – deuxième semestre Université du 20 aout 55 – Skikda.
Programmes de calculs en 3ème
Initiation à la programmation et algorithmique cours 3
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
INTRODUCTION A MATLAB ENVIRONNEMENT MATLAB.
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
3. Systèmes L.I.T Systèmes LIT, introduction
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
OCaml - Les listes L3 MI.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Rappel... Sous-espaces de Rn: Définition;
ASI 3 Méthodes numériques pour l’ingénieur
Le cours de F6KGL présenté par F6GPX
Rappel... Opérations élémentaires sur les matrices:
Optimisation linéaire
Le codage des nombres en informatique
Outils de Programmation
Outils de Programmation
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Clique sur la souris ou sur la flèche en bas
OPERATIONS SUR LES NOMBRES EN ECRITURE FRACTIONNAIRE
Introduction aux matrices : exemples en dynamique de population
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Rappel... Formes échelon et échelon réduit Pivots Span
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Une nouvelle structure de données : les tableaux
Algèbre linéaire (GCI –100)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Chapitre 1 Le Sens des nombres
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
1.1 LES VECTEURS GÉOMÉTRIQUES
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Messages Pas de dépannage mardi le 26 à 11h30. Achat de groupe de Matlab version étudiante?
Le calcul algébrique.
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.
Mise en forme en Mathématiques
- énergie bornée (tend vers 0 lorsque
Cours de mathématiques économiques
Les Matrices Une matrice est un arrangement rectangulaire de nombres disposés en rangées et colonnes T = T est une matrice de 3.
L’écriture des grands nombres: les puissances de 10
CHAPITRE III Calcul vectoriel
Cours LCS N°4 Présenté par Mr: LALLALI
Matlab (Matrix Laboratory)
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Chapitre 1 Nombres relatifs.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Post-optimisation, analyse de sensibilité et paramétrage
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
1.1 LES VECTEURS GÉOMÉTRIQUES
Pierre Joli Cours de Mathématique Pierre Joli
A.Aarabi ´. ´ Objectifs Faciliter la prise en main du logiciel MATLAB Présenter les fonctionnalités utiles au travail scientifique.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
Transcription de la présentation:

O UTILS DE P ROGRAMMATION Mr. BENDIB. I MAA, LAMIS Laboratory, Université de Tébessa

Chapitre 4

Les Tableaux sous Matlab

Listes et vecteurs

Les listes et les vecteurs sont des tableaux particuliers. vecteur Un vecteur est un tableau qui ne comporte quune seule colonne ; une liste (ou vecteur-ligne) est un tableau qui ne comporte quune seule ligne. MATLAB MATLAB propose un certain nombre de fonctions qui simplifient lusage des listes et des vecteurs.

1.Construction de listes : On peut définir la valeur dune liste en donnant la suite de ses éléments séparés par des espaces (ou des virgules), la liste étant délimitée par des crochets. v i p v f On peut crée une liste dont les éléments constituent une progression arithmétique de valeur initiale v i, de pas p et dont tous les termes sont inférieurs ou égaux à v f. v i v f Lorsque la valeur du pas est omise (v i : v f ), la valeur du pas est fixé par défaut à un.

1.Construction de listes : Exemples Exemples l1 = [ ] l1 = l2 = 1 : 4 l2 = l3 = 1 : 5.6 l3 = l4 = 1.5 : 0.3 : 2.5 l4 =

1.Construction de listes : linspace v i v f n v i v f. La fonction linspace (v i, v f, n) crée une liste de n éléments uniformément répartis entre v i et v f. Exemples Exemples l4 = linspace(1, 4,4) l4 = l4 = linspace(1, 4,8) l4 =

2.Construction de Vecteurs : On peut définir la valeur dun vecteur en tapant entre deux crochets la suite de ses éléments séparées par des points-virgules. La transposée dune liste est un vecteur. () On peut donc utiliser les expressions et les fonctions définies pour les listes en les transposant ensuite avec lopérateur () length la fonction length retourne le nombre déléments ou longueur de la liste ou du vecteur.

2. Construction de Vecteurs : Exemples Exemples v3 = (1.5 : 0.3 : 2.5)' v3 = l = [ ] ; length(l) ans = 4 v = [ ]' ; length(v) ans = 5

2.Construction de Vecteurs : norm(v,p) R n La fonction norm(v,p) permette de calculer les normes usuelles dun vecteur (ou dun vecteur-ligne) de R n

2. Construction de Vecteurs : Exemples norm(v,p) Exemples La fonction norm(v,p) v=[1,2,2]; norm(v,1) ans = 5 norm(v,2) ans = 3 norm(v,inf) ans = 2

3. Accès aux éléments dune liste ou dun vecteur : ks s(k). On accède à lélément dindice k de la liste ou du vecteur s par s(k). le premier élément de la liste ou du vecteur étant indicé par 1. Laccès en lecture à un élément dindice négatif ou dont la valeur est strictement supérieure à la longueur de la liste (ou du vecteur), conduit à une erreur.

3. Accès aux éléments dune liste ou dun vecteur : Exemples >> s = [1 3 5] ; s(1) ans = 1 >> s(3) ans = 5 >> s(4) ??? Attempted to access s(4); index out of bounds because numel(s)=3.

3. Accès aux éléments dune liste ou dun vecteur : Par contre, il est possible daffecter une valeur à un élément dune liste ou dun vecteur dont lindice dépasse la longueur de la liste ou du vecteur. Exemple Exemple s = [1 3 5] ; length(s) ans = 3 s(6) = 6 ; s s = length(s) ans = 6

4. Extraction de sous-listes ou de sous-vecteurs: s l 1length(s) Soient s une liste (ou un vecteur) non-vide et l une liste dentiers dont la valeur est comprise entre 1 et la longueur length(s) de la liste (ou du vecteur). s(l)s l s(l) est la liste (ou le vecteur) formé par les éléments de s dont lindice appartient à l. Exemple Exemple s = [ ] ; l = [1 3 5] ; s1 = s(l) s1 = 1 5 0

Les Tableaux (Matrices)

Matrice nm Une Matrice est un tableau à deux dimensions caractérisé par le nombre de lignes (n) et nombre de colonnes (m) ; ; Pour définir la valeur dun tableau (matrice), il suffit de concaténer en colonne (séparateur ;) des listes de nombres de même longueur ; n=m Une Matrice est dite carrée si le nombre de lignes égale au nombre de colonnes (n=m); [ ] On utilise les crochets [ et ] pour définir le début et la fin de la matrice

1.Construction dun tableau (matrice) : pour définir une variable M contenant la matrice : on écrira : >> M=[ ] M = Ou : >> M = [1,2,3;11,12,13;21,22,23] >> M = [1 2 3; ; ]

2. Accès à un élément dun tableau Il suffit dentre le nom du tableau suivi entre parenthèses des indices dont on veut lire ou écrire la valeur. Exemple si je veux la valeur de M 32 : on écrira : >> M(3,2) ans = 22 Pour modifier seulement un élément dun tableau, on utilise le même principe. >> M(3,2)=32 M =

2. Accès à un élément dun tableau Exemple Exemple : Que fait la commande suivante : >> P(2,3) = 3Réponse: P = MATLAB construit automatiquement un tableau suffisamment grand pour arriver jusquaux indices spécifiés, et met des zéros partout sauf au terme considéré. Contrairement aux langages classiques, inutile de dimensionner les tableaux à lavance : ils se construisent au fur et à mesure !

3. Extraction de sous-tableaux: (:) Il est souvent utile dextraire des blocs dun tableau existant. Pour cela on utilise le caractère (:). Il faut spécifier pour chaque indice la valeur de début et la valeur de fin. La syntaxe générale est donc la suivante: tableau(début :fin, début :fin) Ainsi pour extraire le bloc on tapera : >> M(1:2,2:3) ans =

3. Extraction de sous-tableaux: (:) On plus, si on utilise le caractère (:) seul, ¸ca veut dire prendre tous les indices possibles. Exemples : Exemples : >> M(1:2,:) ans = >> M(2,:) ans =

3. Extraction de sous-tableaux avec les fonctions tril et triu: tril triu Les fonctions tril et triu extraient respectivement les termes situés sur et au-dessous de la k ieme diagonale, et les termes situés sur et au-dessus de la k ieme diagonale. Soit le tableaux suivant :

3. Extraction de sous-tableaux avec les fonctions tril et triu: >>tril(t,1) ans = >>tril(t,-1) ans = >>tril(t,0) ans =

3. Extraction de sous-tableaux avec les fonctions tril et triu: >>triu(t,1) ans = >>triu(t,-1) ans = >>triu(t) ans =

4. Construction de tableaux par blocs: (:) On plus, si on utilise le caractère (:) seul, ¸ca veut dire prendre tous les indices possibles. Vous connaissez ce principe en mathématiques. Par exemple, à partir des matrices et vecteurs précédemment définis, on peut définir la matrice qui est une matrice 4x4. Pour faire ¸ca sous MATLAB, on fait comme si les blocs étaient des scalaires, et on écrit tout simplement :

4. Construction de tableaux par blocs: >> N=[M V U 0] Avec U = [1 2 3] V=[11;12;13] M = [1 2 3; ; ] N = ou bien en utilisant le caractère >> N=[M V; U 0]

4. Construction de tableaux par blocs: La syntaxe citée précédemment est très utilisée pour allonger des vecteurs ou des matrices, par exemple si je veux ajouter une colonne à M, constituée par V : >> M=[M V] M = Si je veux lui ajouter une ligne, constituée par U : >> M = [M;U] M =

5. Opérations sur les tableaux: 5.1. Addition et soustraction 5.1. Addition et soustraction Les deux opérateurs sont les mêmes que pour les scalaires. A partir du moment ou les deux tableaux concernés ont la même taille. Le tableau résultant est obtenu en ajoutant ou soustrayant les termes de chaque tableau Multiplication, division et puissance terme à terme 5.2. Multiplication, division et puissance terme à terme.*./.^ Ces opérateurs sont notés.*,./ et.^ (attention `a ne pas oublier le point). Ils sont prévus pour effectuer des opérations termes à terme sur deux tableau de même taille.

5. Opérations sur les tableaux: 5.3. Multiplication, division et puissance au sens matriciel 5.3. Multiplication, division et puissance au sens matriciel * Puisque lon peut manipuler des matrices, il parait intéressant de disposer dun multiplication matricielle. Celle-ci se note simplement * et ne doit pas être confondu avec la multiplication terme à terme. A*BA B Il va de soi que si lon écrit A*B le nombre de colonnes de A doit être égal au nombre de lignes de B pour que la multiplication fonctionne. A/B A B La division a un sens vis-à-vis des inverses de matrices. Ainsi A/B représente A multiplié (au sens des matrices) à la matrice inverse de B.

5. Opérations sur les tableaux: 5.3. Multiplication, division et puissance au sens matriciel 5.3. Multiplication, division et puissance au sens matriciel \A\B AB Il existe aussi une division à gauche qui se note \. Ainsi A\B signifie linverse de A multiplié par B. n ème n La puissance n ème dune matrice représente cette matrice multipliée n fois au sens des matrices par elle-même..** Pour bien montrer la différence entre les operateurs.* et *, un petit exemple faisant intervenir la matrice identité multipliée à la matrice

5. Opérations sur les tableaux: 5.3. Multiplication, division et puissance au sens matriciel 5.3. Multiplication, division et puissance au sens matriciel Exemple : la multiplication au sens des matrices : [1 0; 0 1] * [1 2; 3 4] ans = la multiplication terme à terme : [1 0; 0 1].* [1 2; 3 4] ans =

5. Opérations sur les tableaux: 5.4. Transposition 5.4. Transposition () Lopérateur transposition est le caractère () et est souvent utilisé pour transformer des vecteurs lignes en vecteurs colonnes et inversement Synthèse 5.5. Synthèse Le tableau suivant résume les différents operateurs applicables aux matrices.

5. Opérations sur les tableaux:

5. Tableaux (Matrices ) particuliers: Dans le tableaux suivant on trouve quelques fonctions permettent de construire des tableaux correspondant aux matrices usuelles comme: matrice didentité, matrice nulle, ainsi que des matrices utiles dans le domaine danalyse matricielle. eyeoneszeros nm Les fonctions eye, ones et zeros peuvent ˆêtre appelées avec deux arguments entiers n et m.

6. Matrices creuses: Les matrices creuses (sparse matrix) sont des matrices caractérisées par un nombre très important déléments nuls. Dun point de vue informatique, un traitement particulier de ces matrices permet un gain en place mémoire et en coût calculatoire.

V OUS AVEZ DES QUESTIONS ?