Aller au contenu principal

Qu'est-ce que la fonction COMPLEXE.LOG2 ?

Définition
La fonction COMPLEXE.LOG2 retourne le logarithme en base 2 d'un nombre complexe fourni au format texte "a+bi" ou "a+bj". Le résultat est lui-même un nombre complexe : la partie réelle est le log₂ du module, la partie imaginaire encode l'argument.

COMPLEXE.LOG2 (IMLOG2 en anglais) te sert quand tu manipules des grandeurs complexes qui se raisonnent en base 2 : traitement du signal, calcul de capacité de canal ou analyse de complexité algorithmique, des domaines où une échelle en bits parle plus qu'un module brut.

Concrètement, c'est elle qu'on utilise en traitement du signal numérique pour analyser des spectres en échelle logarithmique après transformée de Fourier, en télécommunications pour calculer des capacités de canal selon le théorème de Shannon, et en algorithmique pour analyser la complexité en base 2. Quand les coefficients complexes d'une FFT doivent être mis à l'échelle logarithmique, COMPLEXE.LOG2 fait le calcul en une seule cellule.

Syntaxe

=COMPLEXE.LOG2(nombre_complexe)

Clique sur un argument pour aller à son explication.

Le logarithme de "0+0i" n'est pas défini et renvoie #NOMBRE!. Pour un nombre réel positif, la partie imaginaire du résultat est nulle, et Excel la retire de l'affichage : COMPLEXE.LOG2("8+0i") donne 3, et non "3+0i".

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction COMPLEXE.LOG2

1

nombre_complexe

: le nombre complexe pour lequel tu veux calculer le logarithme en base 2

Il peut être fourni sous forme de texte ("3+4i"), comme référence à une cellule contenant un complexe, ou comme résultat d'une autre fonction complexe (par exemple COMPLEXE(3; 4)).

Le format doit être "a+bi" ou "a+bj", suffixe en minuscule. "3+4i" est valide ; "3+4I" génère #NOMBRE!. Les espaces entre les composantes sont tolérés : "3 + 4 i" se calcule sans erreur.

Attention : Le logarithme n'est pas défini en 0. Si tes données peuvent contenir "0+0i", entoure la formule dans SIERREUR : =SIERREUR(COMPLEXE.LOG2(A1); "indéfini").

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer le logarithme binaire d'une impédance avec la fonction COMPLEXE.LOG2

Tes impédances s'étalent sur plusieurs ordres de grandeur et tu veux les situer sur une échelle où chaque pas vaut un doublement, la lecture la plus naturelle quand les valeurs se comparent en rapports plutôt qu'en écarts. Sur une échelle linéaire, ce rapport devient illisible dès que les composants s'éloignent. La fonction COMPLEXE.LOG2 fait la conversion directement depuis l'impédance complète.

Les étapes
  1. 1
    Dans une cellule, écris =COMPLEXE.LOG2(.
  2. 2
    En 1er argument : clique sur la cellule qui contient l'impédance, B2. Elle porte la chaîne 3+4i, écrite au format texte que la fonction sait lire. Comme la formule pointe la cellule et non la chaîne elle-même, corriger la mesure sur cette ligne suffit à remettre le logarithme à jour.
  3. 3
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas sur les autres composants. Chaque impédance rend alors son propre logarithme au format a+bi, comme 2,42899049756379-0,548954663286635i pour le composant Z-02.
Au final, ta formule devrait ressembler à ça :=COMPLEXE.LOG2(B2)
Explication
La partie réelle 2,32192809488736 est le logarithme binaire du module 5, c'est-à-dire le nombre de doublements qui séparent 1 ohm de cette impédance. La partie imaginaire 1,33780421245098 reprend le déphasage, mais ramené à l'échelle de la base 2 (ce n'est donc plus une valeur en radians).
Exemple 2

Comment compter les doublements d'une impédance avec la fonction COMPLEXE.LOG2

Tu veux classer tes composants par ordre de grandeur plutôt que par valeur brute, pour repérer d'un coup d'œil ceux qui pèsent le double ou le quadruple des autres. Le logarithme binaire répond exactement à cette question, mais tel quel il rend un résultat complexe dont tu ne peux rien faire dans un tri ou un graphique. La fonction COMPLEXE.LOG2, réduite à sa partie réelle, donne le nombre attendu.

Les étapes
  1. 1
    Dans une cellule, écris =COMPLEXE.REEL(.
  2. 2
    En 1er argument : écris le logarithme binaire dont tu veux la partie réelle et referme-le, COMPLEXE.LOG2(B2). Cet appel porte sur l'impédance 3+4i du composant Z-01 et rend un résultat lui aussi complexe, écrit au format texte. La fonction COMPLEXE.REEL a besoin de cette écriture complète pour en tirer un nombre.
  3. 3
    Ferme la parenthèse de la fonction COMPLEXE.REEL et appuie sur Entrée. Celle de la fonction COMPLEXE.LOG2 a déjà été refermée à l'étape précédente. Recopie ensuite la formule vers le bas, pour que chaque composant reçoive son nombre de doublements.
Voici la formule que tu obtiens à la fin :=COMPLEXE.REEL(COMPLEXE.LOG2(B2))
Explication
La partie réelle isolée dit combien de fois il faut doubler 1 ohm pour atteindre le module de l'impédance : 2,32192809488736 pour un module de 5, qui tombe donc entre 4 et 8 ohms, soit entre deux et trois doublements. Le déphasage est écarté avec la partie imaginaire, puisqu'il ne pèse pas sur cette grandeur.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction COMPLEXE.LOG2

Avec COMPLEXE.LOG2, presque tous les ratés viennent de la chaîne que tu lui passes. Un caractère parasite comme l'étoile de "3+4*i", ou un suffixe en majuscule, suffit à déclencher #NOMBRE!. Un espace, en revanche, ne gêne pas : "3 + 4i" se calcule exactement comme "3+4i".

L'autre cas, plus mathématique, c'est "0+0i" ou "0" : le logarithme de zéro tend vers l'infini, donc tu récupères #NOMBRE!. Et si ton résultat te paraît juste mais décalé, vérifie que tu n'as pas confondu la base avec COMPLEXE.LN (base e) ou COMPLEXE.LOG10 (base 10).

Format invalide du nombre complexe : #NOMBRE!

=COMPLEXE.LOG2("3+4*i") et =COMPLEXE.LOG2("3+4I") génèrent #NOMBRE! car les caractères parasites et les suffixes en majuscule ne sont pas acceptés dans la notation complexe d'Excel. =COMPLEXE.LOG2("3 + 4i") fonctionne, en revanche.

Solution : Supprime tout caractère non standard et garde le suffixe en minuscule : utilise "3+4i" ou "3+4j". Si tes données viennent d'une importation, nettoie les chaînes avec SUBSTITUE avant de les passer à COMPLEXE.LOG2.

Logarithme de zéro : #NOMBRE!

=COMPLEXE.LOG2("0+0i") et =COMPLEXE.LOG2("0") génèrent #NOMBRE! car le logarithme de 0 n'est pas défini mathématiquement (il tend vers moins l'infini).

Solution : Protège ton calcul avec SIERREUR : =SIERREUR(COMPLEXE.LOG2(A1); "indéfini"). Si un zéro est un cas métier possible, traite-le en amont avec un test conditionnel avant d'appeler la fonction.

Confusion entre COMPLEXE.LN, COMPLEXE.LOG10 et COMPLEXE.LOG2

Excel propose trois fonctions de logarithme complexe, et choisir la mauvaise base donne des résultats faux. COMPLEXE.LN utilise la base e, COMPLEXE.LOG10 la base 10, COMPLEXE.LOG2 la base 2.

Solution : Choisis ta base selon le contexte : utilise COMPLEXE.LOG2 pour tout ce qui touche aux bits et à l'informatique, COMPLEXE.LN pour les mathématiques pures, COMPLEXE.LOG10 pour les décibels. En cas de doute sur la base utilisée par une source externe, vérifie le résultat avec une valeur connue comme "2+0i", qui doit donner 1 en base 2 (Excel n'affiche pas de partie imaginaire nulle).

FAQ

Questions fréquentes

Le logarithme en base 2 d'un complexe z = a+bi est défini comme ln(z) / ln(2), où ln(z) = ln(|z|) + i·arg(z). La partie réelle du résultat vaut log₂(|z|) (log₂ du module) et la partie imaginaire vaut arg(z) / ln(2). Excel fait ce calcul en une seule cellule.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction COMPLEXE.LOG2 : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir