log
R2026bLogarithme naturel
Syntaxe
Description
renvoie le logarithme naturel ln(x) pour chaque élément dans un tableau Y = log(X)X.
Le domaine de la fonction log inclut des nombres négatifs et complexes, ce qui peut produire des résultats inattendus en cas d’utilisation involontaire. Pour les nombres négatifs et complexes z = u + i*w, le logarithme complexe log(z) renvoie
log(abs(z)) + 1i*angle(z)
Si vous souhaitez que les nombres négatifs et complexes renvoient des messages d’erreur plutôt que des résultats complexes, utilisez plutôt reallog.
Exemples
Arguments d'entrée
Tableau en entrée, spécifié sous forme de scalaire, de vecteur, de matrice, de tableau multidimensionnel, de table ou de timetable.
Types de données : single | double | table | timetable
Support des nombres complexes : Oui
Arguments de sortie
Valeurs de logarithme, renvoyées sous forme de scalaire, de vecteur, de matrice, de tableau multidimensionnel, de table ou de timetable.
Pour des valeurs réelles positives de X dans l’intervalle (0, Inf), Y se trouve dans l’intervalle (-Inf, Inf). Pour des valeurs réelles complexes et négatives de X, Y est complexe. Le type de données de Y est le même que celui de X.
Capacités étendues
La fonction log supporte entièrement les tall arrays. Pour plus d’informations, consultez Tall array.
Notes d’usage et limitations :
Lorsque la valeur d’entrée
xest réelle, mais que la sortie devrait être complexe, la simulation se termine par une erreur. Pour produire le résultat complexe, rendez la valeur en entrée complexe en la passant parcomplex(x).
Notes d’usage et limitations :
Lorsque la valeur d’entrée
xest réelle, mais que la sortie devrait être complexe, la simulation se termine par une erreur. Pour produire le résultat complexe, rendez la valeur en entrée complexe en la passant parcomplex(x).
La fonction log supporte la génération de code HDL en virgule flottante native pour les types de données single et double. Pour plus d’informations, consultez Support for Functions in Math Function Block (HDL Coder).
La fonction log supporte entièrement les environnements basés sur des threads. Pour plus d’informations, consultez Run MATLAB Functions in Thread-Based Environment.
La fonction log supporte les GPU arrays avec les notes d’usage et limitations suivantes :
Si la sortie de la fonction exécutée sur le GPU peut être complexe, vous devez explicitement spécifier que ses arguments en entrée sont complexes. Pour plus d’informations, consultez Work with Complex Numbers on a GPU (Parallel Computing Toolbox).
Pour plus d’informations, consultez Exécuter les fonctions MATLAB sur un GPU (Parallel Computing Toolbox).
La fonction log supporte entièrement les distributed arrays. Pour plus d’informations, consultez Exécuter les fonctions MATLAB avec des tableaux distribués (Parallel Computing Toolbox).
Historique des versions
Introduit avant R2006aLa fonction log est plus performante lorsqu’elle calcule des logarithmes naturels en double précision. Par exemple, le code suivant calcule les logarithmes naturels de 100 000 000 nombres réels dans l’intervalle de 0 à 1 000. Le code est environ 2,8 fois plus rapide que dans les versions précédentes.
function t = timingLog x = rand(1,1e8)*1000; y = @() log(x); t = timeit(y); end
Les temps d’exécution approximatifs sont les suivants :
R2025a : 0,79 s
R2026a : 0,28 s
Le code a été chronométré sur un système de test Windows® 11 équipé d’un processeur AMD EPYC™ 74F3 24 cœurs à 3,19 GHz avec un appel de la fonction timingLog.
Cette amélioration des performances découle de modifications de code qui entraînent également un comportement légèrement différent pour les arrondis en double précision, ce qui donne des résultats généralement plus précis. Par exemple, le code suivant envoie un résultat plus précis jusqu’au 15e chiffre après la virgule décimale, en notation scientifique longue.
format longE
Y = log(1.63340913276288)Y =
4.906693231856701e-01Auparavant, ce même code renvoyait le résultat suivant.
format longE
Y = log(1.63340913276288)Y =
4.906693231856700e-01Notez que MATLAB® convertit un nombre décimal en entrée tel que 1.63340913276288 vers la valeur binaire double précision la plus proche pouvant être représentée, laquelle peut ne pas être exactement égale à l’entrée décimale d’origine. Pour cette raison, même si la fonction log est désormais plus précise en double précision, le résultat peut être différent de celui d’un calcul effectué avec la représentation exacte de l’entrée.
La fonction log peut procéder au calcul sur toutes les variables au sein d’un tableau ou d’une timetable sans indexation pour accéder à ces variables. Toutes les variables doivent avoir des types de données qui supportent les calculs. Pour plus d’informations, consultez Direct Calculations on Tables and Timetables.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)