Hauptinhalt

tic

Starten der Stoppuhr

Beschreibung

Die Funktionen tic und toc arbeiten zusammen, um verstrichene Zeit zu messen. Die tic-Funktion zeichnet die aktuelle Zeit auf und die toc-Funktion verwendet den aufgezeichneten Wert, um die verstrichene Zeit zu berechnen.

Beispiel

timerVal = tic speichert die aktuelle Zeit in timerVal, so dass Sie sie explizit an die toc-Funktion übergeben können. Die Übergabe dieses Werts ist nützlich, wenn tic zur Zeitmessung verschiedener Teile desselben Codes mehrmals aufgerufen wird. timerVal ist eine Ganzzahl, die nur für die toc-Funktion von Bedeutung ist.

Beispiel

Beispiele

alle reduzieren

Messen Sie die Zeit, die benötigt wird, um zwei Zufallsmatrizen zu erstellen.

tic
A = rand(12000,4400);
B = rand(12000,4400);
toc
Elapsed time is 1.471892 seconds.

Messen Sie die seit einem Aufruf der tic-Funktion verstrichene Zeit an verschiedenen Stellen des Programms.

tic
A = rand(12000,4400);
B = rand(12000,4400);
toc
Elapsed time is 1.352733 seconds.
C = A.*B;
toc
Elapsed time is 1.543145 seconds.

Verwenden Sie ein Paar von tic- und toc-Aufrufen, um die Gesamtzeit zu ermitteln, die für die elementweise Matrixmultiplikation benötigt wird. Verwenden Sie ein weiteres Paar, um die Gesamtlaufzeit Ihres Programms zu ermitteln.

tStart = tic;           % pair 2: tic
n = 10;
T = zeros(1,n);
for i = 1:n
    A = rand(12000,4400);
    B = rand(12000,4400);
    tic         % pair 1: tic
    C = A.*B;
    T(i)= toc;  % pair 1: toc
end
tMul = sum(T)
tMul = 
0.6732
tEnd = toc(tStart)      % pair 2: toc
tEnd = 
14.4350

Die Variable tMul enthält die gesamte für die Multiplikation aufgewendete Zeit. tEnd gibt die ab dem Aufruf der tic-Funktion zu Beginn des Programms verstrichene Zeit an.

Tipps

  • Aufeinanderfolgende Aufrufe der tic-Funktion überschreiben die intern aufgezeichnete Startzeit.

  • Die Funktion clear setzt die durch einen tic-Funktionsaufruf aufgezeichnete Startzeit nicht zurück.

  • In manchen Fällen laufen Programme zu schnell, als dass tic und toc nützliche Daten liefern könnten. Wenn Ihr Code schneller als 1/10 Sekunde ist, sollten Sie in Betracht ziehen, ihn in einer Schleife zu messen und dann den Durchschnitt zu bilden, um die Zeit für einen einzelnen Durchlauf zu ermitteln. Weitere Informationen finden Sie unter Messen der Leistung Ihres Codes.

  • Die folgenden Aktionen führen zu einer unerwarteten Ausgabe:

    • Zeitmessung von timeit mithilfe von tic und toc
    • Verwendung von tic und toc innerhalb einer Funktion, deren Ausführungszeit von timeit gemessen wird

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a