Reformat the date and time, and also show nanoseconds using mathlab
Mostra commenti meno recenti
I made a program about the moving object distance calculation,I have problem in finding time to receive and send the difference to be precise in order of nano, how to find the mathlab retrieve data with nanosecond.thx
Risposta accettata
Più risposte (2)
James Tursa
il 22 Mar 2011
The "now" function is only good to about 0.015 sec accuracy. You should not use it for any timing that you need more precisely than that. e.g., run this code (Ctrl-C to stop it):
n = now;
while( true )
m = now;
if( m ~= n )
disp((m-n)*86400);
n = m;
end
end
You will have to get more precise timing some other way. e.g., if you have an OpenMP capable compiler you could get MTIMESX from the FEX and use its omp_get_wtime functionality. e.g.,
n = mtimesx('omp_get_wtime');
while( true )
m = mtimesx('omp_get_wtime');
if( m ~= n )
disp(m-n);
n = m;
end
end
On my system the above returns differences on the order of 1.5e-5 seconds (I presume this is all system dependent), so maybe something like this will work for you. MTIMESX (which admittedly is overkill for your situation) can be found here:
3 Commenti
James Tursa
il 22 Mar 2011
Note that eps(now)*86400, which gives a result in the 1e-5 range, is misleading. The "now" function is *not* that accurate as the above test code will show you.
Paskah Nainggolan
il 31 Mar 2011
Walter Roberson
il 31 Mar 2011
You could multiply the difference by 10^9, but as discussed above that number not be meaningful to within 15000 nanoseconds.
Paskah Nainggolan
il 31 Mar 2011
0 voti
1 Commento
Walter Roberson
il 31 Mar 2011
That is a new question on a different topic; please start a new thread.
Categorie
Scopri di più su Data Acquisition Toolbox Supported Hardware in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!