Maîtriser les opérateurs MATLAB : Arithmétiques, Logiques, Bitwise et Ensemblistes
Un opérateur indique au compilateur d'effectuer une manipulation mathématique ou logique. MATLAB opère principalement sur matrices/tableaux : les opérateurs fonctionnent sur scalaires et non-scalaires.
Opérateurs arithmétiques
Deux types :
- Opérations matricielles : Algèbre linéaire standard.
- Opérations sur tableaux (array) : Élément par élément (1D et multidimensionnel).
Le point . différencie opérateurs matriciels et tableaux (sauf + et - identiques).
| N° | Opérateur & Description | |
|---|---|---|
| 1 | + Addition ou plus unaire. A+B additionne A et B. Même taille sauf si l'un est scalaire. | |
| 2 | - Soustraction ou moins unaire. A-B soustrait B de A. Même taille sauf scalaire. | |
| 3 | * Multiplication matricielle. C = A*B produit algébrique. Colonnes de A = lignes de B (non-scalaire). | |
| 4 | .* Multiplication élément par élément. A.*B produit élément par élément. Même taille sauf scalaire. | |
| 5 | / | Division droite matricielle. B/A ≈ B*inv(A). Précisément B/A = (A'\B')'. |
| 6 | ./ Division droite élément par élément. A./B = A(i,j)/B(i,j). Même taille sauf scalaire. | |
| 7 | \ Division gauche matricielle. A\B ≈ inv(A)*B (calculé différemment). Résout AX=B. Avertissement si A mal conditionnée. | |
| 8 | .\ Division gauche élément par élément. A.\B = B(i,j)/A(i,j). Même taille sauf scalaire. | |
| 9 | ^ Puissance matricielle. X^p = X puissance p (scalaire). Entier : carrés répétés. Négatif : inversion d'abord. Autre : valeurs/vecteurs propres. | |
| 10 | .^ Puissance élément par élément. A.^B = A(i,j)^B(i,j). Même taille sauf scalaire. | |
| 11 | ' Transposition matricielle. A' = transposée conjuguée pour complexes. | |
| 12 | .' Transposition tableau. A.' = transposée sans conjugaison. |
Opérateurs relationnels
Fonctionnent sur scalaires et non-scalaires. Comparaisons élément par élément, retournent tableau logique (1=vrai, 0=faux).
| N° | Opérateur & Description |
|---|---|
| 1 | < Inférieur à |
| 2 | <= Inférieur ou égal |
| 3 | > Supérieur à |
| 4 | >= Supérieur ou égal |
| 5 | == Égal à |
| 6 | ~= Différent de |
Opérateurs logiques
- Élément par élément :
&(ET),|(OU),~(NON) sur tableaux logiques. - Court-circuit :
&&(ET),||(OU) sur scalaires/expressions logiques.
Opérations bitwise
Opèrent bit à bit. Tables de vérité pour &, |, ^ :
| p | q | p & q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Exemple : A=60 (0011 1100), B=13 (0000 1101)
A&B = 0000 1100 (12) A|B = 0011 1101 (61) A^B = 0011 0001 (49) ~A = 1100 0011 (-61 en complément à 2)
Fonctions bitwise courantes :
| Fonction | Rôle |
|---|---|
| bitand(a, b) | ET bit à bit |
| bitcmp(a) | Complément bit à bit |
| bitget(a, pos) | Bit à la position pos |
| bitor(a, b) | OU bit à bit |
| bitset(a, pos) | Définit bit à pos |
| bitshift(a, k) | Décalage gauche de k bits (×2^k). k négatif = décalage droite (÷2^|k|). Bits débordement tronqués. |
| bitxor(a, b) | XOR bit à bit |
| swapbytes | Inverse ordre octets |
Opérations ensemblistes
Fonctions pour union, intersection, appartenance, etc.
| N° | Fonction & Description | |
|---|---|---|
| 1 | intersect(A,B) Intersection : valeurs communes à A et B, triées. | |
| 2 | intersect(A,B,'rows') Traite lignes comme entités : lignes communes. | |
| 3 | ismember(A,B) Tableau logique taille A : 1 si élément de A dans B. | |
| 4 | ismember(A,B,'rows') Vecteur logique : 1 si ligne de A dans B. | |
| 5 | issorted(A) | 1 si A trié (A == sort(A)). Vecteur ou cell array de chaînes. |
| 6 | issorted(A, 'rows') 1 si lignes de matrice A triées (A == sortrows(A)). | |
| 7 | setdiff(A,B) Différence : valeurs dans A pas dans B, triées. | |
| 8 | setdiff(A,B,'rows') Lignes de A pas dans B, triées. 'rows' non supporté pour cell arrays. | |
| 9 | setxor OU exclusif ensembliste. | |
| 10 | union Union de deux tableaux. | |
| 11 | unique Valeurs uniques dans tableau. |
MATLAB
- Opérateurs C# — Guide complet des opérateurs en C#
- Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
- Maîtriser les opérateurs en programmation C : Guide complet
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Guide complet des opérateurs C : Types, fonctions et exemples
- MATLAB : Aperçu complet de l'environnement de calcul numérique de référence
- Comprendre les variables dans MATLAB : Bases et exemples
- Commandes MATLAB essentielles pour un calcul efficace