محاسبه فاصله زمانی بین دو زمان مختلف (زمان ها به صورت بردار تاریخ (Date Vector) (مشابه بردار به دست آمده از دستور clock))، با دستور etime ، در متلب (MATLAB)
همان طور که می دانید، دستور clock در متلب (MATLAB)، یک بردار تاریخ (Date Vector) را به شکل کلی زیر برمی گرداند :
یعنی :
ما اگر دو بردار تاریخ (Date Vector)، به شکل کلی بالا داشته باشیم، آنگاه می توانیم از دستور etime برای محاسبه فاصله زمانی بین آن دو زمان مختلف، استفاده نماییم.
دستور etime ، میزان اختلاف زمانی را بر اساس واحد ثانیه برمی گرداند.
دقت محاسبه، 0.01 ثانیه می باشد.
به مثال زیر توجه کنید :
close all
clc
format shortg
t1 = clock
A = rand(20000,1);
fft(A);
t2 = clock
E = etime(t2,t1)
format
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
ابتدا دستور format را به صورت زیر به کار برده ایم تا مقادیر به شکل بهتری در خروجی نمایش داده شوند :
و البته در آخر کدها، دستور format را دوباره به کار برده ایم تا تنظیمات آن به حالت پیش فرض برگردد :
زمان فعلی را با دستور clock به دست آورده و در یک متغیر با نام t1 ذخیره می کنیم :
سپس یک سری محاسبات زمان بر دلخواه را اجرا می نماییم (دستور rand برای ساخت یک ماتریس با عناصر تصادفی و دستور fft برای گرفتن تبدیل فوریه (Fast Fourier Transform) می باشد) :
fft(A);
سپس زمان فعلی را با دستور clock به دست آورده و در یک متغیر با نام t2 ذخیره می کنیم :
در آخر، دستور etime را برای محاسبه فاصله زمانی بین آن دو زمان ذخیره شده، به کار می بریم :
نتیجه :
2018 6 25 13 41 51.457
t2 =
2018 6 25 13 41 51.46
E =
0.003
close all
clc
format shortg
str = ‘August 23, 2016 10:45:00’;
t1 = datevec(str,’mmmm dd, yyyy HH:MM:SS’)
t2 = clock
E = etime(t2,t1)
format
نتیجه :
2016 8 23 10 45 0
t2 =
2018 6 25 14 7 11.868
E =
5.7987e+07