outils de programmation

30
OUTILS DE PROGRAMMATION Mr. BENDIB. I MAA, LAMIS Laboratory, Université de Tébessa

Upload: others

Post on 23-Jun-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OUTILS DE PROGRAMMATION

OUTILS DE PROGRAMMATION

Mr. BENDIB. IMAA, LAMIS Laboratory, Université de

Tébessa

Page 2: OUTILS DE PROGRAMMATION

Chapitre 2

Page 3: OUTILS DE PROGRAMMATION

Les “objets” de MATLAB

Page 4: OUTILS DE PROGRAMMATION

Valeurs littérales

Page 5: OUTILS DE PROGRAMMATION

• Les valeurs littérales sont les valeurs qu’on peut directement

taper au clavier et qui peuvent être affectées à une variable.

1. Nombres

Les nombres réels et entiers (MATLAB ne distingue pas

entre réels et entiers) sont écrits sous les formes décimales ou scientifiques usuelles :

Exemple : 2, 3.214, 1.21E33, 2.5E-1

Les nombres complexes sont écrits sous la forme a + bi

Exemple : 1+2i

Page 6: OUTILS DE PROGRAMMATION

2. Tableaux de nombres

Les tableaux de nombres réels ou complexes de

dimension un ou deux suivent la syntaxe suivante :

un tableau est délimité par des crochets ;

les éléments sont entrés ligne par ligne ;

les éléments appartenant à la même ligne sont séparés par

des espaces (ou par des virgules) ;

les différentes lignes doivent comporter le même nombre

d’éléments et sont séparées par des points-virgules.

Page 7: OUTILS DE PROGRAMMATION

2. Tableaux de nombres (Suite)

Exemple

Les tableaux :

S’écrivent sous la forme :

[1 2 3 4 ] [1; 2; 3; 4 ] [4 5 6 ; 7 8 9 ; 10 11 12 ] :

1 1 2 3

2 4 5 6

1 2 3 4 3 7 8 9

4 10 11 12

Page 8: OUTILS DE PROGRAMMATION

2. Tableaux de nombres (Suite)>> [1 2 3 4 ]

ans =

1 2 3 4

>> [1; 2; 3; 4 ]

ans =

1234

>> [4 5 6 ; 7 8 9 ; 10 11 12 ]

ans =

4 5 67 8 910 11 12

Page 9: OUTILS DE PROGRAMMATION

2. Tableaux de nombres (Suite)

Remarque : Toutes les lignes doivent contenir le mêmenombre d’éléments,

>> [1 2 ; 1 2 3]??? Error using ==> vertcatCAT arguments dimensions are not consistent.

• Dans la suite, on appellera :

vecteur un tableau de format (n, 1) i.e. ne comportant qu’une seule

colonne ;

liste ou vecteur-ligne un tableau de format (1, n) i.e. ne comportant

qu’une seule ligne ;

tableau un tableau au sens commun du terme, c’est `a dire une

structure organisée en lignes et colonnes.

Page 10: OUTILS DE PROGRAMMATION

3. Caractères et chaines de caractères

On écrit les caractères et les chaines de caractères,

entre apostrophes : ’a’, ’toto’. Matlab considère les

caractères comme des chaines de caractères de longueur

un et identifie chaines de caractères et liste de caractères.

• Exemple :

La liste de caractères [’a’ ’b’ ’c’ ’d’ ’e’] est identique à la

chaines de caractères [’abcde’],

Mieux encore, ’abcde’ ; [’abc’ ’de’] est identique à ’abcde’

Page 11: OUTILS DE PROGRAMMATION

3. Caractères et chaines de caractères (Suite)

>> ['a' 'b' 'c' 'd' 'e']

ans =

abcde

>> ['abcde']

ans =

abcde

>> 'abcde'

ans =

abcde

>> ['abc' 'de']

ans =

abcde

Page 12: OUTILS DE PROGRAMMATION

3. Caractères et chaines de caractères (Suite)

Cet exemple donne un idée du rôle des crochets [ ]. Les crochets sont le

symbole de l’opérateur de concaténation :

concaténation ”en ligne” lorsque le séparateur est un espace ou une

virgule ;

concaténation ”en colonne” lorsque le séparateur est un point-virgule

comme dans les tableaux de nombres (il est alors nécessaire que les

listes de nombres ou de caractères ainsi concaténées possèdent le

même nombre d’eléments).

• Exemple :

>> ['abc' ; 'abcd']

??? Error using ==> vertcat

CAT arguments dimensions are not consistent.

Page 13: OUTILS DE PROGRAMMATION

Variables

Page 14: OUTILS DE PROGRAMMATION

• Une caractéristique de MATLAB est que les variables n’ontpas à être déclarées, leur nature se déduisantautomatiquement de l’objet qui leur est affecté

1. Identificateurs

Les règles de dénomination des variables sont très

classiques :

un identificateur débute par une lettre, suivie de lettres,

de chiffres ou du caractère souligné (_) ;

sa longueur est inferieure ou égale à 31 caractères ;

les majuscules sont distinctes des minuscules.

Page 15: OUTILS DE PROGRAMMATION

3. Identificateurs (Suite)

Voici quelques identificateurs prédéfinis :

ans : Résultat de la dernière évaluation

pi : 3,416..

eps : inf{ ≥ 0 tels que 1 < 1 + }

inf : Infini (1/0)

NaN : “Not a Number” (0/0)

i, j : i et j représentent tous deux le nombre imaginaire unité ( −1)

realmin : plus petit nombre réel positif

realmax : plus grand nombre réel positif

Page 16: OUTILS DE PROGRAMMATION

2. AffectationLe symbole d’affectation de valeur à une variable est le

caractère = .

• Exemple :

>> a = [1 2 3 4 ]

a =

1 2 3 4

>> a = ’abc’

a =

abc

L’exemple ci-dessus montre bien que dans MATLAB les

variables ne sont ni déclarées ni typées.

Page 17: OUTILS DE PROGRAMMATION

Les commandes save, load et clear -fichiers.mat

Page 18: OUTILS DE PROGRAMMATION

Ces commandes permettent d’intervenir directement

sur l’environnement de travail.

save permet de sauver tout ou partie de l’espace de

travail sous forme de fichiers binaires appelés mat-files ou

fichiers .mat :

save : enregistre la totalité de l’espace de travail dans le

fichier matlab.mat ;

save nom de fichier : l’espace de travail est enregistre

dans le fichier nom de fichier ;

Page 19: OUTILS DE PROGRAMMATION

save nom de variable . . . nom de variable : enregistre

les variables indiquées (et les objets qui leurs sont

associes) dans un fichier .mat qui porte le nom de la

première variable ;

save nom de fichier nom de variable . . . nom de variable

: enregistre les variables dans le fichier dont le nom a été

indiqué;

load permet d’ajouter le contenu d’un fichier .mat à

l’espace de travail actuel ;

Page 20: OUTILS DE PROGRAMMATION

Le typage de données

Page 21: OUTILS DE PROGRAMMATION

Matlab effectue ce que l'on appel du typage dynamique.

il adapte le type des operateurs de manière a permettre

aux opérations de s'effectuer.

Cette pratique a des avantages comme des

inconvénients.

Le programmeur n’est pas obliger de définir a l'avance le type

de chaque variable et d'être coincé tout au long de l’exécution

par ce type.

Matlab effectue des conversions de type implicites sans le

signaler, ce qui peut augmenter le temps d'exécution et

parfois mener a des résultats surprenant.

Page 22: OUTILS DE PROGRAMMATION

Il est cependant possible de forcer Matlab a faire des

conversions explicites.

Fonctions de conversions :

cast : Convertir la variable à un type de données différent.

double : Conversion en double précision

int8, int16, int32, int64 : Conversion en entier signé.

single : Conversion en double precision

typecast : Conversion de types de données sans modifier les

données

uint8, uint16, uint32, uint64 : Conversion en entier non signé.

Page 23: OUTILS DE PROGRAMMATION

Fonctions de conversions

>> a=int8(5)

a =

5

>> b=uint8(5)

b =

5

>> c=double(5)

c =

5

>> d=single(5)

d =

5

Page 24: OUTILS DE PROGRAMMATION

Fonctions de conversions

>> whos

Name Size Bytes Class Attributes

a 1x1 1 int8

b 1x1 1 uint8

c 1x1 8 double

d 1x1 4 single

>> a=a*26

a =

127

>> a=a*2.5

a =

13

Page 25: OUTILS DE PROGRAMMATION

Fonctions de conversions

>> b=uint8(5)

b =

5

>> b=b*26

b =

130

>> b=uint8(16)

b =

16

>> b=b*b

b =

255

Page 26: OUTILS DE PROGRAMMATION

Fonctions de conversions

>> h=uint8(266)

h =

255

>> g = cast(h,'int8')

g =

127

>> k= typecast(uint8(15), 'int8')

k =

15

>> k= typecast(uint8(130), 'int8')

k =

-126

Page 27: OUTILS DE PROGRAMMATION

Fonctions de conversion string vers nombre:

• base2dec : Convertir une chaine de base N vers le décimale

• bin2dec : Convertir une chaine binaire vers le décimale

• cast : Convertir la variable à un type de données différent.

• hex2dec : Convertir une chaine hexadécimale vers le décimale

• hex2num : Convertir une chaine hexadécimale vers un reel double

• str2double : Convertir une chaine de caractères vers un reel double

Page 28: OUTILS DE PROGRAMMATION

Fonctions de conversion string vers nombre:

>> base2dec('111',3)

ans =

13

>> bin2dec('010111')

ans =

23

>> hex2dec('3ff')

ans =

1023

>> hex2num('bff')

ans =

-1

Page 29: OUTILS DE PROGRAMMATION

Fonctions de conversion string vers nombre: >> b='1';

>> a=str2double('1')

a =

1

>> whos

Name Size Bytes Class Attributes

a 1x1 8 double

b 1x1 2 char

>> str2double('123.45e7')

ans =

1.2345e+009

Page 30: OUTILS DE PROGRAMMATION

VOUS AVEZ DES

QUESTIONS ?