log
R2026bNatürlicher Logarithmus
Syntax
Beschreibung
gibt den natürlichen Logarithmus ln(x) jedes Elements im Array Y = log(X)X zurück.
Der Bereich der log-Funktion umfasst negative und komplexe Zahlen, die zu unerwarteten Ergebnissen führen können, wenn sie unbeabsichtigt verwendet werden. Für negative und komplexe Zahlen z = u + i*w gibt der komplexe Logarithmus log(z) Folgendes zurück:
log(abs(z)) + 1i*angle(z)
Wenn Sie möchten, dass für negative und komplexe Zahlen Fehlermeldungen anstatt komplexer Ergebnisse zurückgegeben werden, verwenden Sie stattdessen reallog.
Beispiele
Zeigen Sie, dass der natürliche Logarithmus von -1 ist.
log(-1)
ans = 0.0000 + 3.1416i
Eingabeargumente
Eingabearray, angegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable.
Datentypen: single | double | table | timetable
Unterstützung komplexer Zahlen: Ja
Ausgabeargumente
Logarithmus-Werte, zurückgegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable.
Bei positiven reellen Werten von X im Intervall (0, Inf) liegt Y im Intervall (-Inf, Inf). Bei komplexen und negativen reellen Werten von X ist Y komplex. Der Datentyp von Y ist identisch mit dem von X.
Erweiterte Fähigkeiten
Die Funktion log bietet vollständige Unterstützung für Tall-Arrays. Weitere Informationen finden Sie unter Tall-Arrays.
Hinweise zur Verwendung und Einschränkungen:
Wenn der Eingabewert
xreell ist, die Ausgabe jedoch komplex sein sollte, wird die Simulation mit einem Fehler beendet. Zum Generieren des komplexen Ergebnisses machen Sie den Eingabewert komplex, indem Sie ihn alscomplex(x)übergeben.
Hinweise zur Verwendung und Einschränkungen:
Wenn der Eingabewert
xreell ist, die Ausgabe jedoch komplex sein sollte, wird die Simulation mit einem Fehler beendet. Zum Generieren des komplexen Ergebnisses machen Sie den Eingabewert komplex, indem Sie ihn alscomplex(x)übergeben.
Die log-Funktion unterstützt die HDL-Codegenerierung mit nativem Gleitkomma für single- und double-Datentypen. Weitere Informationen finden Sie unter Support for Functions in Math Function Block (HDL Coder).
Die Funktion log bietet vollständige Unterstützung für Thread-basierte Umgebungen. Weitere Informationen finden Sie unter Run MATLAB Functions in Thread-Based Environment.
Die Funktion log unterstützt GPU-Array-Eingaben mit folgenden Verwendungshinweisen und Einschränkungen:
Wenn die Ausgabe der Funktion, die auf der Grafikkarte ausgeführt wird, komplex sein kann, müssen Sie ihre Eingabeargumente explizit als komplex angeben. Weitere Informationen finden Sie unter Work with Complex Numbers on a GPU (Parallel Computing Toolbox).
Weitere Informationen finden Sie unter Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Die Funktion log bietet vollständige Unterstützung für verteilte Arrays. Weitere Informationen finden Sie unter Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Versionsverlauf
Eingeführt vor R2006aDie log-Funktion liefert nun eine bessere Leistung bei der Berechnung natürlicher Logarithmen in doppelter Genauigkeit. Dieser Code berechnet zum Beispiel die natürlichen Logarithmen von 100.000.000 reellen Zahlen im Intervall von 0 bis 1000. Der Code ist etwa 2,8-mal schneller als in vorherigen Versionen.
function t = timingLog x = rand(1,1e8)*1000; y = @() log(x); t = timeit(y); end
Die ungefähren Ausführungszeiten sind:
R2025a: 0,79 s
R2026a: 0,28 s
Die Ausführungszeit des Codes wurde auf einem Testsystem unter Windows® 11 mit einem AMD EPYC™ 74F3-24-Core-Prozessor bei 3,19 GHz und beim Aufrufen der Funktion timingLog gemessen.
Diese Leistungsverbesserung ergibt sich aus Codeänderungen, die auch zu einem leicht veränderten Rundungsverhalten bei Berechnungen in doppelter Genauigkeit führen, was allgemein für genauere Ergebnisse sorgt. Zum Beispiel liefert dieser Code jetzt ein Ergebnis, das auf die 15. Nachkommastelle in langer wissenschaftlicher Notation genau ist.
format longE
Y = log(1.63340913276288)Y =
4.906693231856701e-01Zuvor lieferte derselbe Code dieses Ergebnis.
format longE
Y = log(1.63340913276288)Y =
4.906693231856700e-01Beachten Sie, dass MATLAB® eine dezimale Zahleneingabe wie 1.63340913276288 in den nächstgelegenen darstellbaren Binärwert mit doppelter Genauigkeit konvertiert, der möglicherweise nicht genau der ursprünglichen Dezimalzahl entspricht. Aus diesem Grund kann das erzielte Ergebnis vom Ergebnis einer Berechnung abweichen, die mit der exakten Darstellung der Eingabe durchgeführt wird, obwohl die log-Funktion bei Berechnungen in doppelter Genauigkeit nun eine höhere Genauigkeit aufweist.
Die Funktion log kann die Berechnung mit allen Variablen in einer Tabelle oder einem Timetable ausführen, ohne für den Zugriff auf diese Variablen eine Indizierung zu benötigen. Alle Variablen müssen Datentypen aufweisen, die die Berechnung unterstützen. Weitere Informationen finden Sie unter 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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)