L’imaginaire pur i (i2 = -1) est noté i ou j. Un nombre complexe est donc de la forme z = a + ib ou a + jb. Mais MATLAB, dans ses réponses, donne toujours le symbole i.
>> i^2 ans = -1 >> j^2 ans = -1 > z1 = 4-3i z1 = 4.0000 - 3.0000i
Il n’est plus nécessaire d’écrire le signe de multiplication ‘*’ avant i (ou j) ; on peut noter z = 4 + 2i au lieu de z = 4 + 2*i. Ce signe est, par contre nécessaire avant le nom de variable.
>> im=3;
>> 2+jim
??? Undefined function or variable 'jim'.
>> 2+j*im
ans =
2.0000 + 3.0000i
Il est conseillé d’utiliser la première notation pour éviter toute ambiguïté, surtout si on a défini une variable i à laquelle on a affecté une valeur.
Par exemple, si on définit une variable i à laquelle on affecte la valeur -3,
>> i = -3;
La définition du complexe z sans le signe ‘*’ avant i, donne bien le nombre complexe désiré.
>> z = 4 + 2i z = 4.0000 + 2.0000i
Alors que si l’on utilise le signe ‘*’, i représente la variable précédemment affectée de la valeur -3 au lieu du symbole i des nombres complexes ; dans ce cas, l’instruction précédente revient à une simple opération arithmétique.
>> z = 4 + 2*i z = -2
La conjugué d’un nombre complexe
La conjugué d’un nombre complexe est obtenu par la fonction conj. Considérons le nombre complexe z1.
>> z1 = 4-3i z1 = 4.0000 - 3.0000i
Son conjugué, noté z1c, est :
>> z1c = conj(z1) z1c = 4.0000 + 3.0000i
La conjugué peut aussi se calculer par la transposition du nombre complexe
>> z1' ans = 4.0000 + 3.0000i
Opérations sur les nombres complexes
Nous pouvons aussi effectuer les opérations courantes sur les nombres complexes telles que l’addition, la multiplication, l’élévation à une puissance et la division.
>> z2 = 2+3i z2 = 2.0000 + 3.0000i
Addition de deux complexes
>> z1+z2 ans = 6
Multiplication de deux complexes
>> z1*z2 ans = 17.0000 + 6.0000i >> z1*z1c ans = 25
Division de deux complexes
>> z1/z2 ans = -0.0769 - 1.3846i
Élévation à une puissance
>> z2^3 ans = -46.0000 + 9.0000i
Inverse
>> 1/(1+j) ans = 0.5000 - 0.5000i
Partie imaginaire et partie réelle
La fonction real et imag permettent d’obtenir respectivement les parties réelle et imaginaire d’un nombre complexe.
>> a = real(z1) a = 4 >> b = imag(z1) b = -3
Module et argument
Nous pouvons calculer le module et l’argument d’un nombre complexe à partir de leurs définitions mathématiques.
>> r = sqrt (z1*z1c) r = 5 >> theta = atan (b/a) theta = -0.6435
MATLAB propose les fonctions abs et angle qui permettent d’obtenir directement le module et l’argument d’un complexe.
>> r = abs (z1) r = 5 >> theta = angle (z1) theta = -0.6435
Rappel sur les nombres complexes
Forme algébrique : z = a + ib
Forme trigonométrique : z = [r, theta]
r et theta sont respectivement le module et l’argument de z.
La connaissance de l’une de ces formes permet d’aboutir à l’autre.
>> z = r*(cos(theta)+i*sin(theta)) z = 4.0000 - 3.0000i
Il est aussi possible d’utiliser la notation exponentielle.
>> r*exp(j*theta) ans = 4.0000 - 3.0000i
Comme on peut définir des tableaux ou des matrices de réels, on peut aussi définir des tableaux et des matrices de complexes.
>> z = [z1 0; z2 z1+z2] z = 4.0000 - 3.0000i 0 2.0000 + 3.0000i 6.0000
Transformation en vecteur colonne
>> z(:) ans = 4.0000 - 3.0000i 2.0000 + 3.0000i 0 6.0000
Somme de tous les éléments de la matrice
>> sum(sum(z)) ans = 12
Pour aller plus loin, je vous conseille ce livre.