Borrar filtros
Borrar filtros

convert time from sample to second

10 visualizaciones (últimos 30 días)
cmcm
cmcm el 27 de Jun. de 2014
Comentada: cmcm el 28 de Jun. de 2014
hello .. i have a simulink program, the solver is a fixed step type (with sample time 0.001), when the program run, i have a result as shown in figure below (the time axis in sample not second) ,,, this 300 sample is almost equal 10 real seconds, how to convert the time axis to seconds instead of samples (by using plot command if possible) ?
  1 comentario
Image Analyst
Image Analyst el 28 de Jun. de 2014
Original question (in case he edits it away like the others)
hello .. i have a simulink program, the solver is a fixed step type (with sample time 0.001), when the program run, i have a result as shown in figure below (the time axis in sample not second) ,,, this 300 sample is almost equal 10 real seconds, how to convert the time axis to seconds instead of samples (by using plot command if possible) ?

Iniciar sesión para comentar.

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 27 de Jun. de 2014
te=0.001
xt=get(gca,'xtick')
set(gca,'xticklabel',arrayfun(@num2str,xt*te,'un',0))
  4 comentarios
cmcm
cmcm el 27 de Jun. de 2014
this is the new figure... and it is absolutely wrong because now i have a time axis with 0.3 second and it should be 10 seconds
cmcm
cmcm el 27 de Jun. de 2014
Editada: Image Analyst el 27 de Jun. de 2014
this is the program i used to get this figure
t1=t(1:300000);......
>> tr1=travel(1:300000,1);........
>> tr2=travel(1:300000,2);.......
>> plot(t1,tr1,t1,tr2).........
and then i write your code ... the previous figure is what i get ...
i use the plot command after the simulink run for almost 10 seconds

Iniciar sesión para comentar.


Daniel kiracofe
Daniel kiracofe el 28 de Jun. de 2014
Well, if the time step is 0.001s and you have 300 samples, then 300 * 0.001 = 0.3, which is not 10s. So either you don't really have 0.001s time step, or you don't really have 10s of data. But if you are really sure that 300 samples = 10s, then you could just use linspace:
time = linspace(0, 10, 300); plot(time, data);
  1 comentario
cmcm
cmcm el 28 de Jun. de 2014
yes, if we calculate it, it will be 0.3 sec. ... but this is not the real time, i count the seconds when the program run and the 300 samples was almost 10 real second :(

Iniciar sesión para comentar.

Categorías

Más información sobre Simulink en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by