Plotting and calculating difference

1 Ansicht (letzte 30 Tage)
Jw
Jw am 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 Kommentare
Walter Roberson
Walter Roberson am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
Jw
Jw am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by