Effacer les filtres
Effacer les filtres

Plotting and calculating difference

3 vues (au cours des 30 derniers jours)
Jw
Jw le 13 Jan 2012
I have 2 matrix containing data of timestamps, 1 X Nth matrix I loaded them into the workspace and i want to plot the data on x axis and in the same figure. their size of matrix are different.
load('observations.mat');
load('control-times.mat');
index=880;
timestamp = ctrl_times(:,index:end);
obser_time = observation_times(:,1:end);
fig=figure;
hold on; axis equal;
plot(timestamp(1,:),'b*');
After plotting, how do i calculate the difference between data of the 2 matrices?
For example 1st data of timestamp - 1318496774.36108
however obser_time data starts from column 140 - 1318496774.90708
I would require looping if i am not wrong.
Thanks in advance.
  6 commentaires
Walter Roberson
Walter Roberson le 13 Jan 2012
Okay, so now please expand on what you mean by obser_time data starts from column 140 ? Do you mean the first 139 columns are NaN, or do you mean that column 1 of obser_time logically corresponds to column 140 of timestamp ?
Jw
Jw le 13 Jan 2012
basically what i need to do is plot the timestamp and obser_time and compare them. 1st to 139th values of obser_time are zeros.
I need to compare the both data. If there is a obser_time data that occurs before the next timestamp, find the difference in the time between the obser_time data and the previous timestamp.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Jan 2012
Hours to find out what you really wanted to do. Less than a minute to solve once that was known.
plot(timestamp, 'b*', obser_time, 'r+'); %your plot
padtimestamp = [0 timestamp inf];
[counts, binnums] = histc(obser_time, padtimestamp);
timestampdiff = obser_time - padtimestamp(binnums); %compared
  4 commentaires
Jw
Jw le 17 Jan 2012
Now that i have gotten the difference between the obser_time to the previous timestamp, is it possible to also get the difference between the obser_time to the next timestamp??
Walter Roberson
Walter Roberson le 17 Jan 2012
nextdiff = padtimestamp(binnums+1) - obser_time;
Note if there is an observ_time which is exactly the same or greater than the largest timestamp, then this nextdiff time will be infinity.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by