Mam program uruchamiający pętlę Chcę mieć dwa liczniki czasu, jeden dla pętli, który powie mi, jak log zrobił jedną iterację pętli, a drugą dla całego programu. Zgodnie z moją najlepszą wiedzą, tic
i toc
będzie działać tylko raz.Kilka liczników czasu w MATLAB
Odpowiedz
Znasz tylko z tego tic toc składnię:
tic; someCode; elapsed = toc;
Ale jest też inna składnia:
start = tic; someCode; elapsed = toc(start);
Druga składnia sprawia, że sama pomiar czasu, ale umożliwia jednoczesne uruchomienie więcej niż jednego stopera. Możesz przypisać wyjście tic do zmiennej tStart, a następnie użyć tej samej zmiennej podczas wywoływania toc. MATLAB mierzy czas, jaki upłynął między poleceniem tic a powiązanym z nim toc i wyświetla czas, który upłynął w sekundach. Ta składnia umożliwia czas wielu jednoczesnych operacji, w tym synchronizacji operacji zagnieżdżonych (matlab documentation of tic toc).
Oto jak z niego korzystać w twoim przypadku. Powiedzmy, że jest to kod:
for i = 1:M
someCode;
end
Włóż tic i toc tak:
startLoop = tic;
for i = 1:N
startIteration = tic;
someCode;
endIteration = toc(startIteration);
end
endLoop = toc(startLoop);
Można również użyć powyższej składni do tworzenia wektorowych dla których element ego jest pomiar czasu dla i-tej iteracji. W ten sposób:
startLoop = tic;
for i = 1:N
startIteration(i) = tic;
someCode;
endIteration(i) = toc(startIteration(i));
end
endLoop = toc(startLoop);
Można użyć tic toc i operacji czasowych zagnieżdżone, z pomocą Matlab dla tic:
tStart=tic; any_statements; toc(tStart);
sprawia, że ten sam pomiar czasu, ale pozwala Ci możliwość uruchomienia więcej niż jeden stoper równocześnie. Możesz przypisać wyjście tic do zmiennej tStart, a następnie użyć tej samej zmiennej podczas wywoływania toc. MATLAB mierzy czas, jaki upłynął między poleceniem tic a powiązanym z nim toc i wyświetla czas, który upłynął w sekundach. Taka składnia pozwala czasie wielu operacji równoległych, w tym harmonogramu zagnieżdżonych operacji
nie jestem w stanie spróbować tego teraz, ale powinieneś być w stanie korzystać z wielu tic
i toc
sprawozdań jeśli przechowywania wartości tic
do zmienne.
Przeczytaj Matlab's documentation na tej stronie jest nawet sekcja na temat ich zagnieżdżania. Tutaj jest szorstka przykład:
tStartOverall = tic;
...
tStartLoop = tic;
<your loop code here>
tEndLoop = toc(tStartLoop);
...
tEndOverall = toc(tStartOverall);
- 1. Uzyskaj liczbę (aktywnych) liczników czasu w pętli zdarzeń Node.js
- 2. Wypisz kilka znaczników czasu w ant
- 3. Możliwe jest kilka okien poleceń MATLAB?
- 4. dzielenie macierzy matlab na kilka równych części
- 5. Złożoność czasu mnożenia macierzy w MATLAB
- 6. Najbardziej efektywny sposób narysować kilka linii 3d w Matlab
- 7. Jak pokazać kilka obrazów w tym samym figue - Matlab
- 8. Ponad 120 liczników w hadoop
- 9. Jak używać liczników CSS na listach bez resetowania liczników?
- 10. Aktualizacja liczników przez Hibernate
- 11. Nieskończona lista nieskończonych liczników
- 12. Unikaj znacznika czasu historii komendy matlab
- 13. Liczba liczników meczów
- 14. Wiele liczników w pojedynczej pętli for: Python
- 15. MATLAB - wykres czasu i częstotliwości wykresu pliku .wav
- 16. Matlab: Wyznaczanie czasu rzeczywistego ROI wybranego przy pomocy IMRECT
- 17. Jak dodać nowy licznik do istniejącej kategorii liczników wydajności bez usuwania starych liczników?
- 18. Używanie liczników wydajności do śledzenia usług Windows
- 19. Wdrażanie sprawnego systemu liczników "nieprzeczytanych komentarzy"
- 20. Lista wszystkich liczników wydajności dla kategorii
- 21. Uprawnienia wymagane do zwiększania liczników wydajności
- 22. Android Studio - uruchom kilka przypadków testowych kilka razy w pętli
- 23. Negatywne zer w Matlab
- 24. Krąg wydruku w MATLAB
- 25. Matlab w C C++ i C C++ w matlab
- 26. Niejednolita oś imagesc() w Matlab
- 27. Pasek postępu tekstu w Matlab
- 28. Kilka pytań o sortowanie
- 29. Czy randperm() może generować kilka losowych permutacji?
- 30. Tworzenie wykresów powolnych liczników z prometeuszem i grafanem